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-03 08:53] – gra | talit: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 |
- | * 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-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 | + | - 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 27: | Zeile 26: | ||
//Tipp:// Du benötigst die Funktionen '' | //Tipp:// Du benötigst die Funktionen '' | ||
- | < | + | < |
++++Lösung mit delay()| | ++++Lösung mit delay()| | ||
<code c++ Blink.ino> | <code c++ Blink.ino> | ||
Zeile 46: | Zeile 45: | ||
</ | </ | ||
- | < | + | < |
++++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 '' | //Tipp:// Du benötigst u. a. die Funktion '' | ||
- | < | + | < |
++++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:// | + | * [[https:// |
* Potentiometer | * Potentiometer | ||
* drei Tasten | * drei Tasten | ||
Zeile 182: | Zeile 181: | ||
* Welche Pins geeignet sind, siehst du in der [[informatik: | * Welche Pins geeignet sind, siehst du in der [[informatik: | ||
* Du sollst wissen, was PWM ist und wie es funktioniert: | * Du sollst wissen, was PWM ist und wie es funktioniert: | ||
+ | |||
+ | <nodisp 2> | ||
+ | ++++Lösung| | ||
+ | <code c++ RGB-LED.ino> | ||
+ | /* RGB-LED mit gemeinsamer Annode --> Anode auf +5V. | ||
+ | Kathoden für red, green, blue über Widerstand auf | ||
+ | folgende PWM-Pins (für green ginge auch anderer Pin, | ||
+ | da grün bloss ein/ | ||
+ | #define ledRedPin 9 | ||
+ | #define ledGreenPin 10 | ||
+ | #define ledBluePin 11 | ||
+ | |||
+ | #define potiPin A0 // Abriff des Potentiometers --> 0...5 V, auf Pin A0. | ||
+ | #define downPin 4 // Taste " | ||
+ | #define upPin 5 // Taste " | ||
+ | #define onOffPin 6 // Taste " | ||
+ | |||
+ | #define debounce 200 // Wartezeit (in ms) zur " | ||
+ | |||
+ | uint8_t red = 255; // Werte auf HIGH, sodass LED dunkel | ||
+ | bool green = 1; | ||
+ | uint8_t blue = 255; | ||
+ | uint8_t blueStep = 5; | ||
+ | |||
+ | void setup() { | ||
+ | pinMode(ledRedPin, | ||
+ | pinMode(ledGreenPin, | ||
+ | pinMode(ledBluePin, | ||
+ | pinMode(potiPin, | ||
+ | pinMode(downPin, | ||
+ | pinMode(upPin, | ||
+ | pinMode(onOffPin, | ||
+ | } | ||
+ | |||
+ | void loop() { | ||
+ | red = analogRead(potiPin); | ||
+ | if(!digitalRead(onOffPin)){ | ||
+ | delay(debounce); | ||
+ | green = !green; | ||
+ | } | ||
+ | if(!digitalRead(downPin)){ | ||
+ | delay(debounce); | ||
+ | if(blue > 0){ | ||
+ | blue -= blueStep; | ||
+ | } | ||
+ | } | ||
+ | if(!digitalRead(upPin)){ | ||
+ | delay(debounce); | ||
+ | if(blue < 255){ | ||
+ | blue += blueStep; | ||
+ | } | ||
+ | } | ||
+ | analogWrite(ledRedPin, | ||
+ | digitalWrite(ledGreenPin, | ||
+ | analogWrite(ledBluePin, | ||
+ | } | ||
+ | </ | ||
+ | ++++ | ||
+ | </ | ||
+ | |||
=== Zusatzaufgaben === | === Zusatzaufgaben === | ||
- Zeige auf dem Display die aktuellen Farbwerte an. | - Zeige auf dem Display die aktuellen Farbwerte an. | ||
Zeile 188: | Zeile 247: | ||
===== - Chronometer ===== | ===== - Chronometer ===== | ||
- | <color # | + | <color # |
==== - Chronometer 1 ==== | ==== - Chronometer 1 ==== | ||
Programmiere den Arduino so, dass du die Zeit stoppen kannst: | Programmiere den Arduino so, dass du die Zeit stoppen kannst: | ||
* 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, | ||
- | * Das LCD zeigt die aktuelle laufende/ | + | |
+ | | ||
+ | * Erstelle hierfür eine Funktion z. B. // | ||
<nodisp 2> | <nodisp 2> | ||
Zeile 419: | Zeile 480: | ||
* Erstelle folgende Funktionen: | * Erstelle folgende Funktionen: | ||
* Eine Funktion // | * Eine Funktion // | ||
- | * Zwei Funktionen // | + | * Zwei Funktionen // |
* Alternative zu // | * Alternative zu // | ||