Was ist ein Mikrocontroller?
Ein Mikrocontroller (auch MCU oder µC) ist ein elektronisches Halbleiterelement, welches auf einem einzigen Chip mehrere Elemente, wie eine CPU, eine Uhr, Timer, I/O Ports und Speicher zur Verfügung stellt. Mikrocontroller werden heute in vielfältiger Art und Weise eingesetzt. Elektronische Produkte besitzen fast immer einen Mikrocontroller, welcher für die “Logik” der Produkte verantwortlich ist. Dabei verarbeitet er Eingaben von Sensorenund reagiert in dem er die Stellung oder Anzeige von Aktuatoren verändert.
...
Widget Connector | ||||||
---|---|---|---|---|---|---|
|
Übersicht über C/C++
Für Arduino werden wir in C/C++ programmieren. Da Arduino auf Processing aufbaut sieht die Oberfläche und die Syntax beider Programme sehr ähnlich aus. Es gibt jedoch einige Unterschiede, welche wir im Laufe des Workshops beleuchten werden. Ihr solltet schon über einige Grundkenntnisse der Programmierung verfügen. Eine Komplette Referenz für Arduino erhaltet ihr hier.
Spezielle Funktionen:
pinMode(PIN)
Definiert ob ein PIN als Eingang oder Ausgang benutz wird
...
delay(Wert)
Pausiert das aktuelle Programm für eine definierte Zeit (Zeit wird in Millisekunden angegeben)
Übersicht Arduino Board
USB
Die USB-Schnittstelle ist eine serielle Schnittstelle, welche zur Programmierung des Arduino verwendet wird. Ausserdem wird über diese Schnittstelle das Arduino mit Strom versorgt. Weitere Informationen unter [USB Schnittstelle]
...
Power
Hier sind alle Pins versammelt, welche für die grundlegende Spannungsversorgung benötigt werden. Es gibt GND, 5V, 3.3V und Vin.
Aufgaben:
1. Nutz das Blink Beispiel (Exampels/Basic/Blink) und erweitere es um eine zweite LED.
2. Öffne das BlinkWithout Delay Beispiel (Exampels/Digital/BlinkWithoutDelay) und verstehe das Konzept.
3. Programmiere ein Lauflicht mit 3 LEDs, welches sich von einer zur anderen Seite bewegt.
4. Definiert eine eigene Funktion void blinkLED(int _Pin, int _duration) welche es ermöglicht unterschiedliche LEDs mit unterschiedlichen Geschwindigkeiten blinken zu lassen.
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
int ledPins[3] = {8,9,10}; // Alle LED Pins in einem Array initialisieren boolean ledStates[3] = {false, false, false}; // Alle LED Status speichern long previousMillis[3] = {0,0,0}; // Die Zeiten speichern void setup() { for(int i=0; i<3; i++) { pinMode(ledPins[i], OUTPUT); // Alle LED Pins sind Output } } void loop() { blinkLED(1, 100); // Aufrufen unserer Funktion blinkLED(2, 1000); blinkLED(3, 500); } void blinkLED(int _Pin, int _duration) // Eigene Funktion { if(millis() - previousMillis[_Pin-1] > _duration) // Ist genug Zeit vergangen? { previousMillis[_Pin-1] = millis(); // Zeit speichern ledStates[_Pin-1] != ledStates[_Pin-1]; // Den LED State umdrehen (wenn AUS dann AN) digitalWrite(ledPins[_Pin-1], ledStates[_Pin-1]); // State setzen } } |
Weitere Informationen
Getting Started with Arduino – Massimo Banzi (2008)
Arduino – Die Arduino Website. Bitte anschauen…
Mikrocontroller – Was ist ein Mikrokontroller?
Reflektion
Mikrocontroller
In der ersten Lektion haben wir uns mit dem Mikrocontroller und dessen Schaltung und Programmierung vertraut gemacht. Folgende Inhalte waren dabei wichtig:
- Ein Mikrocontroller ist eine programmierbare elektronische Komponente.
- Wir verwenden die Arduino IDE, welche auf C/C++ basiert ist.
Bauteile
Des weiteren haben wir schon unterschiedliche elektronische Bauteile und Gesetzmässigkeiten angewandt. Dazu zählen:
- Widerstand
- LED
Hier zunächst weitere Informationen zu den betreffenden Bauteilen:
Make Presents: The Resistor
Make Presents: The LED
Funktionen
setup()
Wird nur einmal zum Beginn des Programms aufgerufen. Hier werden weitere Funktionen aufgerufen (z.B. pinMode()).
...