ich habe mir von Elegoo das Starter_Set geholt um mal etwas elektronische Luft zu schnuppern. Bis jetzt komme ich ganz gut klar. Ich habe gerade das Joystick-Modul ausprobiert:
Verkabelt habe ich es nach Anleitung:
VCC --> 5V
GND --> GND
SEL --> D2
X-Achse --> A0
Y-Achse --> A1
das mitgelieferte Programm sieht folgendermaßen aus (nur die Belegung der Pins)
// Arduino pin numbers
const int SW_pin = 2; // digital pin connected to switch output
const int X_pin = 0; // analog pin connected to X output
const int Y_pin = 1; // analog pin connected to Y output
Jetzt stellt sich mir folgende Frage: Wie funktioniert das Programm wenn X_pin und Y-pin auf "0" bzw. "1" gemappt sind und sie aber kabelmäßig an "A0" und "A1" angeschlossen sind ? :o
Das Programm funktioniert (es werden nur die X- und Y-werte im Monitor ausgegeben..aber warum ?
@Zahnrad: Die Funktion analogRead() kann ihren Aufrufparameter auf zweierlei Weise auswerten: Entweder als Pinnummer ( A0, A1 ... ) oder als analogen Kanal ( 0,1, ). Dabei ist der Pin A0 == analoger Kanal 0 .
Es macht also für die Funktion keinen Unterschied, ob Du 'A0' oder '0' bzw. 'A1' oder '1' schreibst. Es kann aber schon verwirrend sein - wie man ja sieht . Vor allem, wenn dann noch die Kanalnumer als 'pin' bezeichnet wird. Das ist sicher keine gute Vorlage.
Ich würde bevorzugen, immer die Pinnummer zu nehen. Dann gibt's da keine Verwechslungen Pin<->Kanal.
Ja, es ist besser und eindeutiger, A0 etc. zu benutzen. Und überall steht ja, man soll Pin 0 und 1 gar nicht benutzen, wg. seriell. Das ist für Einsteiger schon recht verwirrend.
MicroBahner:
Wahrscheinlich weil's in der Vorlage so steht?
@Zahnrad: Die Funktion analogRead() kann ihren Aufrufparameter auf zweierlei Weise auswerten: Entweder als Pinnummer ( A0, A1 ... ) oder als analogen Kanal ( 0,1, ). Dabei ist der Pin A0 == analoger Kanal 0 .
Es macht also für die Funktion keinen Unterschied, ob Du 'A0' oder '0' bzw. 'A1' oder '1' schreibst. Es kann aber schon verwirrend sein - wie man ja sieht . Vor allem, wenn dann noch die Kanalnumer als 'pin' bezeichnet wird. Das ist sicher keine gute Vorlage.
Ich würde bevorzugen, immer die Pinnummer zu nehen. Dann gibt's da keine Verwechslungen Pin<->Kanal.