Hier nun die Fortsetzung zum Beitrag Arduino UNO kompatibler Bausatz #2.
Vorwort
Der Arduino UNO Bausatz enthält neben einem Piezo Buzzer auch 3 Taster sowie 3 LEDs welche sich ansteuern bzw. auswerten lassen. Jedoch gab es mit den Tastern und einer LED Probleme welche ich nun in diesem Beitrag gesondert erläutern möchte.
Lösungen
Problem 1: Taster
Die Taster haben ein Problem mit dem Prellen, diesen Umstand habe ich bereits im Beitrag Arduino Lektion 87: Taster entprellen erläutert und eine Lösung mit der Bibliothek “Bounce2.h” vorgestellt.
Das Taster prellen können war mir bewusst aber, dass gar keine Signale ausgewertet worden ist mir neu. Denn sonst hatte ich, dass mehrere Signale auf einmal empfangen wurden.
Man lernt nie aus!
Lösung mit Sketch
Hier nun der Sketch für die Taster mit der Bounce2.h Bibliothek.
#include <Bounce2.h> #define K1 4 #define K2 3 #define K3 2 const int PAUSE = 50; Bounce k1Bouncer = Bounce(K1, PAUSE); Bounce k2Bouncer = Bounce(K2, PAUSE); Bounce k3Bouncer = Bounce(K3, PAUSE); void setup() { Serial.begin(9600); pinMode(K1, INPUT); pinMode(K2, INPUT); pinMode(K3, INPUT); digitalWrite(K1, HIGH); digitalWrite(K2, HIGH); digitalWrite(K3, HIGH); } void loop() { k1Bouncer.update(); k2Bouncer.update(); k3Bouncer.update(); if(k1Bouncer.fell()){ Serial.println("K1"); } if(k2Bouncer.fell()){ Serial.println("K2"); } if(k3Bouncer.fell()){ Serial.println("K3"); } }
Auf der seriellen Konsole der Arduino IDE wird nun jeweils angezeigt, wenn ein Taster betätigt wird.
Problem 2: LED1
Die LED1 ist mit dem Widerstand R2 verbunden.
Beim Messen mit einem Widerstandsmessgerät wurde kein Widerstand festgestellt d.h. es gibt keine Verbindung zwischen R2 und der LED1.
Lösung
Die Lösung zu diesem Problem ist ganz einfach, ich habe einen Draht vom Widerstand R2 zur LED1 (+) gelötet und somit die fehlende Verbindung hergestellt.
Wenn nun der unten stehende Sketch aufgespielt wird, dann blinkt die LED.
Da die LED1 am digitalen Pin D13 angeschlossen ist blinkt diese nun auch wenn ein Sketch hochgeladen wird.
Sketch
Hier nun ein kleiner Sketch zum Testen der LED1 am digitalen Pin D13.
#define LED1 13 void setup() { pinMode(LED1, OUTPUT); } void loop() { digitalWrite(LED1, HIGH); delay(350); digitalWrite(LED1, LOW); delay(350); }
Fazit
Nachdem nun die Taster und alle LEDs funktionieren, kann man den Arduino UNO Clone einsetzen. Die Probleme waren jetzt nicht so groß, als dass man diese nicht lösen könnte, jedoch ein Anfänger könnte daran verzweifeln. Daher ist dieser Bausatz nichts für Anfänger.