Der Weg zum eigenen Roboter - Peter Schneider - E-Book

Der Weg zum eigenen Roboter E-Book

Peter Schneider

0,0

Beschreibung

Sie haben den Roboter aus Band I nachgebaut und möchten diesen jetzt erweitern? In Band 2 werden viele neue Möglichkeiten erklärt, wie Sie den Roboter mit analogen und digitalen Sensoren erweitern. Die dazugehörige Programmierung in C wird detailliert erklärt und zwar so, das auch der ungeübte Programmierer mit geringen Vorkenntnissen den Programmiercode versteht. Aus dem Inhalt: Rückblick auf Band I, was wurde erreicht? Auswerten von Sensorsignalen (Polling, ISR) Der Analog-Digital-Wandler Timerprogrammierung, Teil II (der WatchDog) Zusätzliche Sensoren für den Roboter Steuern und Regeln mit dem Mikrocontroller (P-Regler) Eine neue Steuerplatine auf Basis des ATmega32 Datenübertragung von PC zu Roboter (RS232, I²C-Bus) Drahtlose Kommunikation via Bluetooth Projekte: Spannungsüberwachung des Akkus mit AD-Wandler Liniensensor, folgen einer Linie auf dem Boden Drehimpulsgeber, realisiert mit Gabellichtschranke Gleichlauf der Räder (geradeaus fahren mittels P-Regler) Roboter Steuerprogrammerweiterung um die Funktion AVIOD Autonome Wegsuche durch ein Labyrinth Ansteuern von Servos aus dem RC-Modellbau Auslesen der Befehle von einem RC-Empfänger Ansteuern eines bipolaren Schrittmotors

Sie lesen das E-Book in den Legimi-Apps auf:

Android
iOS
von Legimi
zertifizierten E-Readern

Seitenzahl: 146

Das E-Book (TTS) können Sie hören im Abo „Legimi Premium” in Legimi-Apps auf:

Android
iOS
Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Verlag: BoD – Books on Demand, Norderstedt.

ISBN:9783744873642

Mein persönlicher Dank gilt folgenden Personen, die unermüdlich an der Fertigstellung dieses Buches mitgearbeitet haben und die manchmal doch recht eigenwilligen Ideen des Autors in Bild und Fotografie umsetzten.

Nicht zu vergessen, das technische Korrekturlesen der Schaltungen und der Begleittexte, welches sich als eine der aufwendigsten Arbeiten herausstellte.

Klaus Wellmann (Korrekturlesen)

Jürgen Rösler (Korrekturlesen)

Gerhard Spode (Korrekturlesen)

Christina Pagels (Beratung und Fotografien)

Gerd Lehmann (Comic Zeichnungen)

Inhaltsverzeichnis

Vorwort

Voraussetzungen zum Arbeiten mit diesem Buch

Rückblick auf die Arbeitsergebnisse des ersten Bandes

1.1 Informationen zur verwendeten Roboterhardware

1.1.1 Chassis Roboter R2PT3

1.1.2 Steuerplatine des Roboters

1.1.3 Die Test- und Programmierplatine

Auswerten von Sensorsignalen

2.1 Flussdiagramme, auch Prograrnmablaufpläne genannt

2.2 Signalauswertung über Polling

2.3 Signalauswertung über Interrupt

Der Analog-Digital-Wandler

3.1 Allgemeine Grundlagen

3.2 Programmablaufplan

3.3 Programmcode AD-Wandler-Funktion

Projekt: Spannungsüberwachung des Akkus mit AD-Wandler

4.1 Entwurf einer Spannungsüberwachung

4.2 Ablaufplan Funktion check_bat()

4.3 Programmcode Funktion check bat ()

4.4 Einbinden der Funktion in das Hauptprogramm

4.5 Programmablaufplan Hauptprogramm

4.6 Sourcecode Hauptprogramm

Timerprogrammierung (ATmega8)

5.1 Allgemeines zum 8-Bit-Timer

5.2 Der WatchDog(Stopuhr des ATmega8)

5.3 Programmablaufplan WatchDog ISR

5.4 Sourcecode der ISR

5.5 Programmablaufplan Init-Timer-Register

5.6 Sourcecode Init-Timer-Register

5.7 Ein einfaches Anwendungsbeispiel

Zusätzliche Sensoren für den R2PT3 Roboter

6.1 Allgemeine Übersicht über die Sensoren des R2PT3

6.2 Passive- und aktive Sensoren

6.3 Analoge und digitale Infrarot Sensoren

6.3.1 Infrarot Reflexkoppler CNY70

6.3.2 Infrarot Reflexkoppler GP2Y0A21YK0F von Sharp.

6.3.3 IR-Gabellichtschranke GP1S58VJ000F von Sharp

6.3.4 Infrarot Reflexkoppler IS471F

6.4 IR-Sensor auf Basis des IS471F

Projekt: Liniensensor

7.1 Entwurf eines Liniensensors

7.1.1 Der IR Sensor CNY70

7.1.2 Die IR-Sensor Platine

7.1.3 Realisierung des Sensors

7.2 Software zur Auswertung der Sensorsignale

7.2.1 Funktion: check_line

7.2.2 Funktion: move_control

Projekt: Impulsgeber

8.1 Entwurf einer Impulsgeberschaltung

8.2 Software zur Auswertung der Signale des Impulsgeber

8.2.1 Abfrage der Impulsgeber

8.2.2 Funktion speed_fwd_full

8.3 Anwendungsbeispiel, eine bestimmte Strecke fahren

8.3.1 Funktion behaviourController

8.3.2 Funktion behaviour_cruise

8.3.3 Funktion behaviour_escape

8.3.4 Funktion moveCommand

8.3.5 Funktion Motor_Control

Steuern und Regeln mit dem Mikrocontroller

9.1 Ein wenig Theorie zum Thema Steuern und Regeln

9.1.1 Unterschied zwischen Steuern und Regeln

9.1.2 Der Regelkreis

9.1.3 Verschiedene Typen von Reglern

9.1.4 Realisierung eines Reglers mittels Software

Projekt: Gleichlauf der Antriebsräder des Roboters

10.1 Allgemeine Beschreibung des Projekt-vorhabens

10.2 Komponenten des Regelkreises

10.3 Software zur Auswertung der Sensorsignale

10.4 Realisierung der Regelung mittels P-Regler

Programmerweiterung um den Status AVOID

11.1 Allgemeine Beschreibung der Funktion AVOID

11.2 Verdrahtung der IR-Sensoren

11.3 Veränderungen zum bestehenden Sourcecode aus dem Kapitel 8.3

11.3.1 Hauptprogramm main anpassen

11.3.2 ISR anpassen

11.3.3 Funktion behaviourController anpassen

11.4 Sourcecode der neuen Funktionen

11.4.1 Neue Funktion speed_left_avoid oder speed_right_avoid

11.4.2 Neue Funktion check_for_hindernis

11.4.3 Funktion moveCommand anpassen

11.4.4 Neue Funktion behaviour_avoid

Steuerplatine auf Basis des ATmega32

12.1 Steuerplatine

12.2 Schaltplan, Bohr- und Bestückungsplan

12.2.1 Schaltplan Steuerplatine ATmega32

12.2.2 Bohrplan Steuerplatine ATmega32

12.2.3 Bestückungsplan Steuerplatine ATmega32

12.3 Änderungen an der Software

12.3.1 Der 16-Bit Timer

12.3.2 Anpassung der ISR

12.3.3 Funktion Motor_Drehrichtung

12.3.4 Funktion Motor_Geschwindigkeit

12.3.5 Funktion Motor_Control

12.3.6 Funktion check_for_hindernis

Datenübertragung von PC zum Mikrocontroller

13.1 Warum überhaupt Datenübertragung?

13.2 UART- oder RS232-Schnittstelle

13.3 Der I

2

C-Bus

13.4 Datentransfer mittels Bluetooth

13.4.1 Schaltplan der Testschaltung

13.4.2 Bohrplan

13.4.3 Bestückungsplan

13.4.4 Programmierung des Moduls

Projekt: Datenübertragung von PC zu R2PT3

14.1 Allgemeine Beschreibung des Projektes

14.2 Adapterplatine für den R2PT3

14.3 Programmcode für den PC

14.3.1 Daten über Tastatur einlesen

14.3.2 Daten an die serielle Schnittstelle senden

14.4 Programmcode für den R2PT3

14.5 Aufbau einer Handsteuerung

14.5.1 Aufbau der Senderhardware

14.5.2 Sourcecode für den Handsender

Projekt: Wegsuche durch ein Labyrinth

15.1 Allgemeine Beschreibung des Projektes

15.2 Installation der neuen Sensoren

15.3 Programmcode für den R2PT3

Projekt: Ansteuern von Servos aus dem RC-Modellbau

16.1 Allgemeine Beschreibung des Projektes

16.2 Programmcode für den PC

16.3 Programmcode für den ATmega8 Mikrocontroller

Projekt: Auswerten der Signale aus einem RC-Modellbauempfänger

17.1 Allgemeine Beschreibung des Projektes

17.2 Programmcode für den ATmega8 Mikrocontroller

Projekt: Ansteuern eines Schritt-motors

18.1 Allgemeine Beschreibung des Projektes

18.2 Programmcode für den ATmega8 Mikrocontroller

Schlussbetrachtung und Ausblick

Sourcecode-Sammlung

20.1 Projekt Spannungsüberwachung des Akkus mit AD-Wandler

20.1.1 Header-Datei für AD-Wandlerauswertung

20.1.2 Spannungsüberwachung des Akkus

20.2 Timerprogrammierung (ATmega8)

20.3 Projekt: Liniensensor

20.4 Projekt: Impulsgeber

20.5 Projekt: Gleichlauf der Antriebsräder des Roboters

20.6 Programmerweiterung um den Status AVOID

20.7 Projekt: Datenübertragung von PC zu R2PT3 mittels Bluetooth

20.7.1 Sourcecode für den Header-File RS232_v1.h

20.7.2 Sourcecode für R2PT3

20.7.3 Sourcecode für PC

20.7.4 Sourcecode für Handsender

20.8 Projekt: Wegsuche durch ein Labyrinth

20.9 Projekt: Ansteuern von Servos aus dem RC-Modellbau

20.9.1 Sourcecode für die ATmega8 Test -und Programmierplatine

20.9.2 Sourcecode für die PC Software

20.10 Projekt: Auswerten der Signale aus einem RC-Modellbauempfänger

20.11 Projekt: Ansteuern eines Schrittmotors

Fehleranalyse

Quellenangaben:

22.1 Internet-Quellen:

22.2 Bücher:

Bezugsmöglichkeiten der verwendeten Bauteile und Materialien

Materiallisten für den Roboterbau inkl. Steuerplatine

24.1 Roboter und Chassis

24.2 Steuerplatinen

24.3 Sensoren

24.4 Test –und Programmierplatinen

24.5 Bluetooth

Vorwort

Liebe Roboterbegeisterte und Technikfreaks. In meinem zweiten Band über Robotertechnik möchte ich mit Ihnen einige Ausflüge in Richtung der Sensorik unternehmen und wie man diese Sensorwerte geschickt auswertet bzw. verarbeitet. Als erstes betrachten wir einmal unser Ergebnis aus Band I, „Der Weg zum eigenen Roboter, Selbstbau und Programmierung“. Wie, noch nicht gekauft und dann wollen Sie hier in die Thematik einsteigen…?

Okay, vielleicht haben Sie ja auch das fertige Produkt bei Schneider-Engineerings (www.ps-robotics.de) bezogen, oder Sie haben bereits Erfahrungen gesammelt auf dem Gebiet der Robotertechnik und wollen Ihr Wissen vertiefen. Alles valide Begründungen und doch möchte ich Sie darauf aufmerksam machen, dass wir auf bestehende Hardware und Software aus Band I immer wieder zurückgreifen werden. Ebenfalls möchte ich nicht verschweigen, dass dieses Buch nicht für Anfänger geschrieben ist. Viele der gezeigten Beispiele sind so groß im Umfang, dass ich nicht jede Zeile Sourcecode beschreiben kann.

Natürlich gibt es direkt am Anfang dieses Buches einen Crashkurs zu den Ergebnissen aus Band I. Die dort gezeigten Bilder und Erklärungen sollten Ihnen den schnellen Einstieg ermöglichen. Der PC diente bisher nur als Entwicklungstool und Datentransferschnittstelle. Diesmal wollen wir ein wenig tiefer in die Möglichkeiten eintauchen den PC für Simulationen und als Kommunikationsschnittstelle zu nutzen. Kommunikationsschnittstelle, hört sich fast gefährlich an! Was gemeint ist, ist dass wir den PC nutzen wollen, via Funksignal z.B. Wireless Network (WLAN) oder Bluetooth mit dem Roboter in Verbindung zu treten.

Um das Ganze nicht von vorneherein zu verkomplizieren, schauen wir uns die Grundlagen der Kommunikation mit einem Roboter an einer seriellen Schnittstelle an. Bei dieser Datenübertragung wird die RS232 Schnittstelle des PCs und die RS232 Schnittstelle des Mikrocontrollers (UART) zur Datenübertragung genutzt. Die dort gewonnenen Grundlagen werden wir ausbauen und bei den Funkverbindungen verwenden bzw. weiterentwickeln. Wozu das alles? Über die Funk– bzw. Netzwerkverbindung sollen Daten ausgetauscht werden. Zum Beispiel können wir Steuerdaten von dem PC an den Roboter senden und den Roboter somit fernsteuern. Bisher war der Roboter nur in der Lage geradeaus zufahren und beim Berühren von Hindernissen die Fahrtrichtung zu ändern. Als weiteren Punkt werden wir die Analog-Digital-Schnittstelle am ATmega8 Mikrocontroller ansteuern und auslesen. Nutzen werden wir die AD-Schnittstelle, um eine Batterieüberwachung für den Roboter zu realisieren. Außerdem werden wir das bestehende Programm zur Robotersteuerung aus Band I erweitern, um die Funktion AVOID. Mit dieser neuen Funktion und entsprechend neuen Sensoren, soll der Roboter entfernte Hindernisse erkennen und ihnen ausweichen. Eine weitere Sensor– und Programmerweiterung soll den Roboter in die Lage versetzen einer Linie am Boden zu folgen. Zusätzlich angebrachte Lochscheiben an den Getriebeachsen werden als Impulsgeber genutzt. Über einen Regelalgorithmus wollen wir den Gleichlauf der Antriebsräder realisieren. Somit kann der Roboter sehr genau geradeaus fahren. Da wir an die Speichergrenzen des ATmega8 kommen, werden wir eine neue Robotersteuerplatine, auf Basis des ATmega32 erstellen und die bisher genutzte Steuerplatine, auf Basis des ATmega8 ablösen.

Neue Sensoren wollen wir ebenfalls entwickeln, auf Basis von Infrarot Sendern und Empfängern und noch viele kleine weitere Dinge, die unserem Roboter mehr „Leben“ einhauchen. Bei all den kleinen Projekten wird es jede Menge Tipps und Tricks geben, die uns das Leben erleichtern.

Hört sich toll an? Dann aber los und ein neues Kapitel der Robotik angehen. Genau wie letztes Mal, alles im Eigenbau oder Neu-Deutsch „home made“!

Ebenfalls für den Band II gilt, dass ich gerne mal abschweife und versuche meine Erfahrungen mit etwas Humor einfließen zu lassen. Ich möchte das manchmal sehr trockene Thema etwas mit Esprit würzen und eines werde ich Ihnen bestimmt nicht verheimlichen, meine Misserfolge und den Frust, den ich geschoben habe wenn es nicht funktionierte. Mit diesem Buch möchte ich Ihnen zeigen, wie man die größten Fehler vermeiden, bzw. wie man aus dem Dilemma herauskommt, wenn gar nichts mehr geht.

Anmerkung:

Je nach dem, wann Sie dieses Buch erwerben kann es sein, dass die Produkte / Elektronikbauteile in den beschriebene Versionen nicht mehr verfügbar sind. Meistens hat man aber Glück und findet die Nachfolgemodelle, die dann meistens abwärtskompatibel sind. Das gilt sowohl für die verwendete Software, als auch für die verwendete Hardware.

Genannte Informationen über Bauteile sind auf das Entstehungsjahr (2016 / 2017) dieses Buches bezogen.

Voraussetzungen zum Arbeiten mit diesem Buch

Für wen ist dieses Buch geschrieben? Einen Teil der Antwort habe ich schon im Vorwort beschrieben. Hier nun einige Vorbedingungen, die wir ganz am Anfang klären sollten:

Sie sind wenigstens etwas technisch versiert. Wir werden das Problem haben, dass Sie mit einer z.B. Laubsäge, Teppichmesser o.ä., Schraubendreher, oder einem Lötkolben umgehen können sollten.

Letzteres, der Lötkolben wird uns ständig beim Bestücken der Platine begleiten, ob ein Kabel angelötet werden muss, oder Bauteile auf der Steuerplatine angelötet werden müssen. Der Lötkolben ist unser wichtigstes Hilfsmittel. Übrigens, die aufsteigenden Dämpfe beim Löten sind nicht gerade gesundheitsförderlich! Für eine ausreichende Belüftung ist zu sorgen.

Sie sollten in der Lage sein, einen Schaltplan zumindest rudimentär zu verstehen. Zum Beispiel, wenn da steht [+5Volt] heißt das nicht, Wechselstrom anlegen, wie das meine ersten Kunden versuchten und sich dann über den leicht süßlichen riechenden, weißen Rauch wunderten, der von der Steuerplatine emporstieg.

Als nächstes sei erwähnt, dass ich davon ausgehe, dass Sie einzelne Bauteile für die Steuerplatine erkennen können. Wir werden es mit ICs, Widerständen und Spannungsreglern zu tun bekommen, um nur einige Bauteile zu erwähnen. Viele dieser Bauteile reagieren mit ihrem „Ableben“ auf zu viel Wärme vom Lötkolben, oder statische Aufladung, die wir mit uns herum tragen. Also bitte, fassen Sie Beinchen der Bauteile nur an, wenn Sie ein Antistatik-Band tragen. Auch verpolen endet meistens mit der Zerstörung des Bauteils.

Den Punkt Programmierung, bei mir hier in C++, möchte ich noch erwähnen. Es handelt sich allerdings um sehr einfache C-Programmierung, ohne komplexe Funktionen, oder objektorientierter Programmierung. Für unsere Zwecke reicht simples ANSI C völlig aus.

Toll wäre es, wenn Sie auch die entsprechenden datasheets der verwendeten Bauteile lesen würden. Nicht nur die Pinbelegung des entsprechenden Bauteils finden Sie hier, sondern auch wichtige Hinweise, wie z.B. bei dem verwendeten Mikrocontroller, die Bedeutung der einzelnen Register, die wir hier im Laufe ansprechen werden. Unter der Webseite

www.alldatsheet.com

finden Sie die datasheets der verwendeten Bauteile.

Zeichenerklärungen: Ein „ * “ steht für einen Platzhalter, Wichtige Informationen in Bildern und Zeichnungen sind umrandet.

Das hört sich jetzt alles ziemlich verwirrend an, ist es aber nicht. Ich möchte nur verhindern, dass Sie zwar mit viel Enthusiasmus an die Sache ran gehen, aber dann enttäuscht sind, wenn es mal nicht direkt klappt. Die einzelnen Schritte wurden mit Zeichnungen und Fotografien hinterlegt, das sollte Ihnen helfen und ein Bild sagt nun mal mehr als tausend Worte.

Also, wenn Sie in der Bücherei nun die ersten Seiten gelesen haben und Ihnen das Buch nicht gefällt, dann haben Sie jetzt noch die Chance es wegzustellen. Vorsicht, sollten Sie mit dem Robotervirus infiziert werden, dann ist das in den meisten Fällen nicht mehr heilbar…

1. Rückblick auf die Arbeitsergebnisse des ersten Bandes

Das erste Kapitel soll einen Einblick geben welche Hardware, Software aus Band I übernommen wurde. Die wichtigsten Details des Roboters, der Platinen und Software werden noch einmal kurz wiederholt.

Folgende Lernziele sind Bestandteil dieses Kapitels:

Informationen zur verwendeten Roboterhardware.

Programmierhardware.

Verwendete Software zum Laden und Programmieren des Roboters.

1.1 Informationen zur verwendeten Roboterhardware

Im Band I wurde ein Roboter vorgestellt, der vollkommen im Selbstbau erstellt werden kann. Der nun folgende Abschnitt zeigt die wichtigsten Bauabschnitte und die dazugehörigen Baupläne. Sollte das zu kompliziert für Sie sein, alle z.B. Chassisteile aus 3mm Sperrholz oder PCV zu fertigen, dann können sie den kompletten Bausatz, inklusive Software bei Schneider-Engineerings bestellen. Siehe Weblink www.ps-robotics.de. In dem Roboterbausatz sind allerdings nicht die im weiteren verwendeten Programmier- und Testplatinen enthalten. Diese können allerdings separat bezogen werden.

Den prinzipiellen Aufbau der Roboters zeigt die Abbildung 1. Das Chassis besteht aus einer runden Holzplatte oder PVC in dem die Ausschnitte für die Räder eingelassen sind. Die Abbildungen 2 bis 6 zeigen die einzelnen Zeichnungen mit Maßangaben für die Bauteile der beiden Getriebe. Das Getriebe wird aus insgesamt drei Teilen zusammengesetzt und anschließend Messingrohre als Lagerung für die Achsen eingeführt. Die Messingrohre haben die Längen 26mm, 24mm und 22mm. Als Achsen können z.B. 3mm Gewindestange genutzt werden. Bitte beachten Sie, dass das Getriebe einmal für links und einmal für rechts aufgebaut werden muss. Das fertige Getriebe zeigen die Abbildung 7 bis 9. Alle zum Roboternachbau benötigten Materialien sind im Anhang dieses Buches aufgeführt.

1.1.1 Chassis Roboter R2PT3

Abb.: 1

Grundplatte des Roboters

Abb.: 2

Einzelteile des Getriebechassis:

Abb.: 3

Abb.: 4

Zusammenführen der einzelnen Getriebeteile

Abb.: 5

Halterung für Ladebuchse, Ausschalter und Resetknopf

Abb.: 6

Das fertige Chassis sieht nach Zusammenbau folgendermaßen aus:

Chassis mit Motorverkabelung

Abb.: 7

Chassis komplett inkl. Steuerplatine

Abb.: 8

Detailaufnahme des Getriebes

Abb.: 9

Stoßstange des R2PT3

Abb.: 10

1.1.2 Steuerplatine des Roboters

Für den Bau der Steuerplatine wurde eine handelsübliche Lochstreifenplatine mit den Maßen 90mm × 50mm verwendet. Mit einem 4mm Bohrer wurden die Leiterbahnen je nach Bedarf aufgetrennt. Die Abbildungen 11, 13, 12 und 14 zeigen den überarbeiteten Schaltplan, Bohrplan, Legende (Zeichenerklärung) und Bestückungsplan der Steuerplatine. Änderungen, siehe

Schaltplan

Abb.: 11

Zeichenerklärung zu den Platinenlayouts

Abb.: 12

Bohrplan der Steuerplatine

Abb: 13

Bestückungsplan der Steuerplatine

Abb.: 14

Die Abbildung 15 zeigt wie die einzelnen Komponenten miteinander verbunden werden. als Energieversorgung nutzen wir 6 × 1,2Volt 1100mAh Akkus vom Type AAA.

Somit liegen Ihnen alle Informationen vor, die Sie zum Nachbau des Roboters benötigen. Als nächstes folgt ein kurzer Rückblick in die Programmierung des Roboters.

Abb.: 15

1.1.3 Die Test- und Programmierplatine

Schaltplan der Test- und Programmierplatine

Abb.: 16

Die Programmierhardware wird benötigt, um den Bootloader „einmalig“ auf den Mikrocontroller zu laden. Der Ladevorgang erfolgt mit dem Tool PonyProg2000 über ein spezielles Kabel, dass die RS232 des PCs mit der ISP Schnittstelle des Mikrocontrollers verbindet. Als Alternative stehen Ihnen für die Programmierung, als auch für das Aufspielen des Bootloaders, die von Atmel angebotenen, professionellen Programmierplatinen vom Type z.B. STK500 oder STK600 zur Verfügung. Die späteren Ladevorgänge der Software auf den Roboter erfolgen mit dem Programm Megaload. Die Software Megaload ist auf dem PC und lädt das zuvor kompilierte Programm mittels Bootloader in den Mikrocontroller. Als Compiler steht uns WinAVR zur Verfügung. Zur Programmentwicklung reicht ein einfacher Editor wie Notepad von Windows aus. Das C-Programm wird im Editor (z.B. Notepad) entwickelt, mit WinAVR kompiliert und anschließend mit Megaload auf den Mikrocontroller geladen.

Es gibt hier noch viel mehr zu erklären, aber das finden Sie ja alles in Band I erschöpfend erklärt.

Das war es nun mit dem Rückblick auf den Band I und Sie sollten nun einen Überblick über die genutzte Software und Hardware haben. Somit können wir uns nun ganz und gar auf den Inhalt des eigentlichen Band II konzentrieren. Anfangen wollen wir mit dem Analog-Digital-Wandler des ATmega8.

2. Auswerten von Sensorsignalen

Folgende Lernziele sind Bestandteil dieses Kapitels:

Flussdiagramme, auch Programmablaufpläne genannt

Signalauswertung über Polling

Signalauswertung über Interrupt

2.1 Flussdiagramme, auch Programmablaufpläne genannt

Mit einem Programmablaufplan werden die Auflistung der Programmabschnitte visualisiert und Verbindungen der einzelnen Funktionen aufgezeigt. Einen Programmablaufplan kann man beliebig detailliert gestalten. Ich habe mir folgende Vorgehensweise für das weitere Vorgehen überlegt in Bezug auf die Programmierung des Roboters. Bei komplexeren Funktionen möchte ich Ihnen die Abläufe bei der Programmabarbeitung mittels Flussdiagramm näher bringen. Die in Abbildung 17 gezeigte Visualisierung von Funktionen, Entscheidungen und Anweisungen müssen nicht zwangsläufig einer ISO Norm entsprechen und sind zum Teil auf meine Zwecke angepasst worden. Ganz wichtig, der Eine oder andere Leser wird sich jetzt sicher denken, was das doch für eine veraltete Darstellungsweise von Programmablaufplänen ist. Heute benutzt man schließlich XML. Gut, aber ich bin auch nicht mehr der Frischeste und für unsere Zwecke reicht ein Flussdiagramm völlig aus.