Hallo zusammen,

wie versprochen stelle ich hier meine Projekte vor. Dabei werde ich mit einfachen Sachen starten, so dass sie jeder nachbauen kann 🙂 Solltet ihr Fragen haben, schreibt sie einfach in die Kommentare.

Heute werde ich euch 3 kleine Aufbauten vorstellen:

  • 1 LED blinken lassen
  • 3 LED im Wechsel blinken lassen
  • Ampelschaltung

*Edit Grund 2016-11-06: Programmanpassungen nach Rückmeldung von Peter*

Zu jedem Aufbau gibt es ein Beispielvideo!

Alle 3 jeweils mit einer Variablen Pausenzeit mittels Potentiometer (Poti, verstellbarer Widerstand).

Wenn ihr weitere Details zu den Basics braucht, kann ich euch ein Buch empfehlen: „Die elektronische Welt mit Arduino entdecken“ von Erik Bartmann. Dieses habe ich selber seit Jahren und es ist wirklich sehr gut geschrieben.

Vorbereitung für den Start:

  • 1x Arduino Uno
  • 1x Breadboard
  • 3x 220Ω Widerstände
  • 1x LED Rot
  • 1x LED Gelb
  • 1x LED Grün
  • 1x Poti 10kΩ
  • Jumperwire oder Drahtbrücken zum Verbinden.

Ich habe mir für meine kleinen Experimente ein Testaufbau gebastelt, dieser besteht aus:

  • 1x Arduino Uno
  • 3x Breadboard
  • 1x IDE Kabel (aus einem Alten PC)
  • 1x Holzplatte
  • Diverse Schrauben und Befestigungsmaterialien

Hinweis: zum Vergrößern der Bilder einfach draufklicken 🙂

Feurio_Testboard

Dieser Aufbau hat mehrere Vorteile:

  1. Kontakte am Arduino werden mechanisch nicht belastet
  2. Genug Platz um auch mehrere Aufbauten parallel zu haben
  3. Einfach zu transportieren
  4. durch feste Montage kein Wackeln des Arduino oder der Breadboards

Kommen wir nun aber zu unserem ersten Aufbau.

Aufbau 1: LED blinken lassen (variables Blinkintervall)

Um starten zu können habe ich die oben genannten Komponenten wie folgt verdrahtet:

Aufbau1

Im Fritzing sieht das ganze so aus:

Aufbau1_Fritzing

Dazu den passenden Schaltplan:

Aufbau1_Schaltplan

Kurz zusammengefasst:

  • Vor jeder LED einen Vorwiderstand von 220Ohm
  • PIN 2-4 des Arduino jeweils mit dem Vorwiderstand der passenden LED verbunden
  • Poti: Mittlerer Pin an den Analogeingang A0, Linker Pin +5V, rechter Pin auf GND

Damit das Ganze funktionieren kann, müssen wir ein Programm mit der Arduino Software schreiben.

  1. void setup() werden den PIN 2-4 über die Variablen der Modus Output zugewiesen
  2. void loop():
    1. Der Analogeingang wird abgefragt (Spannung vom Poti) und in einen Wert zwischen 200 – 3000 umgewandelt
    2. Die LED wird eingeschaltet und nach einer Zeit „Poti“ 200-3000ms ausgeschaltet

Das ganze läuft nun unendlich so weiter.

Beispielvideo Aufbau 1:

Aufbau 2: 3 LEDs blinken lassen (variables Blinkintervall)

Der Grundaufbau aus Aufbau 1 bleibt bestehen. Wir passen nur den Code wie folgt an:

Was macht dieses Programm nun?

  1. void setup() werden den PIN 2-4 über die Variablen der Modus Output zugewiesen
  2. void loop():
    1. Der Analogeingang wird abgefragt (Spannung vom Poti) und in einen Wert zwischen 200 – 3000 umgewandelt
    2. Die LEDs werden nacheinander eingeschaltet und nach einer Zeit „Poti“ 200-3000ms ausgeschaltet. Die Pausenzeiten (delay) bleiben in einem Durchlauf immer gleich lang. Warum?
      1. der Variable Poti wird nur am Anfang ein Wert zugewiesen!

Das Ganze läuft nun unendlich so weiter.

Beispielvideo Aufbau 2:

Aufbau 3: Ampelschaltung

Der Grundaufbau bleibt auch wieder gleich, nur wollen wir diesmal eine Ampel simulieren.

*Ah darum die 3 LEDs in den Farben Rot, Gelb und Grün :P*

Den Code passen wir wie folgt an:

Was macht dieses Programm nun?

  1. void setup() werden den PIN 2-4 über die Variablen der Modus Output zugewiesen
  2. void loop():
    1. Der Analogeingang wird abgefragt (Spannung vom Poti) und in einen Wert zwischen 200 – 3000 umgewandelt
    2. Die LED werden nacheinander eingeschaltet wie bei einer Ampel geschaltet und nach einer Zeit „Poti“ 200-3000ms ausgeschaltet.

Aber Stopp, warum haben wir nun eine neue Variable delay_time_green, sowie eine Konstante „GREENVALUE“?

Diese Frage möchte ich sehr gerne Beantworten. Es wäre schade, wenn wir nur 200-3000ms grün hätten oder? Deswegen habe ich oben bei der Konstantendefinition der Konstante „GREENVALUE“ den Wert 3000 zugewiesen.

In der Grünphase rechne ich die Variable delay_time und die Konstante GREENPHASE zusammen und schreibe den Wert in die Variable delay_time_green.

Dadurch erreiche ich, dass selbst bei einer Grundschaltdauer von 200ms die Grünphase mindestens 3,2 Sekunden andauert.

Beispielvideo Aufbau 3:

Das war’s dann für’s Erste.

Ich hoffe es hilft euch weiter, bis zum nächsten Mal!

Cya

F3UR10