Beim CrowPi handelt es sich um einen vielfältigen Baukasten der Firma Elecrow, der in Verbindung mit einem Raspberry Pi den Benutzer zahlreiche Komponenten zu Lern- und Weiterbildungszwecken nutzen lässt. Das Gerät entstand im Rahmen einer Kickstarter-Kampagne und konnte schnell eine grosse Anzahl von Unterstützern finden.
Im Gegensatz zu anderen Elektronikbausätzen sind beim CrowPi alle Komponenten direkt über die Platine mit den jeweiligen Komponenten verbunden, sodass kein manuelles und aufwendiges Verkabeln der einzelnen Bauteile mehr erforderlich ist. Stattdessen kann einfach ein Raspberry Pi eingesetzt werden, der sofort über seine GPIO Pins (General-Purpose Input/Output) die jeweiligen Aktoren und Sensoren ansprechen kann.
Dank dem integrierten Display des CrowPi sowie der mitgelieferten Tastatur und Maus ist es sogar möglich, direkt auf dem entsprechenden Gerät zu entwickeln oder andere grafische Applikationen darauf auszuführen. Da der Bildschirm für längeres Arbeiten etwas klein ist, wird im Tutorial eine Variante gewählt, bei der auf einem separaten PC oder Laptop entwickelt werden kann.
Aufgrund der hohen Anzahl an verschiedenen Komponenten stösst der CrowPi an eine Limitation des Raspberry Pi, konkret die Anzahl der verfügbaren GPIO Pins. Es ist nur möglich eine begrenzte Anzahl von Bauteilen mit dem Raspberry Pi zu verbinden bevor alle Ein- und Ausgänge belegt sind. Um dieses Problem zu umgehen, verwendet der CrowPi sogenannte DIP Switches:
Es handelt sich hierbei um die beiden rot umrandeten Schaltergruppen, die jeweils 8 kleine Schalter anbieten. In der Standardposition sind diese alle ausgeschaltet und somit in der unteren Position, womit sich die meisten Komponenten vom CrowPi direkt einsetzen lassen. Bei manchen Komponenten müssen aber noch einzelne Schalter eingeschaltet (= obere Position) werden, um eine andere verbundene Komponente vom Raspberry Pi abzuhängen und stattdessen die neue Komponente anzusprechen.
Man kann sich diese Schalter beim CrowPi somit als eine Art Weiche vorstellen, die entweder die eine oder die andere Komponente mit dem Raspberry Pi verbindet. In diesem Tutorial wird jeweils auf die benötigte Schalterposition hingewiesen. Es lässt sich so zwar eine Vielzahl von Komponenten verbinden, aber einige Konfigurationen sind wegen dieser Limitation nicht möglich.
Der CrowPi verfügt über eine grosse Anzahl von Sensoren und Aktoren, die über die jeweiligen Pins auf dem Raspberry Pi mittels Pi4J angesprochen werden können. Es kommen hierbei unterschiedliche Protokolle und Schnittstellen zum Einsatz, die von den entsprechenden Komponenten-Klassen dieses Tutorials abstrahiert und vereinfacht werden. Nachfolgend sind alle vorhandenen Komponenten aufgeführt:
Komponente | Einsatzzweck | Schnittstelle | Position von DIP Switches |
---|---|---|---|
7-Segment Anzeige | Anzeigen von bis zu 4 Ziffern | I²C | |
Button | Abfragen von vier unabhängigen Knöpfen | GPIO | |
Button Matrix | Abfragen von Matrix aus 4 × 4 Knöpfen | GPIO | |
Buzzer | Abspielen von verschiedenen Tönen | PWM | |
Infrarot Empfänger | Empfangen von Infrarot-Signalen | GPIO | |
LCD Display | Anzeige von Text und Zahlen | I²C, GPIO | |
LED Matrix | Darstellen von beliebigen Symbolen | SPI | |
Lichtsensor | Erkennen von aktueller Lichtstärke | I²C | |
PIR Motion Sensor | Erkennen von Bewegung mit passivem Infrarot | GPIO | |
Relais | Schaltung eines elektrischen Kontakts | GPIO | |
RFID | Kontaktloses Lesen und Schreiben von Karten | SPI | |
Schrittmotor | Bewegen eines Schrittmotors | GPIO | |
Servomotor | Bewegen eines Servomotors | PWM | |
Sound Sensor | Erkennen von Lärm oder Stille | GPIO | |
Temperatur- und Luftfeuchtigkeitssensor | Messen von Temperatur und Luftfeuchtigkeit | GPIO | |
Tilt Sensor | Erkennt aktuelle Neigung (links/rechts) von CrowPi | GPIO | |
Touch Sensor | Erkennen von Berührungen | GPIO | |
Ultraschall Distanz Sensor | Messung von Distanzen mit Ultraschall | GPIO | |
Vibrationsmotor | Erzeugen eines Vibrationsalarms | GPIO |