Kurs Sensorik und Aktorik

ATmega328
ATmega328
Programm Arduino
Programm Arduino
LED wird über Arduino angesprochen, © Robert Carlsen
LED wird über Arduino angesprochen, © Robert Carlsen

Freitag, 22. November 2013

Kurs Sensorik und Aktorik Motor antreiben mit Akku Problem: Akku muss genug Strom liefern Drahtwiderstand (Länge und Dicke) hintere LEDs leuchten bei großen Installationen schwächer (bei Parallelschaltung) R ~ L / d² (Widerstand proportional Länge Draht durch Durchmesser Draht) Wohnungsbrände: großer Widerstand bei Drähten (bei Bruchstellen Hitze -> Brand) Aufgabe: Innenwiderstand von Akku bestimmen mit Schutzwiderstand, damit Messgerät nicht kaputt geht R(i) (Widerstand Stromquelle), R(s) (Widerstand Messgerät) R(ges) = U / I R(i)=U – U(s) / J ohne Widerstand 9 V, mit Widerstand 8,74 V 0,26 V / 0, 027 A ≈ 10 W Milliamperestunden (mAh) W = P * t (Arbeit ist Leistung mal Zeit) in Ws (Watt * Sekunden) Ladung Q Q = J * t (in Amperesekunden) t(E): Entladezeit t(E) = Q / J ATmega328 crowduino.jpg Mikrocontroller "Crowduino" (10 – 20 EUR) Hauptchip über USB-Ladekabel, Netzteil (7 – 12 V), Batterie (aber stabil) Reset-Knopf Programm Arduino arduino.jpg Installation von Programm Arduino Aufbau ähnlich Processing (auch mit Hilfe > Referenz) Basis von Arduino nicht Java, sondern C C++ mehr Klassen als C Klasse bündelt Daten und Funktionen Editor-Fenster void setup() void loop() statt in Processing draw() Zugriff auf einzelne Pins Aufgabe: LED anschalten und blinken lassen große Ports (mit durchnummerierten Pins) analog (0 – 5) auch als digitale Pins nutzbar digital (0 – 7) mit Werten 0 und 1 andere Teile über digitalen Port verbunden (wie LED-Laufschrift-Gerät), als serielle Schnittstelle nutzbar setup: festlegen, welche Pins als Ausgang/Eingang genutzt werden sollen pinMode(LED,OUTPUT); (Beispiel LED = 12 als Ausgang benutzen) Pins: 14 mA, darüber Belastung zu hoch 200 mA belastbar insgesamt (maximal zehn LEDs) LED=Variable, die am Anfang mit int LED = 12 eingeführt wird const int LED = 12; const: nicht mehr änderbar #define LED12 (Variante für C) LED wird über Arduino angesprochen, © Robert Carlsen led.jpg LED ansteuern: digitalWrite(LED,HIGH); oder digitalWrite(LED,LOW); delay(1000): weiteres Ausführen für eine Sekunde verzögern HIGH = 5 V (eigentlich etwas dadrunter) und LOW = 0 V langsam einblenden: Trick mit schnellem hin und herschalten, ansonsten analogen Port verwenden Tools > Board > [Board auswählen] eine Pin als Ground im setup() definieren: pinMode(GND1,OUTPUT); digitalWrite(GND1,LOW); A0 – A5: analoge Pins digital ansprechen analogen Pin auslesen: analogRead(); Aufgabe: lichtempfindlichen Widerstand einfügen, damit LEDs schneller blinken, wenn es dunkel wird mit Poti kann Wert gesteigert werden (potenzieren) lichtempfindlicher Widerstand zwischen 5-V-Pin und Poti legen (Voltzahl wird dadurch verändert) pinMode(POTI,INPUT); 0 ~ 0 V und 1023 ~ 5 V
Diese Netzpublikation gibt Einblick in mein Kunststudium an der Hochschule für Grafik und Buchkunst Leipzig von 2012 bis 2018. Ich möchte niemandem schaden, sondern meine Studienzeit in all ihrer Komplexität festhalten – in Bezug auf das Studium, die Kunst im Allgemeinen und meine eigene Arbeit. Fehlerhafte Informationen sind ungewollt Teil der Notizen, bedingt durch meinen Wissensstand und teils unleserliche handschriftliche Notizen. Zitate sind nur dann angegeben, wenn ich sicher bin, dass sie korrekt wiedergegeben wurden, auch wenn sie aus dem Zusammenhang gerissen sind. Meine künstlerische Arbeit thematisiert vor allem Suche und Zweifel. Gespräche mit Professoren und Dozenten fließen in meine Notizen und meine künstlerische Entwicklung ein.

Leipzig, 13. Dezember 2016