Version 13 (modified by 14 years ago) (diff) | ,
---|
Programmierung
Software Installation Windows
- Gehe auf die Homepage http://arduino.cc/en/Main/Software
- Lade dir in dem Abschnitt Download die Software fuer Windows herrunter. Zum Zeitpunkt des Girlsdays 2011 war die Version arduino-0022.zip aktuell.
- Entpacke die herruntergeladene Datei (arduino-0022.zip)
- Gehe in das entpackte Verzeichniss arduino-0022 und doppelklick auf arduino.exe
- die Arduino Entwicklungsumgebung sollte jetzt gestartet sein
Weitere Information findest du auf der Homepage http://arduino.cc/en/Guide/Windows
Software Installation Linux (Ubuntu 10.10)
Die orginal englischsprachige Installationsanleitung findest die hier http://arduino.cc/playground/Linux/Ubuntu oder du folgst einfach unseren Anweisungen:
- Lade dir die .debs Dateien fuer arduino, arduino-core, and librxtx-java herrunter und speicher sie in einem leeren Verzeichniss. Die Dateien kannst du direkt von den folgenden Links herunterladen:
- librxtx-java
- arduino-core http://mirror.informatik.uni-mannheim.de/pub/linux/distributions/ubuntu//pool/universe/a/arduino/arduino-core_0022+dfsg-1~maverick1_all.deb
- arduino http://mirror.informatik.uni-mannheim.de/pub/linux/distributions/ubuntu//pool/universe/a/arduino/arduino_0022+dfsg-1~maverick1_all.deb
Sollte diese Links nicht funtionieren kannst du die Dateien auch von anderen Servern herunterladen. Benutzte dazu diese Links:
- http://packages.ubuntu.com/maverick-backports/librxtx-java
- http://packages.ubuntu.com/maverick-backports/arduino-core
- http://packages.ubuntu.com/maverick-backports/arduino
- gehe in den Ordner mit den heruntergeladenen Dateien und installiere die Packete mit
sudo dpkg -i *.deb
- jetzt kannst du Verzeichniss mit den heruntergeladenen Dateien loeschen.
Falls du mit dieser Installationsbeschreibung nicht klar kommst, dann hilft dir mit sicherheit diese Seite weiter: http://www.pluggy.me.uk/arduino-ubuntu/
- Gehe in das Verzeichniss /usr/arduino-0022
- starte die Arduino Entwicklungsumgebung mit
arduino
- die Arduino Entwicklungsumgebung sollte jetzt gestartet sein.
Weitere Information findest du auf der Homepage http://www.arduino.cc/playground/Learning/Linux
Software Installation Mac OS X
Bitte den Anweisungen auf der Homepage http://arduino.cc/en/Guide/MacOSX folgen :).
Programmieren des Arduino
Um das Formel1 Auto zu programmieren, werden zwei Software Komponenten benoetigt. Zum einen zwei Dateien die als Software Bibliothek von der Arduino Entwicklungsumgebung benoetigt wird, und zum anderen das Programm zur Steuerung des Roboters, dass du waehrend des Girlsdays auf den Roboter geladen hast. Dazu fuehre bitte folgende Schritte aus:
- Gehe in das Verzeichnis /usr/arduino-0022/libraries. In diesem Verzeichnis erstellst du ein neues Verzeichnis mit den Name Formel1.
cd /usr/arduino-0022/libraries mkdir Formel1
- Nun lade die zwei Dateien Formel1.cpp und Formel1.h herunter und speichert diese im neu angelegten Verzeichnis Formel1.
- Jetzt erstelle bitte eine Verzeichnis Girlsday auf dem Desktop und speicher die Datei Girlsday.pde dort. Diese Datei beinhaltet das Program, welches den Roboter steuert und auf den Roboter hochgeladen wird.
Das wars! Nun hast du alles was an Software benoetigt wird.
Entwicklungsumgebung Arduino
Benoetigtes Zubehoer
Zum Programmieren des Formel1 Autos wird ein USB Kabel www.pollin.de Bestellnummer: 721 395 mit einem USB Adapter www.watterott.com Art.Nr.: 2008438 benoetigt.
Anschliessen des BristelBots mit dem PC
Verbinde das USB Kabel mit dem USB Adapter und schliesse es an deinem PC an. Ziehe erst den Stecker des Batteriepacks ab oder schalte mindestens die Batterien aus. Stecke jetzt den Adapter an die Platine vom Formel1 Wagen so wie es auf dem Bild zu sehen ist (Die Bauteile des Adapters muessen in Fahrtrichtung zeigen.).
Oeffnen des Formel1 Auto Beispielprogramms
Um das Beispielprogramm zu oeffnen klicke auf File > Open und waehle die Datei Girlsdatei.pde im Girlsday Verzeichnis auf dem Desktop aus.
Waehle deine Arduino Version aus
Bevor du dein Formel1 Auto programmieren kannst must du in der Entwicklungsumgebung dein benutzten Arduino Chip einstellen. Waehle unter Tools > Boards > Arduino NG or older w/ ATmega8 aus.
Waehle die serielle Schnittstelle aus
Wenn das Formel1 Auto mit dem PC verbunden ist, dann wird unter Tools > Serial Port die benutzte Schnittstelle angezeigt. Falls mehrere Schnittstellen angezeigt werden, kann man den Formel1 Wagen vom PC trennen. In dem Menue Tools > Serial Port wird nun die vom Formel1 Wagen verwendete Schnittstelle nicht mehr angezeigt. Verbinde nun den PC mit dem Formel1 Wagen wieder und waehle die verwendete Schnittstelle aus.
Programmieren des Formel1 Wagens
Jetzt kannst du deinen Formel1 Wagen programmieren. Schalte dazu den Batteriepack AUS und dann wieder AN und druecke innerhalb von 5s auf den Upload Knopf. Warte ein paar Sekunden bis die RX und der TX LEDs auf dem USB Adapter aufhoeren zu blinken. Wenn das Hochladen des Programms erfolgreich war, siehst du die Nachricht "Done uploading" in der Statusbar. Falls das Hochladen des Programms nicht erfolgreich war wiederhole diesen Punkt.
Nachdem das Programm hochgeladen wurde, ziehst Du den USB Stecker vom Fahrzeug ab und schaltest dann den Batteriepack ein bzw. steckst den Stecker wieder drauf. Ca. 10s Sekunden danach, faengt der Formel1 Wagen an zu fahren. Herzlichen Glueckwunsch fuer dein erstes Arduinoprogramm.
Weitere Informationen findest du auf der deutschsprachige Homepage http://www.freeduino.de/books/arduino-tutorial-lady-ada oder auf der englischsprachigen Herstellerseite http://arduino.cc/en/Guide/Windows.
Roboter Befehle
Falls du ein eigenes Programm fuer dein Formel1 Auto schreiben willst, kannst du folgende Befehle aus der Girlsday Bibliothek dafuer benutzten:
Befehl zur Initialisierung des Roboters:
robo.init(180); //Der Uebergabewert (180) setzt die maximale Spannung, die an einem eingeschalteten Motor anliegt. Der Wert muss zwischen 0 und 255 liegen. 0 //entspricht 0 Volt (Motor dreht gar nicht), 255 wuerde bei einer 4.5 Volt Spannungsversorgung 4.5 Volt betragen (voll Stoff). Da die //Motoren nur 3 Volt vertragen, sollte der Wert nicht viel hoeher als 180 sein.
Befehle fuer Licht
robo.ruecklichtRechts( AN/AUS ); //Schaltet das rechte Licht vorn AN oder AUS. robo.ruecklichtLinks( AN/AUS ); //Schaltet das linke Licht vorn AN oder AUS. robo.ledVorn( AN/AUS ); //Schaltet die vorderen Lichter AN oder AUS.
Steuer Befehle
robo.fahreRechts( ); //Der Roboter faehrt eine Rechtskurve solange bis ein anderer Fahrbefehl ausgefuehrt wird. robo.fahreLinks( ); //Der Roboter faehrt eine Linkskurve solange bis ein anderer Fahrbefehl ausgefuehrt wird. robo.fahreGerade(); //Der Roboter faehrt gerade aus solange bis ein anderer Fahrbefehl ausgefuehrt wird.
Licht Sensor Befehl
robo.leseSensor(); //Die Fototransistoren werden ausgelesen. Es wird entschieden, welcher der beiden Fototransistoren //mehr Licht empfaengt. Entweder ZU_WEIT_RECHTS, ZU_WEIT_LINKS oder AUF_DER_LINIE empfangen in etwa gleich viel Licht. //Der Befehl gibt daher als Ergebnis entweder ZU_WEIT_LINKS, ZU_WEIT_RECHTS oder AUF_DER_LINIE zurueck.
Stop Befehl
robo.stop(); //Der Roboter haelt an.
Bedingte Ausfuehrung von Befehlen
Der Befehl SCHALTE fragt den Roboter nach einer bestimmten Situation. Mit FALLS werden, abhaengig von der Antwort, bestimmte Befehle bis zum break ausgefuert. Waerend des Girlsdays fragen wir den Roboter mit den Befehl leseSensor() nach der Beleuchtungssituation der Fototransistoren. Je nachdem welche Antworten uns der Befehl zurueck gibt ( ZU_WEIT_RECHTS, ZU_WEIT_LINKS oder AUF_DER_LINIE ), entscheiden wir was der Roboter tun soll, also "FALL ZU_WEIT_LINKS" dann soll ber Befehl fahreRechts() ausgefuert werden.
SCHALTE ( <Frage nach Situation> ) { FALLS <Bedingung1 fuer Antwort>: <Auszufuehrende Befehle> break; FALLS <Bedingung2 fuer Antwort>: <Auszufuehrende Befehle> break; }
Die Aufgabenstellung
- Schreibe ein Programm, das die Lichter in beliebiger Reihenfolge erst an und dann aus schaltet.
- Schreibe ein Programm, das die Lichter abhaengig von der Beleuchtung der Sensoren links oder rechts anschaltet.
- Fuege zu diesem Programm die Fahrbefehle hinzu, so dass der Roboter einer schwarzen Linie folgt. Bedenke dabei wie die Sensoren sehen,wenn sie von der schwarzen Linie abkommen und wie man den Roboter lenken muss, um wieder zurueck auf die schwarze Linie zu kommen (Tip: Steuerung eines Holzschlittens).
Das fertige Programm
Justieren
Pfad
Jetzt hast du es geschafft. Du brauchst nur noch einen Pfad, den der Formel1 Wagen abfahren kann. Entweder du malst dir einen eigenen Pfad mit einem schwarzen Edding auf oder du druckst dir den Girlsdaypfad (Rennstrecke mit 1cm Liniendicke, Rennstrecke mit 5cm Liniendicke) aus.
Die Rennstrecke ist so geteilt, dass ihr sie auf einem normal A4 Drucker (einseitig!) ausdrucken koennt. Anschliessend koennt ihr dann die Bahn zusammenkleben. Im folgenden Bild seht iht die Seitenaufteilung der Rennstrecke.
Viel Spass.
Attachments (5)
-
FTDI.jpg (18.3 KB) - added by 14 years ago.
FTDI Basic Breakout 5V
-
USBKabel.jpg (6.5 KB) - added by 14 years ago.
USB2.0-Anschlusskabel A zu Mini-B (B5)
-
UploadButton.png (6.2 KB) - added by 14 years ago.
Klicke auf diesen Upload Knopf um den BristleBot zu Programmieren
-
Rennstrecke_Seitenaufteilung.png (71.3 KB) - added by 14 years ago.
Die Seitenaufteilung der Rennstrecke
-
P1040062_small.JPG (55.9 KB) - added by 14 years ago.
Formel1 Wagen verbunden mit USB Adapter
Download all attachments as: .zip