| Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung |
| talit:electronics:arduno [2025-02-12 14:47] – [2.4 RGB-LED] gra | talit:electronics:arduno [2026-02-25 16:03] (aktuell) – [Zusatzaufgaben] gra |
|---|
| ===== - Arduino-Box mit LCD – "Hello World" ===== | ===== - Arduino-Box mit LCD – "Hello World" ===== |
| |
| <color #7092be>**Lernziele:** Arduino-Entwicklungsumgeung (IDE) kennenlernen; Programmiersprache C\+\+ kennenlernen; estes Arduino-Programm schreiben; Display ansteuern.</color> | <color #7092be>**Lernziele:** Arduino-Entwicklungsumgeung (IDE) kennenlernen; Programmiersprache C\+\+ kennenlernen; erstes Arduino-Programm schreiben; Display ansteuern.</color> |
| |
| Zuerst baust du eine Adruino-Box. Das ist eine verschliessbaer **Plastik-Box**, die neben dem **Arduino UNO** folgende Komponenten enthält: | Zuerst baust du eine Adruino-Box. Das ist eine verschliessbaer **Plastik-Box**, die neben dem **Arduino UNO** folgende Komponenten enthält: |
| * Display- und Batteriehlaterung (Batterie mit Kabel optional) | * Display- und Batteriehlaterung (Batterie mit Kabel optional) |
| * 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! |
| * 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 ''analogRead()''. Informiere dich erst über diese Funktion: [[https://reference.arduino.cc/reference/en/|Arduino-Referenz]] | //Tipp:// Du benötigst u. a. die Funktion ''analogRead()''. Informiere dich erst über diese Funktion: [[https://docs.arduino.cc/language-reference/de/|Arduino-Referenz]] |
| |
| <nodisp 2> | <nodisp 2> |
| === Zusatzaufgaben === | === Zusatzaufgaben === |
| - Zeige auf dem Display die aktuellen Farbwerte an. | - Zeige auf dem Display die aktuellen Farbwerte an. |
| - Progammiere ein Leuchtmuster: LED-Fabre wechselt regelmässig. | - Progammiere ein Leuchtmuster: LED-Farbe wechselt regelmässig. |
| - Programmiere mehrere Leuchtmuster, die dann via Display und Tasten wählbar sind. Verwende evtl [[https://www.adafruit.com/category/168|Neo-Pixel-Bautele]] anstelle von RGB-LEDs. | - Programmiere mehrere Leuchtmuster, die dann via Display und Tasten wählbar sind. Verwende evtl [[https://www.adafruit.com/category/168|Neo-Pixel-Bautele]] anstelle von RGB-LEDs. |
| |
| * Erstelle folgende Funktionen: | * Erstelle folgende Funktionen: |
| * Eine Funktion //sortTimes//, die die Zeiten sortiert, sodass die kürzeste jeweils an erster Stelle im Array steht. | * Eine Funktion //sortTimes//, die die Zeiten sortiert, sodass die kürzeste jeweils an erster Stelle im Array steht. |
| * Zwei Funktionen //writeTimesEEP// und //readTimesEEP//, die alle fünf Bestzeiten im EEPROM speichern bzw. daraus auslesen. **Challengee:** Verwende nur die EEPROM-Funktionen //EEPROM.write// und //EEPROM.read//, welche jeweils nur ein Byte schreiben/lesen. Nutze [[https://www.arduino.cc/reference/en/language/structure/bitwise-operators/bitshiftleft/|Bit-Schiebe-]] und [[https://www.arduino.cc/reference/en/language/structure/bitwise-operators/bitwiseand/|Bit-Maskierungs]]-Operatoren, um Variablen von längeren Datentypen in mehrere Bytes aufzuteilen bzw. aus meherern Bytes zusammenzusetzen. | * Zwei Funktionen //writeTimesEEP// und //readTimesEEP//, die alle fünf Bestzeiten im EEPROM speichern bzw. daraus auslesen. **Challenge:** Verwende nur die EEPROM-Funktionen //EEPROM.write// und //EEPROM.read//, welche jeweils nur ein Byte schreiben/lesen. Nutze [[https://www.arduino.cc/reference/en/language/structure/bitwise-operators/bitshiftleft/|Bit-Schiebe-]] und [[https://www.arduino.cc/reference/en/language/structure/bitwise-operators/bitwiseand/|Bit-Maskierungs]]-Operatoren, um Variablen von längeren Datentypen in mehrere Bytes aufzuteilen bzw. aus meherern Bytes zusammenzusetzen. |
| * Alternative zu //EEPROM.write// und //EEPROM.read//: Betrachte EEPROM als ein Array, dessen Elemente 1 Byte gross sind: mit EEPROM[2] greifst du auf Adresse 2 zu. | * Alternative zu //EEPROM.write// und //EEPROM.read//: Betrachte EEPROM als ein Array, dessen Elemente 1 Byte gross sind: mit EEPROM[2] greifst du auf Adresse 2 zu. |
| |