kramann.info
© Guido Kramann

Login: Passwort:










Robuste Systemintegration
1 Grundlagen
..1.1 Newton
....1.1.1 LinearSchwinger
....1.1.2 Daempfung
....1.1.4 ODE
....1.1.5 Saaluebung
..1.2 NewtonEuler
....1.2.1 Traegheitsmomente
....1.2.2 Modellgleichungen
....1.2.3 Einfachpendel
..1.3 Scilab
....1.3.1 Erste_Schritte
....1.3.2 Skripte
....1.3.3 Funktionen
..1.4 Laplace
....1.4.1 Eigenwerte
....1.4.2 PT1
..1.5 Regleroptimierung
....1.5.1 Guetefunktion
....1.5.2 Heuristiken
....1.5.3 Scilab
..1.6 Einstellregeln
....1.6.1 Totzeit
....1.6.2 Methode1
....1.6.3 Methode2
....1.6.4 Scilab
..1.7 Zustandsregler
..1.8 Polvorgabe
..1.8 Polvorgabe_alt
..1.9 Beobachter
....1.9.1 Haengependel
..1.10 Daempfungsgrad
..1.11 Processing
....1.11.1 Installation
....1.11.2 Erste_Schritte
....1.11.3 Mechatronik
....1.11.4 Bibliotheken
....1.11.5 Uebung
....1.11.6 Snippets
......1.11.6.1 Dateioperationen
......1.11.6.2 Bilder
......1.11.6.3 GUI
......1.11.6.4 Text
......1.11.6.5 PDF
......1.11.6.8 Maus
......1.11.6.10 Zeit
......1.11.6.13 Animation
......1.11.6.15 Simulation
....1.11.7 Referenzen
..1.12 Breakout
2 Beispiel
3 Beispielloesung
4 Praxis
5 javasci
6 Fehlertoleranz1
7 Reglerentwurf
..7.1 Sprungantwort
..7.2 Messdaten
..7.3 Systemidentifikation
..7.4 Polvorgabe
..7.5 Beobachter
..7.6 Robuster_Entwurf
..7.7 SIL
8 Systementwicklung
9 Arduino
..9.1 Lauflicht
..9.2 Taster
..9.3 Sensor
..9.12 Motor_PWM1
..9.13 Motor_PWM2_seriell
..9.14 Motor_PWM3_analogWrite
..9.15 Scheduler
..9.20 AV
..9.21 Mikrofon
..9.22 Universal
....9.22.1 Laborplatine
....9.22.2 LED_Leiste
....9.22.3 Motortreiber
....9.22.4 Sensoreingaenge
....9.22.5 Taster
....9.22.6 Tests
....9.22.7 Mikrofon
....9.22.8 Lautsprecher
....9.22.9 Fahrgestell
..9.23 Zauberkiste
..9.24 OOP
....9.24.1 Uebungen
..9.25 AVneu
....9.25.1 Tests
..9.26 DA_Wandler
..9.27 CompBoard
....9.27.1 Tastenmatrix
....9.27.2 ASCIIDisplay
..9.28 CTC
..9.29 Tonerzeugung
10 EvoFuzzy
..10.1 Fuzzy
....10.1.1 Fuzzylogik
....10.1.2 FuzzyRegler
....10.1.3 Uebung9
....10.1.5 Softwareentwicklung
......10.1.5.1 AgileSoftwareentwicklung
......10.1.5.2 FuzzyRegler
......10.1.5.3 Uebung
....10.1.6 Umsetzung
......10.1.6.1 FuzzyRegler
......10.1.6.2 Simulation
......10.1.6.3 Optimierung
......10.1.6.4 Uebung
....10.1.7 Haengependel
......10.1.7.1 Haengependel
......10.1.7.2 Simulation
......10.1.7.3 FuzzyRegler
......10.1.7.4 Optimierer
......10.1.7.5 Genetisch
....10.1.8 Information
....10.1.9 Energie
..10.2 Optimierung
....10.2.1 Gradientenverfahren
....10.2.2 Heuristiken
....10.2.3 ModifizierteG
....10.2.4 optim
..10.3 Genalgorithmus
..10.4 NeuronaleNetze
....10.4.1 Neuron
....10.4.2 Backpropagation
....10.4.3 Umsetzung
....10.4.4 Winkelerkennung
..10.5 RiccatiRegler
11 Agentensysteme
12 Simulation
20 Massnahmen
21 Kalmanfilter
..21.1 Vorarbeit
..21.2 Minimalversion
..21.3 Beispiel
30 Dreirad
31 Gleiter
..31.1 Fehlertoleranz
80 Vorlesung_2014_10_01
81 Vorlesung_2014_10_08
82 Vorlesung_2014_10_15
83 Vorlesung_2014_10_22
84 Vorlesung_2014_10_29

9.1 Erstes Projekt: Programmierung eines Lauflichts mit Arduino

9.1 (EN google-translate)

9.1 (PL google-translate)

lauflicht.zip - Projektdaten: Arduino-Quelltext und Fritzing-Datei (Schaltplan-Layout auf einem Steckbrett)

1. Bauen Sie die nachfolgende Schaltung auf und verbinden das Arduino-Micro-Board mit dem PC

Schaltung für das Lauflicht.

Bild 9.1-1: Schaltung für das Lauflicht.

2. Starten Sie die Arduino IDE

Desktop-Icon Arduino IDE

Bild 9.1-2: Desktop-Icon Arduino IDE

3. Fügen Sie dort folgenden Quelltext ein:

void setup() 
{
  pinMode(2,OUTPUT);  
  pinMode(4, OUTPUT); 
  pinMode(6, OUTPUT);   
}

void loop() 
{
  digitalWrite(2,HIGH);
  digitalWrite(4,LOW);
  digitalWrite(6,LOW);    
  delay(200); 
  digitalWrite(2,LOW);
  digitalWrite(4,HIGH);
  digitalWrite(6,LOW);    
  delay(200); 
  digitalWrite(2,LOW);
  digitalWrite(4,LOW);
  digitalWrite(6,HIGH);    
  delay(200); 
}

Code 9.1-1: Quelltexrt für das Lauflicht.

Hinweise
  • In der Methode setup() wird das Board konfiguriert. Die Pins des Boards sind multifunktional und es wird hier mit pinMode(..) eine Funktion ausgewählt, hier "OUTPUT".
  • Die Nummern 2,4,6 stellen die im Pinlayout (vergl. Einstiegsseite zu Arduino) bezeichneten Nummern der Pins dar und nicht etwa die natürliche Zählung der Pins.
  • Die Methode loop() wird nach einmaligem Ausführen der Methode setup() zyklisch wiederholt.
  • Erst wied hier die LED bei Pin 3 eingeschaltet und die anderen ausgeschaltet, dann die bei 4, dann die bei 6. Dies wird zyklisch wiederholt und ist mit einer Zeitverzögerung dazwischen versehen.
  • Die Zeitverzögerungsangabe erfolgt in Millisekunden. Hier wird also von Schritt zu Schritt mit 0,2 Sekunden verzögert.

4. Speichern Sie die Datei in einem eigenen Ordner unter dem Namen "lauflicht"

Speichnern des Programms.

Bild 9.1-3: Speichnern des Programms.

5. Wählen Sie bei "Werkzeuge" die richtigen Einstellungen für die Übertragung des Programms auf das Arduino-Board

  • Wahl des richtigen Arduino-Boards (Arduino Micro)
  • Wahl des richtigen Ports (/dev/ttyACM0)
  • Wahl der richtigen Programmiermethode (ArduinoISP)

6. Hochladen des Programms (Pfeil nach rechts)

Aufgabe
  • Ergänzen Sie weitere Lauflichter und steuern diese durch Erweiterungen im Quelltext richtig an.
  • Modifizieren Sie das Programm so, dass das Licht hin und her läuft, anstatt nur in eine Richtung.
  • Statt LOW und HIGH können auch die Zahlen 0 und 1 verwendet werden. Lösen Sie mit Hilfe dieser Information die Aufgabe mit Hilfe einer Schleife, statt die Schritte hintereinander hinzuschreiben.