Frage von TheBigPekka, 24

Arduino - Taster funktioniert nicht?

Hallo, ich habe letztens mal eine Schaltung zusammen gebaut und programmiert, mit der eine Ampel (3 LEDs) umgeschaltet wird, sobald man eine Taste drückt. Ich habe alles richtig verkabelt und programmiert (in zahlreichen Yt Videos wird alles genau gleich gemacht und funktioniert) aber die Ampel schaltet sich immer um, auch wenn ich die Taste gar nicht berühre! Ich habe es bereits mit anderen Tasten ausprobiert, aber immer das gleich Problem. Kann wer mir helfen? ( :
Hier der Code:

Antwort
von xJan45x, 7

Hallo,

Wie bereits geschrieben wurde in der µC Welt werden Taster eigentlich immer gegen Masse gezogen. Er ist also Low Aktiv. Der µC hat intere Pullups gegen die +5(Vcc) Spannung.

Du kannst diese aber auch selber setzten. 10-15 kOhm gegen Vcc. 

Ich selber nehme immer die interen. Ich kann dir leider kein Arduino Code geben. Da ich nur im Atmel Studio programmiere als im C. 

DDRX = (0<<BUTTON) // Das ist wie pinMode(Pin, LOW/HIGH)

PORTX = (1<<BUTTON) //Interer Pullup 

if(!(PINX & (1<<BUTTON) { //Abfrage ob taster gedrückt wird. Muss in die while oder run wie das auch immer beim Arduino heißt.

Für das X steht das Register also B, D, C beim 328p

lg Jan.

Antwort
von NeoExacun, 21

Wie sind deine Taster denn angeschlossen?

In der µC-Welt ist es üblich, Taster gegen Masse schalten zu lassen. Dann müsstest du auf LOW und nicht auf HIGH vergleichen.

Kommentar von TheBigPekka ,

mit LOW statt HIGH gehts auch nicht, also es beachtet wieder nicht den Schalter.

Kommentar von NeoExacun ,

Jetzt hast du meine Frage nicht beantwortet.

Kommentar von TheBigPekka ,

den unteren Teil schon. Zum oberem Teil: Der Taster ist an den 5V  Port angeschlossen, mit einem 10k Ohm Widerstand an den GND Port und an den digital5 Port.

Keine passende Antwort gefunden?

Fragen Sie die Community