Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
| Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
| talit:electronics:arduno [2023-03-10 07:43] – [3.1 Chronometer 1] gra | talit:electronics:arduno [2026-03-04 16:16] (aktuell) – gra | ||
|---|---|---|---|
| Zeile 3: | Zeile 3: | ||
| ===== - Arduino-Box mit LCD – "Hello World" ===== | ===== - Arduino-Box mit LCD – "Hello World" ===== | ||
| - | <color # | + | <color # |
| Zuerst baust du eine Adruino-Box. Das ist eine verschliessbaer **Plastik-Box**, | Zuerst baust du eine Adruino-Box. Das ist eine verschliessbaer **Plastik-Box**, | ||
| * Halterung für Arduino | * Halterung für Arduino | ||
| * Breadboard | * Breadboard | ||
| - | * Display- und Batteriehlaterung | + | * Display- und Batteriehlaterung |
| - | * 9-V-Batterie | + | |
| * LCD (Display) und Display-Kabel | * LCD (Display) und Display-Kabel | ||
| - | * USB-A-Kabel für die Verbindung zwischen Arduino und PC | + | * USB-Kabel für die Verbindung zwischen Arduino und PC |
| Die Idee der Box: Du kannst auf dem Breadboard elektronische Bauteile aufbringen und mit dem Arduino verbinden. Diesen Aufbau kannst du jederzeit mitnehmen: USB-Kabel rein, Box verschliessen und in den Rucksack! | Die Idee der Box: Du kannst auf dem Breadboard elektronische Bauteile aufbringen und mit dem Arduino verbinden. Diesen Aufbau kannst du jederzeit mitnehmen: USB-Kabel rein, Box verschliessen und in den Rucksack! | ||
| - | - Baue die Box zusammen. **Überlege zuerst gut**, wie du Breadboard, Arduino- und Display-Halterung | + | - Baue die Box zusammen. **Überlege zuerst gut**, wie du die Teile auf dem Deckel der Box platzierst, sodass es praktisch zum Arbeiten ist (Verbindung zum Laptop, Display-Verbindung etc.). Klebe dann die Teile mit doppelseitigem Klebenband |
| - Informiere dich über die Arduino-Programmierung in der Programmiersprache C\+\+ hier: [[informatik: | - Informiere dich über die Arduino-Programmierung in der Programmiersprache C\+\+ hier: [[informatik: | ||
| - Verbinde das Display und teste es: Dein Display soll "Hello World" zeigen. | - Verbinde das Display und teste es: Dein Display soll "Hello World" zeigen. | ||
| Zeile 79: | Zeile 78: | ||
| * Programmiere den Arduino so, dass die Frequenz der blinkenden LED mit dem Potentiomter eingestellt werden kann. | * Programmiere den Arduino so, dass die Frequenz der blinkenden LED mit dem Potentiomter eingestellt werden kann. | ||
| - | //Tipp:// Du benötigst u. a. die Funktion '' | + | //Tipp:// Du benötigst u. a. die Funktion '' |
| <nodisp 1> | <nodisp 1> | ||
| Zeile 115: | Zeile 114: | ||
| * Ob eine Taste gedrückt ist oder nicht, fragst du innerhalb der loop()-Schleife mit If-Verzweigungen ab (z.B.: if (digitalRead(freqUpPin) == LOW){...}). Da die loop-Schleife mehrere zehntausend Male pro Sekunde durchlaufen wird, ist es gut möglich, dass auch eine sehr kurze Betätigung der Taste mehrmals erkannt wird und damit wie mehrere Betägtigungen wirkt. Das kannst du verhindern, indem du kurz nach Eintritt in die Verzweigung einige Millisekunden wartest ('' | * Ob eine Taste gedrückt ist oder nicht, fragst du innerhalb der loop()-Schleife mit If-Verzweigungen ab (z.B.: if (digitalRead(freqUpPin) == LOW){...}). Da die loop-Schleife mehrere zehntausend Male pro Sekunde durchlaufen wird, ist es gut möglich, dass auch eine sehr kurze Betätigung der Taste mehrmals erkannt wird und damit wie mehrere Betägtigungen wirkt. Das kannst du verhindern, indem du kurz nach Eintritt in die Verzweigung einige Millisekunden wartest ('' | ||
| - | < | + | < |
| ++++Lösung| | ++++Lösung| | ||
| <code c++ BlinkSteps.ino> | <code c++ BlinkSteps.ino> | ||
| Zeile 171: | Zeile 170: | ||
| ==== - RGB-LED ==== | ==== - RGB-LED ==== | ||
| * Verbinde folgende Bauteile mit dem Arduino: | * Verbinde folgende Bauteile mit dem Arduino: | ||
| - | * [[https:// | + | * [[https:// |
| * Potentiometer | * Potentiometer | ||
| * drei Tasten | * drei Tasten | ||
| Zeile 183: | Zeile 182: | ||
| * Du sollst wissen, was PWM ist und wie es funktioniert: | * Du sollst wissen, was PWM ist und wie es funktioniert: | ||
| - | < | + | < |
| ++++Lösung| | ++++Lösung| | ||
| <code c++ RGB-LED.ino> | <code c++ RGB-LED.ino> | ||
| Zeile 244: | Zeile 243: | ||
| === Zusatzaufgaben === | === Zusatzaufgaben === | ||
| - Zeige auf dem Display die aktuellen Farbwerte an. | - Zeige auf dem Display die aktuellen Farbwerte an. | ||
| - | - Progammiere ein Leuchtmuster: | + | - Progammiere ein Leuchtmuster: |
| - Programmiere mehrere Leuchtmuster, | - Programmiere mehrere Leuchtmuster, | ||
| Zeile 253: | Zeile 252: | ||
| * Bestimmme zwei Eingänge //Start// und //Stop// an die du Tasten zum Starten und Stoppen anschliesst. Verwende die internen Pull-up-Widerstände. | * Bestimmme zwei Eingänge //Start// und //Stop// an die du Tasten zum Starten und Stoppen anschliesst. Verwende die internen Pull-up-Widerstände. | ||
| * Wenn der Eingang //Start// LOW wird, beginnt die Zeitmessung, | * Wenn der Eingang //Start// LOW wird, beginnt die Zeitmessung, | ||
| + | * Die Zeit misst du mit der Funktion [[https:// | ||
| * Das LCD zeigt die aktuelle laufende/ | * Das LCD zeigt die aktuelle laufende/ | ||
| - | | + | |
| - | < | + | < |
| ++++Lösung| | ++++Lösung| | ||
| <code c++ CrhonoMeter01.cpp> | <code c++ CrhonoMeter01.cpp> | ||
| Zeile 350: | Zeile 350: | ||
| * Wenn der Reset-Eingang LOW wird, werden alle gemessenen oder gespeicherten Zeiten auf 0 gesetzt. | * Wenn der Reset-Eingang LOW wird, werden alle gemessenen oder gespeicherten Zeiten auf 0 gesetzt. | ||
| - | < | + | < |
| ++++Lösung| | ++++Lösung| | ||
| <code c++ ChronoMeter02.cpp> | <code c++ ChronoMeter02.cpp> | ||
| Zeile 480: | Zeile 480: | ||
| * Erstelle folgende Funktionen: | * Erstelle folgende Funktionen: | ||
| * Eine Funktion // | * Eine Funktion // | ||
| - | * Zwei Funktionen // | + | * Zwei Funktionen // |
| * Alternative zu // | * Alternative zu // | ||
| - | < | + | < |
| ++++Lösung| | ++++Lösung| | ||
| <code c++ ChronoMeter03.cpp> | <code c++ ChronoMeter03.cpp> | ||