Arduino LilyPad Lehrgang 2018
Arduino
Software
IDE oder Entwicklungsumgebung
Einstellungen: Sprache, Schriftgrösse und Zeilennummerierung einstellen.
Werkzeuge: Einstellen, welcher Arduino verwendet wird.
Fehlermeldung im Kontrollbalken
Beim Kompilieren oder Hochladen wird der Kontrollbalken rot:
Kompilieren: Schreibfehler oder Logikfehler: Sketch prüfen!
Hochladen: HOCHLADEN, PORT oder BOARD steht im roten Balken
→ Ausführen was im Screenshot aufgeführt ist!
Speichern Erstelle auf dem
Desktop/Schreibtisch einen Ordner mit deinem Namen und der Klasse. Speichere alle Sketchs mit dem richtigen Namen in diesen Ordner!
Programmteile
Titel
Was wird Programmiert?
Ev. Pinanschlüsse angeben
Definitionsbereich
Globale Variablen festlegen Welches Bauteil wird an welchen Pin angeschlossen?
void setup ()
Um welche Art Bauteil handelt es sich? INPUT oder OUTPUT?
Weitere Informationen
Void loop ()
Was macht das Programm?
Ständig wiederholender Teil.
Bsp: Led ein- und ausschalten
Kontrollbalken
Hardware
Schaltung aufbauen mit einem Schaltplan
Ein Schaltplan gibt an, wie eine Schaltung aufgebaut wird. Eine Schaltung ist die Verbindung von Bauelementen und Arduino (Stromkreis).
GND = Minus
Beispiel einer einfachen Schaltung mit einem Led.
1. Led
1a. Eine Led leuchten lassen
1. Programmieren
*/
* Led leuchten
*/
int led1 = 5;
void setup{
pinMode (led1, OUTPUT);
}
void lood {
digitalWrite (led1, HIGH);
}
→ kompilieren
Blau = alles gut
Rot = Fehlersuche (meist oberhalb der roten Markierung
2. Schaltung aufbauen
Schaltplan wie auf vorheriger Seite!
LED: langes Bein = „+“ = Widerstand und Pin
kurzes Bein = „-
“ = GND (blaue Linie)3. Sketch hochladen
Arduino und Computer verbinden
Zusatzaufgabe
Schliesse die Led auf Pin 12 an.
SPEICHERN!
Ordner auf Desktop
1b. Eine Led zum Blinken bringen
Nur Sketch ändern!
Schaltung bleibt gleich.
Im Sketch ändert sich nur der Titel und der loop (), alles andere bleibt gleich.
Hier steht nur, was neu/geändert wird.
Titel /*
*Led blinken
*/
void loop () { delay (500);
digitalWrite (led1, LOW);
delay (500);
}
→ Anschliessend neuen Sketch kompilieren und hochladen
Zusatzaufgabe
Blinkgeschwindigkeit ändern. Kannst du die Led schneller/langsamer blinken lassen?
1c. Weitere Leds anschliessen
1. Programmieren
Für jedes Led (Bauteil) muss der Definitionsbereich, das setup () und der loop () neu geschrieben werden.
Wenn du weitere Bauteile ansschliessen willst, musst du das dem Computer sagen und ihm beschreiben was es ist und was es macht.
Worum geht es bei diesem Sketch?
Welche Led wird an welchen Pin
angeschlossen?
Hier ablesen welches Led wo anschliessen.
Jedes Led ist ein Output
Jedes Led muss ein- und ausgeschaltet werden
→ kompilieren
2. Schaltung erweitern
Led1 kann wie bei der ersten Übung aufgebaut werden!
Alle GND / Minuspol des Led „-“ auf der blauen Linie sammeln.
Mit einem Kabel am Arduino anschliessen
3. Sketch hochladen
Arduino und Computer verbinden
Zusatzaufgabe
Schliesse weitere Led’s an.
1d. Blinkreihenfolge ändern
Ändere nun die Blinkreihenfolge. Du kannst zusätzlich auch noch mit der Blinkgeschwindigkeit spielen.
Nur Sketch ändern!
Schaltung bleibt gleich.
Im Sketch ändert sich nur der Titel und der loop (), alles andere bleibt gleich.
Titel /*
*Blinkreihenfolge ändern
*/
void loop () {
Finde selber heraus wie du die Blinkreihenfolge ändern kannst!
Kannst du...
...alle Leds miteinander blinken lassen?
...nacheinander alle Leds einschalten und wenn sie brennen nacheinander wieder ausschalten?
...Die inneren und die äusseren Leds nacheinander blinken lassen?
Ändere auch die Blinkgeschwindigkeit }
→ Neuen Sketch kompilieren und hochladen
Leds in verschiedenen Variationen (Besseres Bild folgt...)
2. Lautsprecher
Es gibt viele Möglichkeiten mit einem Lautsprecher oder mit einem
Piezo-Summer Töne zu erzeugen. Du lernst zwei Möglichkeiten kennen, kannst aber mit Hilfe des Internets noch weitere Arten Töne zu
Programmieren kennen lernen.
Schaltung/Schaltplan
Die Schaltung ist ganz einfach und ist immer gleich. Du kannst den Lautsprecher/den Summer direkt am Arduino oder über die Steckplatine anschliessen.
1 Kabel auf den Pin (so wie er im Sketch definiert ist. Bsp. Pin 12) 1 Kabel auf GND
2a. Töne definieren
Grundbefehle
Probiere verschiedenes aus. Was passiert, wenn du am Schluss ein delay anhängst? Was passiert wenn du noTone wegläst?
Kannst du ein ganzes Lied programmieren?
tone (lautsprecher, 600, 300);
1. Zahl (600) = Tonhöhe 2. Zahl (300) = Tonlänge
→ Zahlen ändern = anderer Ton
2b. Töne mit der Tone-Library
Schreibe deine eigene Melodie. Spiele dein Lied der Lehrerin vor.
Zuerst die Tone-Library einbinden!
Liste der Töne und Tone-Library herunterladen:
https://github.com/bhagman/Tone
#include <Tone.h> = Vorprogrammierte Töne einbinden
Grundbefehle
speaker.play (NOTE_G5, 100);
NOTE_G5 = Tonart
Liste der Vorprogrammierten Töne:
https://github.com/bhagman/Tone (Dort wo du auch die Tone-Library herunter laden kannst.)
Zahl (100) = Tonlänge
delay (500); Pause zwischen den Tönen
→ Zahl ändern = kurze/lange Pause
Zusatzaufgabe
Animiere deine Töne mit Licht!
Kannst du eine oder mehrere Led dazu schalten?
3 Lichtsensor
Ein Lichtsensor, auch Photoresistor genannt, reagiert auf Licht und ist somit ein Sensor, da er etwas (Helligkeit) aus der Umwelt aufnimmt und in ein Signal umwandelt.
Du kennst den Lichtsensor vielleicht aus deinem Garten, wenn das Licht automatisch angeht, sobald es Dunkel wird. Verwechsle den Lichtsensor aber nicht mit einem Bewegungsmelder, da geht das Licht an, sobald sich etwas bewegt.
Schaltung/Schaltplan
Neu kommt nun ein drittes Kabel hinzu, da ein Signal gemessen wird und der Sensor zusätzlich Strom braucht.
Integriere in deiner Schaltung gleich auch noch eine Led, damit du auch siehst, was du programmierst.
Baue die Schaltung auf:
3a Lichtsensor und Led
Nutze den Lichtsensor um eine Led je nach Helligkeit einzuschalten.
Grundprogramm
Zusatzaufgabe
1. Füge mehrere Leds dazu.
2. Animiere die Leds.
3. Programmiere einen Buzzer/Speaker, so dass Töne gespielt werden, wenn sich die Helligkeit ändert.