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*
* Hier verwende ich Breadboardkabel, da bei diesen ab und zu die Stecker bzw. Buchsen abgehen lege ich mir diese auf Lager und verwende diese dann in genau solchen Projekten.
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); } }