Arduino: Taster auswerten und LEDs ansteuern: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „Kategorie:Arduino thumb|rigth|450px|Abb. 1: Lernset - Einsteiger Kit für Arduino '''Autor:''' Prof. Dr.-Ing. Schneider<br> '''Modul:''' Praxismodul I<br> '''Lehrveranstaltung:''' Mechatronik, Informatikpraktikum 1, 1. Semester, Wintersemester == Inhalt == * Einstieg in die Arduino Welt * Programmcode (Datentypen, Grundstruktur) * if-Verzweigung * LED, aktiver und pass…“)
 
Keine Bearbeitungszusammenfassung
Zeile 6: Zeile 6:


== Inhalt ==
== Inhalt ==
* Einstieg in die Arduino Welt
* Programmierrichtlinien
* Programmcode (Datentypen, Grundstruktur)
* Taster mittels Arduino auslesen, entprellen, Pull-Up/Pull-Down-Widerstand
* if-Verzweigung
* Zähler inkrementieren
* LED, aktiver und passiver Lautsprecher
* <code>switch..case</code>-Verzweigung
* Arduino IDE, Serieller Monitor, Code Debugging
* Ansteuerung einer RGB-LED
* Digitale Ein- und Ausgänge
 
* Analoge Ein- und Ausgänge


== Lernziele==
== Lernziele==
Nach Durchführung dieser Lektion
Nach Durchführung dieser Lektion
* haben Sie sich mit dem Arduino und der Arduino IDE vertraut gemacht.
* können Sie Quelltext entsprechend der Programmierrichtlinien schreiben.
* können Sie Programme schreiben, kompilieren und auf den Arduino übertragen.
* einen Taster einlesen und entprellen.
* können Sie Variablen aller Datentypen deklarieren.
* können Sie mittels Taster und <code>switch..case</code>-Verzweigung eine LED in verschiedenen Helligkeiten ansteuern
* haben Sie elektrische LED Schaltungen aufgebaut und in Betrieb genommen.
* eine RGB-LED in verschiedenen Farben ansteuern.
* haben Sie eine LED über eine Pulsweitenmodulation angesteuert.
* können Sie eine if-Verzweigung programmieren.


== Lernzielkontrolle ==
== Lernzielkontrolle ==
# Welche Datentypen können Sie in einem Arduino verwenden? Stellen Sie diese tabellarisch mit ihrer Länge auf.
# xxx
# Wann verwendet man welchen Datentyp?
# Wie werden lokale und wie globale Variablen deklariert?
# Was ist ein Makro?
# Wann und wie verwendet man die Befehle <code>define, static, const</code>?
# Wie programmiert man eine if-Verzweigung?
# Wie steuert man eine LED an? Erstellen Sie eine Schaltskizze. Wozu dient der Widerstand?
# Was ist der Unterschied zwischen aktiven und passiven Lautsprechern?
# Machen Sie sich mit dem [http://friedrich-folkmann.de/papdesigner/Hauptseite.html PAPDesigner] vertraut. Wou dient ein PAP? Planen Sie die Programme 2.2 bis 2.4 mit einem PAP.


'''Arbeitsergebnisse''' in SVN: <code>Lernzielkontrolle_Termin_02.pdf</code>
'''Arbeitsergebnisse''' in SVN: <code>Lernzielkontrolle_Termin_02.pdf</code>

Version vom 10. Oktober 2022, 11:57 Uhr

Abb. 1: Lernset - Einsteiger Kit für Arduino

Autor: Prof. Dr.-Ing. Schneider
Modul: Praxismodul I
Lehrveranstaltung: Mechatronik, Informatikpraktikum 1, 1. Semester, Wintersemester

Inhalt

  • Programmierrichtlinien
  • Taster mittels Arduino auslesen, entprellen, Pull-Up/Pull-Down-Widerstand
  • Zähler inkrementieren
  • switch..case-Verzweigung
  • Ansteuerung einer RGB-LED


Lernziele

Nach Durchführung dieser Lektion

  • können Sie Quelltext entsprechend der Programmierrichtlinien schreiben.
  • einen Taster einlesen und entprellen.
  • können Sie mittels Taster und switch..case-Verzweigung eine LED in verschiedenen Helligkeiten ansteuern
  • eine RGB-LED in verschiedenen Farben ansteuern.

Lernzielkontrolle

  1. xxx

Arbeitsergebnisse in SVN: Lernzielkontrolle_Termin_02.pdf

Versuchsdurchführung

Aufgabe 2.1: Lernzielkontrolle

Präsentieren Sie Prof. Schneider das Ergebnis der Lernzielkontrolle.

Arbeitsergebnisse in SVN: Lernzielkontrolle_Termin_02.pdf

Aufgabe 2.2: Wechselblinker

Zwei Leuchtdioden sollen abwechselnd blinken.

Nützliche Befehle: pinmode(), digitalWrite(), delay

Arbeitsergebnisse in SVN: Wechselblinker.ino

Musterlösung: Wechselblinker

Aufgabe 2.3: Pulsierende LED

Eine LED soll pulsierend heller und dunkler werden.

Nützliche Befehle: pinmode(), analogWrite(), delay(), if

Arbeitsergebnisse in SVN: PulsierendeLED.ino

Musterlösung: Pulsierende LED

Aufgabe 2.4: Licht und Tonsignal

Eine LED und ein Piezo-Lautsprecher sollen kontinuierlich blinken bzw. piepen. Zusätzlich werden in dieser Anleitung auch Variablen verwendet.

Dieses Mal nutzen wir auch den ersten Programmabschnitt. Hier werden Variablen eingetragen. Das bedeutet, dass sich nach der Festlegung in diesem Bereich hinter einem Buchstaben oder einem Wort für den gesamten folgenden Sketch eine Zahl verbirgt. Bei uns ist die LED an Pin4 angeschlossen und der Piezo-Speaker an Pin5. Damit man die beiden Pins später nicht verwechselt, benennen wir Pin4 und Pin5 einfach um.

  • Was ist der Unterschied zwischen aktiven und passiven Lautsprechern?

Nützliche Befehle: pinmode(), digitalWrite(), delay()

Arbeitsergebnisse in SVN: LichtundTon.ino

Musterlösung: Pulsierende LED

Aufgabe 2.5: Nachhaltige Doku

Sichern Sie alle Ergebnisse mit beschreibendem Text (message) in SVN.

  • Wurden die Regeln für den Umgang mit SVN eingehalten?
  • Wurde nachhaltig dokumentiert?
  • Haben die Programme einen Header?
  • Wurden der Quelltext umfangreich kommentiert?
  • Wurden die PAPs erstellt und abgelegt? Passen die PAPs 100% zum Programm?

Arbeitsergebnis in SVN: SVN Log

Bewertung

Aufgabe Punkte
1.1 2
1.2 2
1.3 2
1.4 2
1.5 2

Literatur

  1. Brühlmann, T.: Arduino Praxiseinstieg. Heidelberg: mitp, 4. Auflage 2019. ISBN 978-3-7475-0056-9. URL: HSHL-Bib, O'Reilly-URL
  2. Brühlmann, T.: Sensoren im Einsatz mit Arduino. Frechen : mitp Verlag, 1. Auflage 2017. ISBN: 9783958451520. URL: HSHL-Bib, O'Reilly
  3. Snieders, R.: ARDUINO lernen. Nordhorn: 8. Auflage 2022. URL: https://funduino.de/vorwort



→ zurück zum Hauptartikel:Arduino Praxiseinstieg