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 // | ||