wiki:2010/Programmierung

Version 18 (modified by kittmann, 15 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 2010 war die Version arduino-0018.zip aktuell.
    * Entpacke die herruntergeladene Datei (arduino-0018.zip)
    * Gehe in das entpackte Verzeichniss arduino-0018 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 9.10)

  • Oeffne ein Terminal (Anwendungen -> Zubehoer -> Terminal) * kopiere folgenden Befehl und fuehre ihn aus
    sudo apt-get install sun-java6-jre sun-java6-bin sun-java6-jdk sun-java6-fonts sun-java6-plugin gcc-avr avr-libc
  • Als naechstes muesst du Ubuntu's Braille Unterstuetzung deinstallieren, da es sonst zu Konflikten mit der Arduino Entwicklungsumgebung kommen kann
    sudo apt-get remove brltty
  • Jetzt muessen wir noch die zu benutzende Java Version einstellen. Mit dem folgendem Befehl wird eine Liste der installierten Java Versionen angezeigt. Waehle hier die Jave Version 'java-6-sun' aus.
    sudo update-alternatives --config java
  • Gehe auf die Homepage http://arduino.cc/en/Main/Software
    * Lade dir in dem Abschnitt Download die Software fuer Linux herrunter. Zum Zeitpunkt des Girlsdays 2010 war die Version arduino-0018.tgz aktuell.
    * Entpacke die herruntergeladene Datei (arduino-0018.tgz)
    * Gehe in das entpackte Verzeichniss arduino-0018
    * 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 den BristleBot 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:

  1. Gehe in das Arduino Verzeichnis, in das du die Arduino Entwicklungsumgebung entpackt hast. Dort findest du ein Unterverzeichnis mit dem Namen libraries. In diesem Verzeichnis erstellst du ein neues Verzeichnis mit den Name BristleBot.
  2. Nun lade die zwei Dateien BristleBot.cpp und BrisleBot.h herunter und speichert diese im neu angelegten Verzeichnis BristleBot.
  3. Jetzt erstelle bitte eine Verzeichnis Girlsday das du auch spaeter wieder findest, aber nicht unterhalb des Arduino Verzeichnisses 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 BristleBots wird ein USB Kabel www.pollin.de Bestellnummer: 721 395 mit einem USB Adapter www.watterott.com Art.Nr.: 2008438 benoetigt.
USB2.0-Anschlusskabel A zu Mini-B (B5) FTDI Basic Breakout 5V

Anschliessen des BristelBots mit dem PC
Verbinde das USB Kabel mit dem USB Adapter und schliesse es an deinem PC an. Stecke jetzt den Adapter an die BristleBot Platine so wie es auf dem Bild zu sehen ist (Die Bauteile des Adapters und der BristleBot Platine muessen von oben zu sehen sein).

Richtige Verbindung vom PC zum BristleBot zum Hochladen eines Programms.

Oeffnen des BristleBot Beispielprogramms
Um das Beispielprogramm zu oeffnen klicke auf File > BristleBot > BristleBot.

Waehle deine Arduino Version aus
Bevor du dein BristleBot 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 der BristleBot mit dem PC verbunden ist, dann wird unter Tools > Serial Port die benutzte Schnittstelle angezeigt. Falls mehrere Shcnittstellen angezeigt werden, kann man denBristleBots vom PC trennen. In dem Menue Tools > Serial Port wird nun die vom BristleBot verwendete Schnittstelle nciht mehr angezeigt. Verbinde nun den PC mit dem BristleBot wieder und waehle die verwendete Schnittstelle aus.

Programmieren des BristleBots
Jetzt kannst du deinen BristleBot programmieren, indem du einfach auf den Upload Knopf drueckst. Warte ein paar Sekunden bis das blinken der RX und der TX LEDs auf dem USB Adapter aufhoert zu blinken. Wenn das Hochladen des Programms erfolgreich war, siehst du die Nachricht "Done uploading" in der Statusbar.

Klicke auf diesen Upload Knopf um den BristleBot zu Programmieren

Ein paar Sekunden nach dem Hochladen faengt der BristleBot 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

Waehrend des Girlsdays hast du die Moeglichkeit den Roboter selbst zu programmieren. Du kannst entweder das fertige Programm herunterladen, oder du kannst dir auch selbst ein eigenes Programm fuer deinen Roboter schreiben. Dir stehen dabei folgende Befehle zu Verfuegung:

Befehle fuer Licht

robo.rechtesLicht( AN/AUS );  //Schaltet das rechte Licht vorn AN oder AUS. 
robo.linkesLicht( AN/AUS );    //Schaltet das linke Licht vorn AN oder AUS. 
robo.ruecklicht( AN/AUS );    //Schaltet das Ruecklicht 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 RECHTS, LINKS oder BEIDE empfangen in etwa gleich viel Licht.
                         //Der Befehl gibt daher als Ergebnis entweder LINKS, RECHTS oder BEIDE zurueck.

Warte Befehl

WARTE(1000);             //Der Roboter wartet fuer eine bestimmt Zeit, bis er weiter arbeiten darf. Die Zahl, die dem Befehl 
                         //uebergeben wird ist die Zei in Millisekunden. Im Beispiel wird 1000 uebergeben. Das wuerde einer 
                         //Sekunde entsprechen. Wenn du z. B. nur eine halbe Sekunde warten moechtest, dann solltest du nur 
                         //500 Millisekunden dem Befehl uebergeben.

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 (LINKS, RECHT oder BEIDE), entscheiden wir was der Roboter tun soll, also "FALL 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;
}

Justieren

Wenn du deinen Roboter fertig programmiert hast, kann es passieren, dass der Roboter nicht ganz so toll faehrt wie am Girlsday. Nun kannst du deinen Roboter noch etwas tunen indem du entweder den Batteriepack etwas nach vorne schiebst.

Gewichtsverlagerung durch den Batterieblock

Wenn er immer noch dahin gekrochen kommt wie eine achtzigjaehrige Grossmutter, dann kannst du versuchen die Schrauben unter den Buersten, entweder lockerer oder fester zu drehen. Erfahrungsgemaess sollten die Buersten sehr locker, fast schon schlapperig, an der Bodenplatte haengen.


Pfad

Jetzt hast du es geschafft. Du brauchst nur noch einen Pfad, den die Roboter folgen koennen. Entweder du malst dir mit einem schwarzen Edding einen eigenen Pfad auf oder du druckst dir den Girlsdaypfad aus. Wenn deine Freunde auch einen BristleBot haben kannst du dir auch eine Formel-1-Rennstrecke ausdrucken und ein Wettrennen veranstalten.

Attachments (7)

Download all attachments as: .zip