In diesem Beitrag zeige ich dir wie du ein DIY Grove Shield als 2fach Taster Shield aufbaust und programmierst.
Dabei zeige ich dir wieder welche Teile du benötigst und vorallem wie das Shield lötest. Wie man einen Taster am Arduino betreibt habe ich bereits im Tutorial Arduino Lektion 33: Taster mit Pull Down Widerstand beschrieben in diesem Tutorial werde ich dieses Prinzip aufgreifen und mit 2 Tastern realisieren. Da die Grove Schnittstelle neben VCC und GND für die Spannungsversorgung auch 2 Pins (digital oder analog) verfügt kann man somit 2 Taster betreiben.
benötigte Teile für das “DIY 2fach Taster Shield”
- 2x Micro Taster für Printmontage*,
- 2x 120 kOhm Widerstand*,
- 1x Grove Connector*,
- 1x Lochrasterplatine, 5 cm x 7 cm,
- ca. 10 cm Klingeldraht,
- ca. 5 cm 2 farbige Litzen
Hinweis von mir: Die mit einem Sternchen (*) markierten Links sind Affiliate-Links. Wenn du über diese Links einkaufst, erhalte ich eine kleine Provision, die dazu beiträgt, diesen Blog zu unterstützen. Der Preis für dich bleibt dabei unverändert. Vielen Dank für deine Unterstützung!
Werkzeuge
- Lötkolben,
- Lötkolbenständer,
- Lötzinn
- hitzebeständige Unterlage
- Seitenschneider
- Entlötpumpe
- Widerstandsbiege
Aufbau & Schaltung
Der Aufbau erfolgt auf einer Lochrasterplatine. Dabei werden die Komponenten von oben (Seite ohne Lötpunkte) im Raster durch die entsprechenden Löcher steckt.
Für Widerstände gibt es hier ein “spezielles Gerät” mit welchem man diese Bauteile im 90° Winkel abbiegen kann. Somit passen diese immer korrekt in die Löcher einer 2,54 mm Lochrasterplatine (natürlich auch in Streifenrasterplatinen).
Schaltung
Schaltung zur “DIY 2fach Taster Shield mit Grove Schnittstelle”
Programmieren
const int btn1 = 2; //Taster 1 const int btn2 = 3; //Taster 2 const int led1 = 4; //LED 1 const int led2 = 5; //LED 2 void setup() { Serial.begin(9600); //beginn der seriellen Kommunikation mit 9600baud pinMode(btn1,INPUT); //setzen das der Pin des Tasters 1 als Eingang dient, pinMode(btn2,INPUT); //setzen das der Pin des Tasters 2 als Eingang dient, pinMode(led1,OUTPUT); //setzen das der Pin der LED 1 als Ausgang dient, pinMode(led2,OUTPUT); //setzen das der Pin der LED 2 als Ausgang dient, } void loop() { //Wenn der Taster 1 gedrückt wird dann ... if(digitalRead(btn1) == HIGH){ //LED 1 aktivieren digitalWrite(led1, HIGH); } else { //Wenn der Taster 1 NICHT gedrückt wird dann ... //LED 1 deaktivieren digitalWrite(led1, LOW); } //Wenn der Taster 2 gedrückt wird dann ... if(digitalRead(btn2) == HIGH){ //LED 2 aktivieren digitalWrite(led2, HIGH); } else { //Wenn der Taster 2 NICHT gedrückt wird dann ... //LED 2 deaktivieren digitalWrite(led2, LOW); } }