Sie sind auf Seite 1von 8

Rechts

Kapitel 2:

Für den Einstieg:

Arduino und Raspberry Pi

2

Bevor wir endgültig loslegen, werde ich dich noch mit ein paar nützlichen Informatio- nen zu Mikrocontrollern bzw. Minicomputern versorgen, die wir in diesem Buch ein- setzen werden. Fangen wir mit dem Arduino an, den du ja schon kennengelernt hast.

Der Arduino

Das Arduino-Board besitzt als Zugpferd einen Mikrocontroller vom Typ ATmega328.

als Zugpferd einen Mikrocontroller vom Typ ATmega328 . Abbildung 2-1: Der ATmega328-Mikrocontroller (Quelle:

Abbildung 2-1: Der ATmega328-Mikrocontroller (Quelle: Atmel)

2
2

Er ist in seinen Ausmaßen wirklich recht bescheiden, doch es steckt eine ganze Menge Rechenpower in ihm. Eigentlich müsstest du lediglich diesen Controller auf eine Platine löten, ein paar Kondensatoren, einen Widerstand und einen Quarz hin- zufügen, mit Spannung versorgen – dann könntest du mit ihm arbeiten. Vergleich- bare Mikrocontroller kommen in den unterschiedlichsten Anwendungsgebieten zum Einsatz:

Max.

Linie

Max.

Linie

Der Arduino

|

67

Links

• Überwachungsfunktionen in kritischen Umgebungen wie z.B. Brutkästen (Temperatur, Feuchtigkeit, Herzfrequenz und Blutdruck des Frühchens etc.)

• Heizungssteuerung (Kontrolle von Außen- bzw. Innentemperatur zur optima- len Beheizung von Räumlichkeiten)

• Herzschrittmacher (Überwachung der Herzfrequenz und ggf. Stimulierung des Herzens)

• Haushaltsgeräte (z.B. Programmsteuerung in modernen Waschmaschinen oder Geschirrspülern)

• Hobbyelektronik (MP3-Player, Smartphones, Fotoapparate etc.)

• Robotik (z.B. Steuerung von Industrierobotern zur Montage von Kraftfahrzeug- teilen)

Diese Liste kann schier endlos fortgeführt werden. Wir können erkennen, dass Mik- rocontroller Einflüsse über Sensoren von außen erhalten, sie intern mithilfe eines Programms verarbeiten und Steuerbefehle nach draußen schicken. Unser Mikro- controller besitzt die folgenden Komponenten und kann grob in drei Bereiche unter- teilt werden:

• zentrale Recheneinheit (CPU)

• Speicher (ROM + RAM)

• Ein- bzw. Ausgabeports

Den Taktgeber, also den Oszillator (Quarz) zum Triggern der Zentraleinheit, habe ich in dieser Differenzierung außen vor gelassen. Werfen wir einen Blick auf das ver- einfachte Blockschaltbild unseres Mikrocontrollers:

ver- einfachte Blockschaltbild unseres Mikrocontrollers: Abbildung 2-2: Das Blockschaltbild eines Mikrocontrollers

Abbildung 2-2: Das Blockschaltbild eines Mikrocontrollers

Max.

Linie

Max.

Linie

68 |

Kapitel 2: Für den Einstieg: Arduino und Raspberry Pi

Rechts

Was bedeuten die einzelnen Blöcke in diesem Schaltbild jedoch und was ist ihre genaue Aufgabe, fragst du dich jetzt – richtig? Wir schauen uns das mal an.

Die zentrale Recheneinheit (CPU)

Das Arbeitstier in einem Mikrocontroller ist die zentrale Recheneinheit, auch kurz CPU (Central Processing Unit) genannt. Ihre Hauptfunktion besteht in der Deko- dierung und Ausführung von Befehlen. Sie kann Speicher adressieren, Ein- bzw. Ausgänge verwalten und auf Interrupts reagieren. Ein Interrupt ist eine Unterbre- chungsanforderung (IRQ = Interrupt Request) an die CPU, um den gerade laufen- den Rechenzyklus zu unterbrechen und auf ein bestimmtes Ereignis reagieren zu können.

Der Daten-Bus

Den Daten-Bus können wir uns im wahrsten Sinn des Wortes als einen Bus vorstel- len, der die Daten von einem Block zum nächsten transportiert. Die CPU fordert z. B. Daten aus dem Speicher an, die auf den Bus gelegt werden und der CPU unmittel- bar zur weiteren Verarbeitung zur Verfügung stehen. Liegt das Ergebnis der Berech- nung vor, wird es wieder auf den Bus transferiert und an einen Ausgangsport über- mittelt, der vielleicht den Motor eines Roboters ansteuert, um ein bestimmtes Ziel anzufahren. Es handelt sich bei dieser Bus-Struktur um eine Datenautobahn, die gemeinsam von allen genutzt wird, die daran angeschlossen sind.

von allen genutzt wird, die daran angeschlossen sind. Abbildung 2-3: Auf der Datenautobahn: »Nächster Halt:

Abbildung 2-3: Auf der Datenautobahn: »Nächster Halt: Speicher!«

2
2

Speicherbereiche

In einem Mikrocontroller werden in der Regel zwei Speicherbereiche unterschieden:

Max.

Linie

• Programmspeicher

• Datenspeicher

Der Arduino

|

69

Links

Der Programmspeicher dient zur Aufnahme des Programms, das die CPU abarbei- ten soll, wohingegen der Datenspeicher zur Verwaltung von temporär anfallenden Rechenergebnissen genutzt wird. Der Programmspeicher in einem Mikrocontroller ist ein ganz besonderer. Ein Mikrocontroller verfügt von Haus aus natürlich über keine Festplatte, doch er kann sein Programm nach der Trennung von der Versor- gungsspannung im Gedächtnis behalten. Wir haben es mit einer besonderen Art von Speicher zu tun. Er nennt sich Flash-Speicher und ist ein nicht-flüchtiger Spei- cher. Seine Bits und Bytes flüchten nicht nach dem Abschalten, sondern stehen uns weiterhin zur Verfügung. Du hast diese Speicherform schon unzählige Male bei deinem PC genutzt. Das BIOS ist in einem Flash-EEPROM untergebracht und kann bei Bedarf mit neuen Daten überschrieben werden, wenn eine neue Version vom Hersteller bereitgestellt wurde. Man sagt auch: »Das BIOS wird neu geflasht.« Im Gegensatz dazu haben wir noch den Datenspeicher im sogenannten SRAM. Das ist ein flüchtiger Speicherbereich, der die Daten, die zur Laufzeit des Programms anfallen, nach dem Ausschalten verliert. Das ist nicht weiter schlimm, denn diese Daten werden nur benötigt, wenn das Programm ausgeführt wird. Ist der Mikro- controller stromlos, muss er auch nichts berechnen. Dieser Speicher hat aber einen entscheidenden Vorteil gegenüber unserem Flash-Speicher: Er ermöglicht einen schnelleren Zugriff.

Die Ein- bzw. Ausgabeports

Die Ein- bzw. Ausgabeports sind die Verbindung des Mikrocontrollers zur Außen- welt. Sie sind quasi die Schnittstelle, an der die Peripherie angeschlossen werden kann. Unter Peripherie kann eigentlich alles verstanden werden, was sinnvoll mit der Schnittstelle verbunden werden kann. Das können z.B. folgende elektronische oder elektrische Komponenten sein:

• LED (Leuchtdiode)

• Taster

• Schalter

• LDR (lichtempfindlicher Widerstand)

• Transistor

• Widerstand

• Lautsprecher oder Piezo-Element

Diese Liste ließe sich endlos fortführen, und wir werden auch noch darauf zu spre- chen kommen, wie wir was mit welchem Port verbinden.

Max.

Max.

Linie

Linie

70 |

Kapitel 2: Für den Einstieg: Arduino und Raspberry Pi

Rechts

Rechts Abbildung 2-4: Aus- bzw. Ausgabeports Grundsätzlich werden aber zwei unterschiedliche Port-Varianten

Abbildung 2-4: Aus- bzw. Ausgabeports

Grundsätzlich werden aber zwei unterschiedliche Port-Varianten unterschieden:

• digitale Ein- bzw. Ausgänge

• analoge Ein- bzw. Ausgänge

Interrupt-Steuerung

Ein Mikrocontroller ist mit einer sogenannten Interrupt-Steuerung ausgestattet, die dazu genutzt wird, das Hauptprogramm zu unterbrechen, um dann eine Unterbre- chungsroutine ISR (Interrupt-Service-Routine) aufzurufen. Interrupts werden z.B. von Ein- bzw. Ausgabegeräten versendet, die ein Ereignis melden möchten. Das hat den Vorteil, dass ein Hauptprogramm nicht regelmäßig ein angeschlossenes Peri- pheriegerät überwachen muss – auch Polling genannt -, was einige Zeit in Anspruch nimmt und die CPU unnötig belastet. Ich habe diesen Punkt nur der Vollständigkeit halber erwähnt, er wird uns in diesem Buch nicht weiter begleiten.

2
2

Der Arduino im Detail

Wenn du dich hinsichtlich des Arduino weiter fit machen möchtest, rate ich dir, einen Blick in mein aktuelles Arduino-Buch »Die elektronische Welt mit Arduino ent- decken« zu werfen. Dort wird der Arduino auf Herz und Nieren getestet und es wer- den umfangreiche elektronische Projekte auf über 1.000 Seiten besprochen. Nähere Informationen inklusive Inhaltsverzeichnis findest du auf meiner Internetseite:

http://www.erik-bartmann.de/

Max.

Linie

Der Arduino

|

71

Links

Der Raspberry Pi

Kommen wir nun zu einem System, das in letzter Zeit viel von sich reden macht und das ein weiteres Betätigungsfeld für Bastler und Frickler darstellt. Es handelt sich um den Raspberry Pi, einen kompletten Minicomputer, der sich hinsichtlich seiner Größe kaum vom Arduino unterscheidet.

hinsichtlich seiner Größe kaum vom Arduino unterscheidet. Abbildung 2-5: Der Raspberry Pi Modell B+ Dieser Computer

Abbildung 2-5: Der Raspberry Pi Modell B+

Dieser Computer verfügt über eine ganze Reihe von Anschlüssen, die ihn sehr uni- versell einsetzbar machen:

• USB-Anschlüsse

• Netzwerkanschluss

• HDMI-Anschluss

• Kamera-Anschluss

• Display-Anschluss

• GPIO-Schnittstelle

• A/V-Anschluss

Er kann z.B. mit dem freien Betriebssystem Linux betrieben werden, das ihn zu einem mächtigen bzw. flexiblen Minicomputer macht. Das Betriebssystem wird auf einer SD-Karte gespeichert und kann somit sehr einfach auf den neuesten Stand gebracht werden. Gerade wenn es um Programmierung mit diversen Programmier- sprachen wie z.B.

Max.

Linie

Python

Scratch

Max.

Linie

72 |

Kapitel 2: Für den Einstieg: Arduino und Raspberry Pi

Rechts

• C/C++

• Shell

geht, bietet dir der Raspberry Pi eine wunderbare Plattform, um dich mit den unter- schiedlichsten Themenbereichen aus Informatik und Elektronik zu befassen. Wenn es um die Elektronik geht, sollten wir natürlich die sogenannte GPIO-Schnittstelle ansprechen, denn darüber kannst du ähnlich wie beim Arduino elektronische Schal- tungen ansteuern. Schauen wir uns diese Schnittstelle einmal genauer an. GPIO bedeutet übrigens General-Purpose-Input-Output und steht für universellen Einsatz, der frei programmierbar ist. Du kannst also über die Programmierung festlegen, wie sich die einzelnen Pins verhalten sollen. Natürlich gibt es dort auch feste Vorgaben wie Pins für die Spannungsversorgung oder Masse. Für den Raspberry Pi Modell B und B+ schaut die Pin-Belegung der GPIO-Schnittstelle wie folgt aus:

Max. Abbildung 2-6: Die GPIO-Schnittstelle des Raspberry Pi Modell B und B+ Linie Der Raspberry
Max.
Abbildung 2-6: Die GPIO-Schnittstelle des Raspberry Pi Modell B und B+
Linie
Der Raspberry Pi
|
73
2

Links

Diese Pins können ähnlich wie beim Arduino programmiert werden und arbeiten dann individuell entweder als Ein- oder Ausgänge. Natürlich steckt noch viel mehr dahinter, und deshalb werden wir uns weiter hinten im Buch der Programmierung des Raspberry Pi über Scratch widmen.

Der Raspberry Pi im Detail

Auch beim Raspberry Pi kannst du dich ähnlich wie beim Arduino weiter fit machen. Ich rate dir, einen Blick in mein aktuelles Raspberry Pi-Buch »Die elektro- nische Welt mit Raspberry Pi entdecken« zu werfen. Dort wird der Raspberry Pi im Detail besprochen, und umfangreiche elektronische Projekte runden das Buch mit knapp 1.000 Seiten ab. Nähere Informationen inklusive Inhaltsverzeichnis findest du auf meiner Internetseite:

http://www.erik-bartmann.de/

Max.

Max.

Linie

Linie

74 |

Kapitel 2: Für den Einstieg: Arduino und Raspberry Pi