Projekte und Tutorials für Arduino › Foren › StartHardware-Forum › Digitalpins verhalten sich “komisch”
Schlagwörter: Anfänger, Digitalpins
- Dieses Thema hat 7 Antworten und 4 Teilnehmer, und wurde zuletzt aktualisiert vor 3 Jahren, 8 Monaten von Stefan Hermann.
-
AutorBeiträge
-
ShortwireTeilnehmer
Hallo,
Gleich voraus: Ich bin Anfänger.
Habe seit längerem nicht programmiert und nun wieder angefangen.
Mit meinem UNO (Funduino) lief alles wunderbar. LCD, Relais, Servos….Dann begann ein merkwürdiges Verhalten der Digitalpins. –> Erst Keine Funktion
Nach vielem Messen habe ich die Vermutung gehabt, dass ich mein Board geschossen habe.
Also einen neuen UNO bestellt (Arduino orig.)Habe einen einfachen Sketch geschrieben:
LED Soll nur einschalten, wenn ein INPUT auf HIGH steht (Schalter).
LED ist mit einem 200ohm Wiederstand versehen.Wenn der Sketsch geladen ist und der Schalter aus ist, zeigt die LED auch korrekt kein Licht, da keine Spannung am Eingang liegt. –> Alles wie gewollt
Nach ca. 1 Min. geht sie dann einfach an und nicht wieder aus.
Das Schalten des INPUT hat keinen Effekt.Ich zweifle gerade an allem, da ich schon komplexere Sachen gemacht habe.
Kann jemand helfen ?Hier der Sketch:
int ledPin = 4; // LED verbunden mit Digitalpin 13
int inPin = 5; // Button verbunden mit Digitalpin 7
int val = 0; // Variable, um den gelesenen Wert zu speichernvoid setup() {
pinMode(ledPin, OUTPUT); // Setzt den Digitalpin 13 als Outputpin
pinMode(inPin, INPUT); // Setzt den Digitalpin 7 als Intputpin
}void loop() {
val = digitalRead(inPin); // Liest den Inputpin
digitalWrite(ledPin, val); // Setzt die LED auf den Wert des Buttons
}LG
Christoph
Franz-PeterTeilnehmerHast Du PullDown Widerstände an den Tasterpins angeschlossen?
matzem5TeilnehmerHallo, ich hab etwa das gleiche Problem.
Ich bin Anfänger in Sachen Arduino und habe mir das Startetest von Elegoo geholt und war mit der Schaltübung im Lehrbuch nicht so Zufrieden also habe ich etwas recherchiert und mir eine Schaltung und einen Code zusammengesucht und etwas angepasst.Seid bitte Gnädig mit mir :)
Ich wollte eine Ampelschaltung durchführen lassen.
Wenn also der Taster gedrückt wird, dann sollte die Ampelfunktion durchlaufen werden.
aber irgendwie reagiert das Board sobald ich es anfasse oder sogar nur anatme.Den Code und die Schaltung habe ich von hier genommen.
Ich habe aber noch eine Gelbe LED hinzugefügt und den Ablauf etwas angepasst.int green = 9; int yellow = 11; int red = 12; int slot = 2; int pressed = 0; void setup() { pinMode (green, OUTPUT); pinMode (yellow, OUTPUT); pinMode (red, OUTPUT); pinMode (slot, INPUT); } void loop() { digitalWrite (red, HIGH); pressed = digitalRead(slot) ; if(pressed == HIGH) { delay(1000); digitalWrite(red, HIGH); digitalWrite(yellow, HIGH); delay(1000); digitalWrite(red, LOW); digitalWrite(yellow, LOW); digitalWrite (green, HIGH); delay(6000); digitalWrite(yellow, HIGH); delay(1000); digitalWrite(green, LOW); digitalWrite(yellow, LOW); digitalWrite(red, HIGH); } }
Vielleicht könnt ihr mir Helfen ob es am Code oder an der Schaltung liegt, dass vllt mein Board Kaputt ist.
Stefan HermannAdministratorHallo matzem5,
vielen Dank für deine Frage. Ich hätte die gleiche Rückfrage wie bei Christoph: Hast du das Kabel vom Button zum Pin 2 auch über einen Widerstand (1 – 100 kOhm) mit dem GND verbunden? Ich hab dazu hier schon mal was geschrieben: https://starthardware.org/arduino-und-taster/
Ich hoffe, das hilft dir weiter.
Liebe Grüße
Stefan
matzem5TeilnehmerDanke für eure schnellen Antworten.
Also ich vermute, dass ich es zum einen falsch verbunden habe aber auf der anderen Seite, brauche ich das Steckboard oder den Arduino nur anheben (Auch wenn der Taster garnicht verbunden ist oder steckt) und schon wird das Programm Ausgeführt so wie es da steht…
Was ja auf der anderen Seite eine schöne Erfahrung ist so als Anfänger :)Danke trotzdem :)
werde wohl weiter im Lehrbuch gehen und da mal weiter gucken und etwas später vllt ein neues Board bestellen.
Noch einen schönen Abend an alle
Stefan HermannAdministratorHi matzem5,
das klingt wirklich danach, als ob der Pull-Down fehlt oder vielleicht zu groß oder zu klein ist. 1 kOhm – 100 kOhm wären gut.
Ansonsten guck dir mal das Beispiel hier an. Vielleicht klappt das besser für dich: https://starthardware.org/ampelanlage-mit-arduino/
Liebe Grüße
Stefan
matzem5TeilnehmerDanke sehr anscheinend lag es wirklich am Pull_Down…
Vielleicht um für mich dieses Topic zu schließen und ein neues zu finden oder zu öffnen :)
mein Ziel ist es vllt. DAS hier nachzubauen.
Mit Code und Allem, gibt es dazu schon ein Forum oder glaubt ihr das ist zu aufwändig um es nachzubauen?
Schönen Abend noch
MatzeM5
Stefan HermannAdministratorWow. Die Teile sind ja cool. Bleib am Ball, dann bekommst du das hin! Technisch ist es auf jeden Fall möglich. Später vielleicht lieber mit ESP8266 (https://starthardware.org/arduino-wifi-mit-dem-esp8266-als-arduino/), aber die sind noch günstiger als das Arduino. Mach einfach einen Schritt nach dem anderen :-)
Liebe Grüße
Stefan
-
AutorBeiträge