Nochmal Arduino gefälligst?

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. Arduino_Projekt_AmpelDie 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 DELAY0 10000
#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 ;)

Dieser Beitrag wurde unter Arduino, Basteln veröffentlicht. Setze ein Lesezeichen auf den Permalink.

2 Antworten auf Nochmal Arduino gefälligst?

  1. Thomas sagt:

    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

Hinterlasse einen Kommentar zu Thomas Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *


+ sieben = dreizehn

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>