ich habe gerade erst angefangen mit Arduino. Ich habe mir zum Start ein einfach Startkit geholt mit einen Arduino UNO. Nachdem ich mit dem Tutorial vom Kit nicht so wirklich gut arbeiten konnte habe ich mit dem Tutorial hier angefangen. Nun bin ich bin ich bei der Übung DigitalReadSerial (ja ich weiß ist wirklich erst der anfang^^).
Ich wollte nun ganz normal den Wert über den Monitor anzeigen lassen, doch kann ich diesen nicht wirklich beeinflussen. Das Problem ist, dass er ohne das ich den Taster betätige manchmal ein HIGH Signal ließt und manchmal einfach LOW. Obwohl ich den Aufbau orginal nachgebaut habe und auch noch zur kontrolle den vorgefertigten CODE verwendet, doch nichts hat sich geändert.
/*
DigitalReadSerial
Reads a digital input on pin 2, prints the result to the serial monitor
This example code is in the public domain.
*/
// digital pin 2 has a pushbutton attached to it. Give it a name:
int pushButton = 2;
// the setup routine runs once when you press reset:
void setup() {
// initialize serial communication at 9600 bits per second:
Serial.begin(9600);
// make the pushbutton's pin an input:
pinMode(pushButton, INPUT);
}
// the loop routine runs over and over again forever:
void loop() {
// read the input pin:
int buttonState = digitalRead(pushButton);
// print out the state of the button:
Serial.println(buttonState);
delay(500); // delay in between reads for stability
}
Was mache ich falsch?
Habe nun wirklich alles mit verschiedenen Tastern, Widerständen und auch Pins probiert.
PS: einzige Änderung ist, dass ich in diesem Beispiel den delay auf 500ms gesetzt habe.
Hab meine fehler selber gefunden, hatte den beim Steckbrett einen kurzen an der einen stelle.
Das Steckbrett ist leider ein altes gewesen und verwende es da es größer ist.
Ich habe einen 10K Widerstand verwendet, der zwischen den 5V Eingangspannung und GND ist. Die Eingangsspannung ist auch gleichzeitig mit dem Taster verbunden, welche dann beim anderen Pin vom Taster (wenn gedruck) mit Pin 2 vom Board verbunden ist.
Hat jetzt auch relative gut funktioniert. Das einzige was mich etwas stört ist, dass ich ledier nciht dieses Flakern des Wertes wegbekomme. Damit mein ich, dass ich zwar dauerhaft das HIGH Signal an Pin 2 habe, wenn der Taster gedrückt ist, aber wenn dieser nciht gedrückt wurde, dann wechselt der Wert leider immer zwischen HIGH und LOW....
der Widerstand muß zwischen Pin 2 und Gnd.
oder du schaltest den Taster zwischen Pin 2 und GND und verwendest den folgenden Sketch
/*
DigitalReadSerial
Reads a digital input on pin 2, prints the result to the serial monitor
This example code is in the public domain.
*/
// digital pin 2 has a pushbutton attached to it. Give it a name:
const int pushButton = 2;
// the setup routine runs once when you press reset:
void setup() {
// initialize serial communication at 9600 bits per second:
Serial.begin(9600);
// make the pushbutton's pin an input:
pinMode(pushButton, INPUT_PULLUP);
}
// the loop routine runs over and over again forever:
void loop() {
// read the input pin:
int buttonState = digitalRead(pushButton);
// print out the state of the button:
Serial.println(buttonState);
delay(500); // delay in between reads for stability
}
Wenn das die Schaltung ist wie du meinst, dann kommt nur noch ein HIGH signal. Egal ob ich die vorgefertigte Lösung nehme, meinen eigenen Code oder den von dir erstellten. Keine Ahnung wieso.
In dem Tutorial steht ja, dass man dies so aufbauen soll, wenn ich aber das mache kommt halt nur ein HIGH Signal. Wenn ich denWiderstandt nicht am Taster anschließe sondern an 5V kommt wenigstens das Signal vom Taster, aber immer mit dem Flackern.
Über den Plotter sieht das meistens so aus, manchmal auch nur HIGH Signal, ohne das ich den Taster drücke. (der Widerstand hier zwischen 5V und GND)
Bei der Variante mit Widewrstand an Pin 2 kommt nur HIGH, wie bereits beschrieben.
Davon ausgehend dass Du an der Lösung des Problems interessiert bist,
lies doch bitte nochmal Beitrag #10 durch.
Ich denke, wir reden die ganze Zeit aneinander vorbei,
was den Pull-Down und / oder den Pull-Up Widerstand betrifft.
(der Widerstand hier zwischen 5V und GND)
Macht keinen Sinn. Evtl. geht es deswegen nicht.
Hier: Klick mich ! gibt es einen Beitrag,
in welchem eine ähnliche Frage gestellt wurde.
Vieleicht hilft Dir die Erklärung "von der anderen Seite" an das Problem
heranzugehen?!
Hab den Hauptfehler gefunden, einfach nur den falschen Pin am board genommen. -.-!
Bin neben den GND gekommen und da liegt der VIN Pin, was das falsche Ergebniss geliefert hat.
Jetzt funktionieren auch die Codes.....
@Stefan hatte beuides getestet war einfach nur viel weiter am Anfang der Fehler....
Auf jeden Fall vielen Dank an euch alle, hätte bestimmt noch viel länger gesucht wenn ich alleine wäre^^