Da die Meisterschule eh erst Anfang April losgeht und ich bis jetzt nur sehr wenig Input darüber habe, kann ich natürlich auch relativ wenig Output geben. Aber sobald ich neue Infos hab, werde ich auch darüber wieder fleißig schreiben… so hoffe ich doch zumindest.
Nun in der Zwischenzeit beschäftige ich mich aber weiter mit meinem Lieblingsthema. Das Arduino Uno Board hab ich echt gefressen.
Ich mag zwar noch ganz am Anfang stehen und muss erst nochmal die Grundlagen durchkauen, aber was ich bis jetzt sagen kann: „es macht verdammt viel Spaß“.
So und weil so schön ist hab ich mich auch weiter durch das Buch gearbeitet.
Und da bin ich auf etwas gestoßen, was mir wieder ein schmunzeln aufs Gesicht gezaubert hat. Auch damals in der Schule in Physik, oder in der Ausbildung beim Thema SPS. Immer begegnet man ihr wieder, die gute alte Ampelschaltung ;).
Aber ich muss sagen, nirgends hat sie mir so viel Spaß gemacht, wie hier mit dem Arduino. Vielleicht liegt es aber auch nur an meinem Hype und dem eh schon damals stark vorhandenen Interesse an C/C++.
Wie man auf dem Bild sehen kann hab ich mir mal ein etwas größeres Breadboard zugelegt. Die kleinen sind zwar nett, aber auf kurz oder lang etwas zu klein für die Schaltungen.
Der Aufbau sollte eigentlich ziemlich selbsterklärend sein. 3 LEDs für die Autoampel und 2 LEDs für die Fußgängerampel. Jeweils einen Vorwiderstand von 330Ω. Und ein Taster mit Pulldown-Widerstand von 10KΩ.
Hier ein einfacher Sketch. Natürlich ist das gaaaanz simpel gehalten; Jede Farbe wird einzeln per Befehl aufgerufen. Und auch der Taster wird nur mit einer einfachen if-Bedingung abgefragt.
#define DELAY1 1000
#define DELAY2 2000
#define DELAY3 3000
int ledPinRotAuto = 7;
int ledPinGelbAuto = 6;
int ledPinGruenAuto = 5;
int ledPinRotFuss = 3;
int ledPinGruenFuss = 2;
int tasterPinAmpel = 8;
int tasterAmpelWert = LOW;
void setup() {
pinMode(ledPinRotAuto,OUTPUT);
pinMode(ledPinGelbAuto,OUTPUT);
pinMode(ledPinGruenAuto,OUTPUT);
pinMode(ledPinRotFuss,OUTPUT);
pinMode(ledPinGruenFuss,OUTPUT);
pinMode(tasterPinAmpel,INPUT);
digitalWrite(ledPinGruenAuto,HIGH);
digitalWrite(ledPinRotFuss,HIGH);
}
void loop() {
tasterAmpelWert = digitalRead(tasterPinAmpel);
if(tasterAmpelWert == HIGH)
ampelumschaltung();
}
void ampelumschaltung(){
digitalWrite(ledPinGruenAuto,LOW);
digitalWrite(ledPinGelbAuto,HIGH); delay(DELAY3);
digitalWrite(ledPinGelbAuto,LOW);
digitalWrite(ledPinRotAuto,HIGH); delay(DELAY1);
digitalWrite(ledPinRotFuss,LOW);
digitalWrite(ledPinGruenFuss,HIGH); delay(DELAY0);
digitalWrite(ledPinGruenFuss,LOW);
digitalWrite(ledPinRotFuss,HIGH); delay(DELAY1);
digitalWrite(ledPinGelbAuto,HIGH); delay(DELAY2);
digitalWrite(ledPinRotAuto,LOW);
digitalWrite(ledPinGelbAuto,LOW);
digitalWrite(ledPinGruenAuto,HIGH);
}
Im Buch wird dann, um den Schwierigkeitsgrad zu steigern, vorgeschlagen den Sketch so zu erweitern, dass die LEDs mithilfe von Bitkombinationen angesprochen werden. Dies werde ich hier aber nicht weiter ausführen, sonst schreib ich den ganzen Abend noch ;).
Im nächsten Projekt werde ich das erste Mal etwas „nützliches“ aufbauen, wo man auch durchaus mal ein Shield draus bauen könnte. Allerdings lässt meine Lötstation noch auf sich warten. Darum werde ich mich auch weiterhin erst einmal auf das Breadboard beschränken.
Bis dahin stay tuned
Hallo,
leider funktioniert der Link zum “Buch” nicht. Welches haben Sie denn dazu und wie finden Sie es?
Vielen Dank
Schönen Abend noch
Mit freundlichen Grüßen
Thomas
Hallo,
und danke für den Hinweis… Ich habe den Link im Text korrigiert.
Ich habe für den Einstig folgendes Buch verwendet: Die elektronische Welt mit Arduino entdecken
Mfg
Andre