Doku - neo3000/Ardubot GitHub Wiki

Inhaltsverzeichnis Inhalt Aufgabe: 3 Ziele: 3 Was ist ein Line-Tracking Roboter? 4 Warum sollte man einen Line-Tracking Roboter bauen? 4 Der Microcontroller 4 Benötigte Hardware 5 Benötigte Software 5 Benötigtes Werkzeug 6 Der Bauplan in Bildern 7 Technische – Schaltungsdetails 15 Pinbelegung für Sensorleiste: 15 Pinbelegung für Stromversorung 15 Akku oder Batterie 15 Grundlagen zur Programmierung 16 Programmübersicht – Diagramm 17 Der Quellcode 18 Bezugsquellen 20 Hardware 20 Software 20

Aufgabe: Nach mehreren Überlegungen und vielen Ideen sind wir nun zu dem Schluss gekommen, dass wir uns mit dem Thema Robotik mit einem Microcontroller („Arduino“) beschäftigen werden.

Als Beispiel für den praktischen Einsatz eines solchen Systems haben wir einen Line-Tracking entwickelt, welcher mit Hilfe von Infrarot Sensoren seine Position über einer Linie (Schwarze Linie auf weisem Grund) bestimmt und versucht immer über dieser in Mittelposition zu bleiben. Ziele:

Kennenlernen verschiedener Datentypen und deren Wertebereiche

Ansteuerung und auslesen digitaler und analoger Ports eines MCs

Kennenlernen des Arduino-Systems und dessen Möglichkeiten (Input, Output, …)

Auswerten und weiterverarbeiten von empfangenen Daten

Programmiersprache C++ kennenlernen

Einfache Programmstruktur und Verzweigungen kennenlernen

Was ist ein Line-Tracking Roboter?

Die Aufgabe eines solchen Roboters besteht darin, dass er einer vorgegeben Linie, meist schwarze Linie auf weisem Untergrund, abzufahren und so gut wie möglich in der Mitte zu bleiben. Warum sollte man einen Line-Tracking Roboter bauen?

Sie erlernen, wie Sensordaten über digitale Ports eingelesen und die daraus resultierenden Werte wieder mit Hilfe von Digital oder Analog Ports ausgegeben werden können. Der Roboter soll dann in der Lage sein, die Sensorwerte mit Grenzwerten zu vergleichen und je nach Abweichung die notwendige Aktion ausführen.

Der Microcontroller

Die Hardware basiert auf einem Atmel AVR-Mikrocontroller aus der megaAVR-Serie. Dieser wird über USB oder eine externe Spannungsquelle mit 5 Volt versorgt und verfügen über einen 16 MHz-Quarzoszillator.

Benötigte Hardware

Arduino UNO rev.3 € 25,80 A000066 € 25,80 5" Robot Chassis RRC04A transparent € 6,86 1506 € 13,72 GM18 30:1 Mini Getriebemotor € 15,00 GM18 € 30,00 Getriebemotor Halterung (Set 2 Stk.) € 4,95 1089 € 4,95 Kunststoffräder 32mm (Set 2Stk.) € 6,15 1087 € 6,15 QTR-8RC IR Abstandssensor € 12,47 961 € 12,47 Ardumoto - MotorDriver-Shield € 21,57 DEV-09815 € 21,57 Ball Caster mit 12,7mm Metallkugel € 3,49 953 € 3,49  Zwischensumme
€ 118,15 Zusatzmaterial ca. € 15,00 Summe € 133,15

Alle oben genannten Bauteile können online bei der deutschen Firma „Watterott.com“ bestellt werden. Link: http://www.watterott.com/ Zusatzmaterial / Montagematerial Zusätzlich werden noch einige Kabel, so wie Abstandshalter (Distanzbolzen oder Gewindestange M3 + Muttern) und Montageschrauben benötigt. Passende Quellen: Conrad-Electronic, Pollin-Electronic Benötigte Software

Zur Programmierung des Arduino-Systems wird die speziell dafür entwickelte Open Project IDE „Arduino 1.0“ benötigt welche kostenfrei unter folgender Adresse heruntergeladen werden kann: http://arduino.cc/en/Main/Software

Um die Programmierung und den Empfang der Sensorleiste „QTR-8RC“ zu erleichtern gibt es bereits eine fertige Library welche in ein neues Programm inkludiert werden kann zum freien Download unter: https://github.com/pololu/qtr-sensors-arduino/zipball/master Die Library ist auch vom Programmierer offen zugänglich und kann je nach Bedarf angepasst werden, dies wird jedoch in unserem Fall nicht nötig.

Für eine genaue Planung der Schaltungen kann die ebenfalls frei verfügbare Software „Eagle“ (http://www.cadsoftusa.com/downloads/?language=en) oder die Software „Fritzing“ (http://fritzing.org/download/) verwendet werden.

Benötigtes Werkzeug

Lötstation (regelbar)

Lötzinn

Platinenhalter-Löthilfe

Seitenschneider

Kombizange

Gabelschlüssel (4mm)

Abisolierzange

Heißluftfön (alternativ ein Feuerzeug)

Schraubenzieher (Kreuz-Schlitz)

Akkuladegerät (optional, nur bei Akkubetrieb nötig)

Der Bauplan in Bildern

Da Bilder meist aussagekräftiger sind als viele Wort haben wir uns entschieden, den Zusammenbau des Eigenbau-Roboters in einer Bilderserie zu zeigen.

Technische – Schaltungsdetails

Pinbelegung für Sensorleiste:

Bezeichnung Pin auf Arduino Schwarz GND Grün +5V Braun(Rechte Seite) 5 Rot(Rechte Seite) 6 Gelb(Rechte Seite) 7 Braun(Linke Seite) 8 Rot(Linke Seite) 9 Gelb(Linke Seite) 10

Pinbelegung für Stromversorung

Bezeichnung Pin auf Arduino Schwarz GND Rot VIN 9V

Akku oder Batterie

Akku: NiMh, 360mA, 9V

Batterie: 6x 1,5V AA – Alkaline Batterien

Bezugsquellen

Hardware

Arduino: http://www.physicalcomputing.at/ Robotik: http://www.watterott.com/ Kleinteile/Zubehör: http://www.conrad.at

Software

Arduino IDE: http://arduino.cc/en/Main/Software Arduino Tutorials: http://arduino.cc/en/Tutorial/HomePage Arduino Referenz: http://arduino.cc/en/Reference/HomePage

Fritzing: http://fritzing.org/ Eagle (Schaltplan): http://www.cadsoftusa.com/downloads/?lang=de

Libraries: https://github.com/pololu/qtr-sensors-arduino/zipball/master Klasse 3CITT IMBS Datum: 13.03.2012

Seite 2 von 20