Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
talit:electronics:arduno [2023-03-16 16:02] – [3.1 Chronometer 1] gratalit:electronics:arduno [2025-02-19 12:41] (aktuell) – [3.3 Chronometer 3] gra
Zeile 8: Zeile 8:
   * Halterung für Arduino   * Halterung für Arduino
   * Breadboard   * Breadboard
-  * Display- und Batteriehlaterung +  * Display- und Batteriehlaterung (Batterie mit Kabel optional)
-  * 9-V-Batterie und Batteriekabel+
   * LCD (Display) und Display-Kabel   * LCD (Display) und Display-Kabel
   * USB-A-Kabel für die Verbindung zwischen Arduino und PC   * USB-A-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 auf dem Deckel der Plastick-Box platzierst, sodass es praktisch zum Arbeiten ist (Verbindung zum Laptop, Batterie-Anschluss, Display-Verbindung etc.). Klebe dann die drei Komponenten mit doppelseitigem Klebenband fest.+  - 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 oder Heissleim fest.
   - Informiere dich über die Arduino-Programmierung in der Programmiersprache C\+\+ hier: [[informatik:arduino_programmieren|Arduino programmieren]]   - Informiere dich über die Arduino-Programmierung in der Programmiersprache C\+\+ hier: [[informatik:arduino_programmieren|Arduino programmieren]]
   - 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 27: Zeile 26:
 //Tipp:// Du benötigst die Funktionen ''pinMode()'', ''digitalWrite()'' und ''delay()''. //Tipp:// Du benötigst die Funktionen ''pinMode()'', ''digitalWrite()'' und ''delay()''.
  
-<nodisp 1>+<nodisp 2>
 ++++Lösung mit delay()| ++++Lösung mit delay()|
 <code c++ Blink.ino> <code c++ Blink.ino>
Zeile 46: Zeile 45:
 </nodisp> </nodisp>
  
-<nodisp 1>+<nodisp 2>
 ++++Lösung mit millis()| ++++Lösung mit millis()|
 <code c++ BlinkMillis.ino> <code c++ BlinkMillis.ino>
Zeile 81: Zeile 80:
 //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://reference.arduino.cc/reference/en/|Arduino-Referenz]] 
  
-<nodisp 1>+<nodisp 2>
 ++++Lösung| ++++Lösung|
 <code c++ BlinkTune.ino> <code c++ BlinkTune.ino>
Zeile 171: Zeile 170:
 ==== - RGB-LED ==== ==== - RGB-LED ====
   * Verbinde folgende Bauteile mit dem Arduino:   * Verbinde folgende Bauteile mit dem Arduino:
-    * [[https://www.adafruit.com/product/848|RGB-LED]]+    * [[https://www.adafruit.com/product/848|RGB-LED 10mm]] oder [[https://www.mouser.ch/datasheet/2/180/HV_5RGBXX_5mm_Full_Color_Series-1489147.pdf|RGB-LED 5mm]]
     * Potentiometer     * Potentiometer
     * drei Tasten     * drei Tasten
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 //Stop// LOW wird, stoppt sie.   * Wenn der Eingang //Start// LOW wird, beginnt die Zeitmessung, wenn //Stop// LOW wird, stoppt sie.
 +  * Die Zeit misst du mit der Funktion [[https://www.arduino.cc/reference/de/language/functions/time/millis/|millis()]].
   * Das LCD zeigt die aktuelle laufende/gestoppte Zeit im Format MM:SS:HH (M=Minuten, S=Sekunden, H=Hundertstelsekunden).   * Das LCD zeigt die aktuelle laufende/gestoppte Zeit im Format MM:SS:HH (M=Minuten, S=Sekunden, H=Hundertstelsekunden).
     * Erstelle hierfür eine Funktion z. B. //showTime//, der du eine Zeit in Millisekunden übergeben kannst und die diese Zeit im gewünschten Format aufs Display schreibt. Nutze die Funktion ''sprintf'' für Formatierungen, siehe Beispiele [[https://gist.github.com/ArduinoBasics/6517378fc2ef9e851773837f301b1d55|hier]] und [[https://forum.arduino.cc/t/convert-int-to-sring-with-leading-zero/629313|hier]].     * Erstelle hierfür eine Funktion z. B. //showTime//, der du eine Zeit in Millisekunden übergeben kannst und die diese Zeit im gewünschten Format aufs Display schreibt. Nutze die Funktion ''sprintf'' für Formatierungen, siehe Beispiele [[https://gist.github.com/ArduinoBasics/6517378fc2ef9e851773837f301b1d55|hier]] und [[https://forum.arduino.cc/t/convert-int-to-sring-with-leading-zero/629313|hier]].
  
-<nodisp 1>+<nodisp 2>
 ++++Lösung| ++++Lösung|
 <code c++ CrhonoMeter01.cpp>  <code c++ CrhonoMeter01.cpp> 
Zeile 480: Zeile 480:
   * 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.
  
  • talit/electronics/arduno.1678982575.txt.gz
  • Zuletzt geändert: 2023-03-16 16:02
  • von gra