Moin,
Ich habe zum testen den Arduino folgenden Programm auf gespielt. Aber der Ausgang wird immer ausgeführt egal welcher PIN angegeben ist. Die Bedingung das der Schalter ein 1 Signal gibt scheint nicht relevant zu sein. Sobald ich den OUTPUT irgendwo auf 1 setzte ist er auch gesetzt. Ist der Arduino kaputt oder übersehe ich etwas?
int ledpin = 8;
int tasterpin = 2;
int tasterzustand;
void setup() {
pinMode(tasterpin,OUTPUT);
pinMode(ledpin,INPUT);
}
void loop() {
tasterzustand =digitalRead(tasterpin);
if (tasterzustand == 1);
{
digitalWrite(ledpin,HIGH);}
if (tasterzustand = 0);{
digitalWrite(ledpin,LOW);
}
}
wenn ich 5V auf den input pin2 gebe sollte dieser den output pin8 freigeben bzw. ansteuern. sobal ich den sketch lade leuchtet die LED an output pin8 ohne die bedingung erfüllt zu haben.
Das halte ich für verfrüht. @Plumps war schon in #2 drauf.
Ist es nicht so, das ein als INPUT definierter PIN mittels digitalWrite -> HIGH seinen INPUT_PULLUP aktiviert und den PIN dauerhaft auf HIGH zieht?
Kein flackern - immer an?
Ich habe mal ein delay eingebaut am anfang am ende und zwischen in IF´s. Den delay am anfang nimmt er wahr aber die in anderen nicht. also flackert die LED nicht mit 50hz oder liege ich da falsch ?
Das fehlerhaft gesetzte ; hat combie dir schon genannt. Deine if-Abfrage wird damit abgeschlossen. Die darauf folgenden Blöcke {} werden immer ausgeführt. Daher flackert die LED einfach sehr schnell.