Zitat Zitat von Reeper
..Alle Taster hängen an einer Signalleitung, kann ich für diese Signalleitung nur eine Funktion programmieren oder hat der Controller für jeden Taster eine seperate Funktion zum programmieren...
...Das mit dem Spannungsteiler ist logisch, aber kann nun der Microcontroller etwas damit anfangen und diese Taster unterscheiden ?
Auch wenn es im ersten Moment nicht so einleuchtend erscheint, aber genau das soll diese Schaltung bewirken.
Die underschiedlichen Wiederstände sind für den Analogwandler als unterschiedliche Spannung zu messen. Damit nich jeder das Rad neu erfinden muss, wird zum ASURO eine Bibliothek von sinnvollen und nützlichen Funktionen geliefert. Eine davon heist PollSwitch(). Diese liefert dir dann für jeden betätigten Taster einen vordefinierten Wert.
Als Beispiel einen Ausschnitt aus dem Selbstest des ASURO. Du kannst hier sehen wie jeder Taster eine andere Aktion auslöst.
Zu deiner Frage ob sich auch noch zusätzliche Taster parallel zu den vorhandenen anbringen lassen - im Prinzip JA (aber warum). Du hast halt keine Möglichkeit festzustellen, ob der Orginal oder dein zusatz Taster betätigt wurde.

/* ----- Switch Test ---- */
/* K1 -> Status LED Green */
/* K2 -> Status LED RED */
/* K3 -> Line LED */
/* K4 -> Break LED Left */
/* K5 -> Break LED Rigth */
/* K6 -> Motor Left */
/* ---------------------- */
void SwitchTest(void)
{
unsigned char sw,tmp;
MotorDir(FWD,BREAK);

sw = PollSwitch();
StatusLED(OFF);
FrontLED(OFF);
BackLED(OFF,OFF);
MotorSpeed(0,0);
tmp = 0;

if (sw & 0x01) MotorSpeed(200,0);
if (sw & 0x02) {
BackLED(OFF,ON);
tmp = ON;
}
if (sw & 0x04) BackLED(ON,tmp);
if (sw & 0x0 FrontLED(ON);
if (sw & 0x10) RED_LED_ON;
if (sw & 0x20) GREEN_LED_ON;
}
/* END Switch Test ------------------------------ *