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