Arduino Workshop HTW Berlin Studiengang Angewandte Informatik Ei
Arduino Workshop HTW Berlin - Studiengang Angewandte Informatik - Ei. MM - 2015 Jens Reinhardt
Ein bisschen Physik HTW Berlin - Studiengang Angewandte Informatik - Ei. MM - 2015 Jens Reinhardt
Spannung und Strom ✦ Spannung (U) ist elektrischer Potentialunterschied eine Stelle Elektronenüberschuss ✦ eine Stelle Elektronenmangel ✦ Spannungsquelle Minuspol Elektronenüberschuss und Pluspol Elektronenmangel ✦ Einheit für elektronische Spannung ist Volt (V) ✦ ✦ gerichtete Bewegung wird als elektrischer Strom (I) bezeichnet ✦ Einheit des elektrischen Stroms ist Ampere (A) ✦ je höher die Spannung ist, desto schneller bewegen sich die Elektronen HTW Berlin - Studiengang Angewandte Informatik - Ei. MM - 2015 Jens Reinhardt 3
Widerstand ✦ Verbindet man Minus- und Plus-Pol mit einer Glühbirne, so fließen Elektronen vom Minus- zum Pluspol und passieren dabei den Glühfaden in der Glühbirne. ✦ Der Glühfaden der Glühbirne behindert den Elektronenfluss ✦ Das Mass, in dem die Elektronen gebremst werden, ergibt den elektrischen Widerstand (R) Spannung, Strom und Widerstand stehen also in einem direkten Verhältnis zu einander HTW Berlin - Studiengang Angewandte Informatik - Ei. MM - 2015 Jens Reinhardt R=U/I 4
Leistung ✦ Das Abbremsen der Elektronen führt dazu, dass sie einen Teil Ihrer Energie verlieren. ✦ Energie kann nicht verloren gehen ✦ Umwandlung der Energie in Wärmeund im Falle der Glühbirne, zu Lichtenergie ✦ elektrische Leistung (P) ✦ Einheit für die Leistung ist Watt(W) HTW Berlin - Studiengang Angewandte Informatik - Ei. MM - 2015 Jens Reinhardt P=U*I 5
Gleich- und Wechselstrom ✦ Man unterscheidet zwischen Gleich- und Wechselstrom ✦ Gleichstrom hat einen Minus- und einen Pluspol. Beim Wechselstrom wechselt sich die Stromrichtung, also die Bewegung der Elektronen, kontinuierlich ✦ An Steckdosen liegt Wechselstrom mit 230 V an ✦ In Deutschland wechselt sich die Stromrichtung fünfzig mal in der Sekunde (50 Hertz), in den USA sechzig Mal (60 Hertz) HTW Berlin - Studiengang Angewandte Informatik - Ei. MM - 2015 Jens Reinhardt 6
Gleich- und Wechselstrom ✦ In der Mikroelektronik arbeitet man fast ausschließlich mit Gleichstrom ✦ Gleichstrom bekommt man z. B. aus Batterien oder » gleichgerichteten « Netzteilen ✦ Die Kennzeichnung für Wechselstrom ist AC (alternating current) ✦ Die für Gleichstrom ist DC (direct current). HTW Berlin - Studiengang Angewandte Informatik - Ei. MM - 2015 Jens Reinhardt 7
PWM ✦ PWM bedeutet Pulse Width Modulation ✦ beschreibt ein Verfahren, bei dem der Strom in schneller Abfolge einund abgeschaltet wird ✦ träge Bauelemente kann man durch ein PWM Signal dimmen ✦ auf dem Arduino-Board gibt es sechs bzw. sieben (Leonardo) Kanäle, die PWM-Signale erzeugen können HTW Berlin - Studiengang Angewandte Informatik - Ei. MM - 2015 Jens Reinhardt Quelle: http: //commons. wikimedia. org/wiki/File: P wm. png z. B. Glühlampe oder Motor Eine LED ist kein träges Bauelement. Hier wird die Trägheit des Auges ausgenutzt. 8
PWM HTW Berlin - Studiengang Angewandte Informatik - Ei. MM - 2015 Jens Reinhardt 9
Ein bisschen Elektrotechnik HTW Berlin - Studiengang Angewandte Informatik - Ei. MM - 2015 Jens Reinhardt
Isolator ✦ Isolatoren nennt man Materialien, die keinen oder nur sehr schlecht elektrischen Strom leiten ✦ Sie werden überall da benutzt, wo kein Strom durchfließen soll z. B. als Kabelummantelung ✦ als Gehäusematerial für elektronische Geräte. ✦ HTW Berlin - Studiengang Angewandte Informatik - Ei. MM - 2015 Jens Reinhardt 12
Leiter ✦ Als Leiter werden Materialien bezeichnet, die einen sehr kleinen elektrischen Widerstand besitzen ✦ Dazu zählen alle Metalle ✦ einige Keramiken ✦ Flüssigkeiten mit frei beweglichen Ionen ✦ etc. ✦ HTW Berlin - Studiengang Angewandte Informatik - Ei. MM - 2015 Jens Reinhardt 13
Halbleiter ✦ Halbleiter sind entweder Isolator oder Leiter, je nachdem, wie man verschiedene halbleitende Schichten kombiniert oder verschaltet ✦ Es gibt zwei Arten von Schichten p-Schicht weist chemisch einen Elektronenmangel auf ✦ n-Schicht einen Elektronenüberschuss ✦ ✦ Halbleiter sind z. B. Transistoren und Dioden ✦ Computerprozessoren basieren ebenfalls auf Halbleiter-Technologie HTW Berlin - Studiengang Angewandte Informatik - Ei. MM - 2015 Jens Reinhardt 14
THT und SMD ✦ Für die Montage auf Leiterplatten (auch Platinen oder PCBs) gibt es zwei grundlegende Verfahren ✦ THT (through-hole technology) ✦ SMD (surface-mounted device) ✦ Anschlüsse von THT Bauteilen werden durch Löcher auf der Platine gesteckt und von unten verlötet ✦ SMD Bauteile benötigen keine Löcher ✦ werden direkt auf Kupferpads gelötet ✦ Vorteile: ✦ geringe Bauteilgröße ✦ geringeren Kosten ✦ Nachteil: ✦ Verlöten ✦ Industriell von SMD Bauteilen schwierig setzt man heutzutage fast ausschließlich auf SMD-Technologie HTW Berlin - Studiengang Angewandte Informatik - Ei. MM - 2015 Jens Reinhardt 15
Datenblatt ✦ Zu jedem elektronischen Bauteil findet man im Internet eine genaue Beschreibung ✦ Sie beinhaltet: die Form des Bauteils (Package) ✦ die genauen Dimensionen ✦ die elektronischen Eigenschaften ✦ eine Funktionsbeschreibung ✦ eventuell kann eine Beispielschaltung vorhanden sein ✦ HTW Berlin - Studiengang Angewandte Informatik - Ei. MM - 2015 Jens Reinhardt 16
Passive Bauelemente HTW Berlin - Studiengang Angewandte Informatik - Ei. MM - 2015 Jens Reinhardt
Widerstand ✦ jedes elektronische Bauelement hat einen spezifischen Widerstand ✦ normaler Weise ist dieser relativ klein, d. h. dass der Strom schnell das Bauteil durchströmen kann, da er kaum behindert wird ✦ für viele Bauteile kritisch, da sie durch zu hohe Ströme zerstört werden können ✦ Bsp. : ✦ Eine LED verträgt nur sehr wenig Strom und eine geringe Spannung ✦ um sie zu schützen, schaltet man die LED mit einem Widerstand in Reihe ✦ der Widerstand begrenzt den Stromfluss und schützt somit die LED. ✦ Wie groß der Widerstand sein muss, kann man berechnen, testen oder greift auf Erfahrungswerte zurück ✦ Bei 5 V sollte einer normalen LED ein Widerstand von 220 – 330 Ohm vorgeschalten werden. ✦ Es gibt zwei hauptsächliche Arten von Widerständen ✦ Kohleschicht-Widerstände (gelblich) ✦ Metallschicht-Widerstände (blau). HTW Berlin - Studiengang Angewandte Informatik - Ei. MM - 2015 Jens Reinhardt 18
Potentiometer ✦ Ein Potentiometer ist ein regelbarer Widerstand ✦ Es hat drei Anschüsse, wobei die beiden äußeren Anschlüsse über ein Widerstandsmaterial mit einander verbunden sind ✦ Der mittlere Anschluss ist der Abgriff auf dem Widerstandsmaterial ✦ Je nach dem, wo sich der Abgriff auf dem Widerstandsmaterial befindet, teil er es in zwei Teilwiderstände. HTW Berlin - Studiengang Angewandte Informatik - Ei. MM - 2015 Jens Reinhardt 19
Kondensator ✦ Kondensatoren können kurzzeitig Strom aufnehmen und auch wieder abgeben ✦ Man unterscheidet sie nach der Bauart Elektrolyt-Kondensatoren, ✦ Keramik-Kondensatoren, ✦ Folien-Kondensatoren) ✦ und nach ihrer Kapazität (in Farad F). ✦ HTW Berlin - Studiengang Angewandte Informatik - Ei. MM - 2015 Jens Reinhardt 20
Taster & Schalter ✦ Taster ✦ schließen einen Stromkreis, solange sie gedrückt werden ✦ Schalter schalten einen Stromkreis ein oder aus. ✦ sie haben nach der Betätigung einen stabilen Zustand (im Gegensatz zu einem Taster). ✦ Es gibt ✦ ✦ An-Aus-Schalter ✦ Umschalter ✦ Drehschalter ✦ Neigungsschalter ✦ Reed-Schalter ✦ u. v. m. HTW Berlin - Studiengang Angewandte Informatik - Ei. MM - 2015 Jens Reinhardt 21
Halbleiter HTW Berlin - Studiengang Angewandte Informatik - Ei. MM - 2015 Jens Reinhardt
Diode ✦ Eine Diode ist ein Halbleiterbauelement, das Strom nur in eine Richtung durchlässt (Durchlassrichtung) ✦ Lässt man den Strom in die Andere Richtung fließen, blockiert die Diode den Stromfluss (Sperrrichtung) ✦ Einsatz: ✦ Gleichrichtung, ✦ zum Schutz von Schaltungen vor Verpolung (von Batterien z. B. ) ✦ als Induktionsspannungsschutz (bei Spulen, Elektromagneten, Relais etc. ). ✦ Gekennzeichnet sind Dioden mit einem Ring auf einer Seite des Gehäuses (Kathodenseite = Minus-Pol). ✦ Zener-Dioden (auch Z-Diode) werden zur Stabilisierung und Begrenzung von elektrischen Spannungen eingesetzt ✦ In Durchlassrichtung verhalten sie sich wie normale Dioden ✦ Schaltet man sie in Sperrrichtung, so lassen sie ab einer festgelegten Spannung Strom fließen. HTW Berlin - Studiengang Angewandte Informatik - Ei. MM - 2015 Jens Reinhardt 23
LED ✦ Eine LED (Light Emitting Diode) ist eine Diode, die Licht aussendet ✦ Signal-LEDs strahlen kaum Licht ab, wogegen ultrabright/superhelle LEDs sehr hell leuchten können ✦ Es gibt LEDs in runden (10, 5, 3 mm) und eckigen Bauformen, in verschiedenen Farben und Leuchtstärken Auch LEDs haben eine Anode (Plus-Pol) und eine Kathode (Minus. Pol) ✦ Das Anodenbeinchen ist etwas länger und bei runden LEDs ist die Kathoden-Seite des LED-Gehäuses abgeschliffen HTW Berlin - Studiengang Angewandte Informatik - Ei. MM - 2015 Jens Reinhardt 24
LED Vorwiderstand ✦ Da LEDs einen sehr geringen Innenwiderstand haben, aber nur wenig Strom vertragen, ist ein in Reihe zu der LED geschalteter Vorwiderstand von Nöten. ✦ Eine normale Signal-LED hat eine Stromaufnahme von 0, 015 A (15 m. A) und eine Betriebsspannung von 2, 2 V ✦ Der Spannungsverlust durch den Widerstand muss 2, 8 V betragen (5 V - 2, 2 V = 2, 8 V) ✦ Nach R = U / I beträgt der Vorwiderstand = 186 Ω ✦ wenn kein Widerstand nach der Berechnung ist, Informatik nächst höheren wählen HTW Berlin vorhanden - Studiengang Angewandte - Ei. MM - 2015 25 Jens Reinhardt
sonstige Bauelemente HTW Berlin - Studiengang Angewandte Informatik - Ei. MM - 2015 Jens Reinhardt
Breadboard ✦ Um eine Idee schnell zu testen, kann man Breadboards (Steckbretter) zum stecken der Elektronik verwenden ✦ Durch Löcher in einem Raster, können Bauteile mit einander verbunden werden ✦ Die Verbindungen des Breadboards ist in der Abbildung zu sehen ✦ Für die Dokumentation der Schaltungen und auch für die spätere Produktion von Leiterplatten (PCBs), ist die Fritzing-Software bestens geeignet. (www. fritzing. org) HTW Berlin - Studiengang Angewandte Informatik - Ei. MM - 2015 Jens Reinhardt 29
Breadboard Schaltung Quelle: http: //de. wikibooks. org/wiki/Datei: Breadboard. Contacts. svg HTW Berlin - Studiengang Angewandte Informatik - Ei. MM - 2015 Jens Reinhardt 30
Arduino HTW Berlin - Studiengang Angewandte Informatik - Ei. MM - 2015 Jens Reinhardt
Arduino ✦ Microcontroller: ATmega 32 u 4 ✦ Operating Voltage: 5 V ✦ Input Voltage (recommended): 7 -12 V ✦ Input Voltage (limits): 6 -20 V ✦ Digital I/O Pins: 20 ✦ PWM Channels: 7 ✦ Analog Input Channels: 12 ✦ DC Current per I/O Pin: 40 m. A ✦ DC Current for 3. 3 V Pin: 50 m. A ✦ Flash Memory: 32 KB (ATmega 32 u 4) of which 4 KB used by bootloader ✦ SRAM: 2. 5 KB (ATmega 32 u 4) ✦ EEPROM: 1 KB (ATmega 32 u 4) ✦ Clock Speed: 16 MHz HTW Berlin - Studiengang Angewandte Informatik - Ei. MM - 2015 Jens Reinhardt 32
Arduino Software ✦ Arduino Software findet man auf http: //arduino. cc/en/Main/Software. ✦ eventuell wird der FTDI Treiber benötigt (abhängig vom Board) ✦ dient der Datenübertragung zum Arduino-Board. ✦ wichtig für eine korrekte Kommunikation zwischen dem Board und der Software ist die Auswahl des richtigen Ports (Hauptmenü: Tools > Serial Port) ✦ richtige Arduino-Modell ausgewählt werden (Tools > Board) ✦ wird das Leonardo-Board nicht angeboten > Micro auswählen Kompilieren (Programm auf Fehler überprüfen) Stop (kompilieren abbrechen) neuen Sketch erstellen Sketch öffnen Sketch speichern Sketch auf Arduino-Board übertragen seriellen Monitor öffnen HTW Berlin - Studiengang Angewandte Informatik - Ei. MM - 2015 Jens Reinhardt 33
Struktur eines Sketches ✦ die grundlegende Programmstruktur eines Arduino-Programms setzt sich aus zwei Methodenblöcken zusammen ✦ die erste Methode ist void setup() hier werden Grundeinstellungen (z. B. ob ein Kanal ein In- oder Output ist) vorgenommen ✦ diese Methode wird nur beim Programmstart ausgeführt. ✦ ✦ die void loop() Methode wird im Gegensatz zum Setup ständig wiederholt ✦ hier wird der eigentliche Programmablauf geschrieben. HTW Berlin - Studiengang Angewandte Informatik - Ei. MM - 2015 Jens Reinhardt void setup() { } void loop() { } 34
Digital Out ist eine Funktion, mit der ein digitaler Kanal des Boards auf 5 V+ oder GND (Minus-Pol) gesetzt werden kann ✦ pin. Mode(led. Pin, OUTPUT); ✦ digital. Write(); legt fest, dass der Pin als Ausgang genutzt wird ✦ mögliche Modi sind: INPUT, OUTPUT & INPUT_PULLUP ✦ ✦ digital. Write(led. Pin, ✦ setzt den PIN auf HIGH, also 5 V+ ✦ digital. Write(led. Pin, ✦ HIGH); LOW); setzt den PIN auf LOW, also GND HTW Berlin - Studiengang Angewandte Informatik - Ei. MM - 2015 Jens Reinhardt http: //arduino. cc/en/Tutorial/Blink int led. Pin = 13; void setup() { pin. Mode(led. Pin, OUTPUT); } void loop() { digital. Write(led. Pin, HIGH); delay(1000); digital. Write(led. Pin, LOW); delay(1000); } 35
Digital In const int button. Pin = 4; const int led. Pin = 13; int button. State = 0; void setup() { pin. Mode(led. Pin, OUTPUT); pin. Mode(button. Pin, INPUT); } void loop(){ button. State = digital. Read(button. Pin); if (button. State == HIGH) { digital. Write(led. Pin, HIGH); } else { digital. Write(led. Pin, LOW); } } HTW Berlin - Studiengang Angewandte Informatik - Ei. MM - 2015 Jens Reinhardt 36
Analog Out int led. Pin = 9; void setup() { } void loop() { for(int i = 0 ; i <= 255; i +=5) { analog. Write(led. Pin, i); delay(30); } for(int i = 255 ; i >= 0; i -=5) { analog. Write(led. Pin, i); delay(30); } } HTW Berlin - Studiengang Angewandte Informatik - Ei. MM - 2015 Jens Reinhardt 37
Analog Out int led. Pin 1 = 3; int led. Pin 2 = 5; int led. Pin 3 = 6; void setup() { } http: //arduino. cc/en/uploads/Tutorial/read. ASCIIString_bb. png HTW Berlin - Studiengang Angewandte Informatik - Ei. MM - 2015 Jens Reinhardt void loop() { for(int i = 0 ; i <= 255; i +=5) { analog. Write(led. Pin 1, i); analog. Write(led. Pin 2, i); analog. Write(led. Pin 3, i); delay(30); } for(int i = 255 ; i >= 0; i -=5) { analog. Write(led. Pin 1, i); analog. Write(led. Pin 2, i); analog. Write(led. Pin 3, i); delay(30); } } 38
Analog In Bitte Vorwiderstand benutzen int sensor. Pin = 0; int led. Pin = 13; int sensor. Value = 0; void setup() { pin. Mode(led. Pin, OUTPUT); } void loop() { sensor. Value = analog. Read(sensor. Pin); digital. Write(led. Pin, HIGH); delay(sensor. Value); digital. Write(led. Pin, LOW); delay(sensor. Value); } HTW Berlin - Studiengang Angewandte Informatik - Ei. MM - 2015 Jens Reinhardt 39
Aufgaben ✦ Steuern sie eine LED (Steuerung der Helligkeit) mit Hilfe des Arduinos und eines Potentiometers ✦ nutzen sie den Photowiderstand ✦ Nutzen sie die serielle Konsole ✦ Steuern sie ein RGB LED ✦ Nutzen Sie die serielle Konsole ✦ nutzen sie dazu ein Farbmodell, welches den Hue-Wert zur Beschreibung von Farbe nutzt HTW Berlin - Studiengang Angewandte Informatik - Ei. MM - 2015 Jens Reinhardt 40
HTW Berlin - Studiengang Angewandte Informatik - Ei. MM - 2015 Jens Reinhardt 41
Lösung LED-Seriell const int led. Pin = 9; // the pin that the LED is attached to void setup() { // initialize the serial communication: Serial. begin(9600); // initialize the led. Pin as an output: pin. Mode(led. Pin, OUTPUT); } void loop() { byte brightness; // check if data has been sent from the computer: if (Serial. available()) { // read the most recent byte (which will be from 0 to 255): brightness = Serial. read(); // set the brightness of the LED: analog. Write(led. Pin, brightness); } } HTW Berlin - Studiengang Angewandte Informatik - Ei. MM - 2015 Jens Reinhardt 42
Lösung Color Wheel // Input a value 0 to 255 to get a color value. // The colours are a transition r - g - back to r. uint 32_t Wheel(byte Wheel. Pos) { Wheel. Pos = 255 - Wheel. Pos; if(Wheel. Pos < 85) { return strip. Color(255 - Wheel. Pos * 3, 0, Wheel. Pos * 3); } else if(Wheel. Pos < 170) { Wheel. Pos -= 85; return strip. Color(0, Wheel. Pos * 3, 255 - Wheel. Pos * 3); } else { Wheel. Pos -= 170; return strip. Color(Wheel. Pos * 3, 255 - Wheel. Pos * 3, 0); } } HTW Berlin - Studiengang Angewandte Informatik - Ei. MM - 2015 Jens Reinhardt 43
HTW Berlin - Studiengang Angewandte Informatik - Ei. MM - 2015 Jens Reinhardt 44
- Slides: 41