Erste Schritte mit GPIO auf einem Raspberry Pi

Erste Schritte mit GPIO auf einem Raspberry Pi / DIY

Wenn Sie der Meinung sind, dass das Arduino cool war, warten Sie einfach, bis Sie einen Raspberry Pi in die Hände bekommen - diese Dinge sind erstaunlich. Sie sind nicht nur ein voll funktionsfähiger Computer, sondern haben auch eine Auswahl von Allgemeiner Eingang / Ausgang Stifte. Genau wie ein Arduino können wir damit Elektronikprojekte erstellen - und es ist überraschend einfach, damit anzufangen.

Heute schließen wir ein Relais an und verwenden es, um eine LED einzuschalten, aber Sie können eine Lampe genauso einfach einschalten.

Diese Einführung dient als erster Teil eines größeren Projekts zur Hausautomation. Christian hat bereits den Grundstein gelegt, um mit einem Pi zu beginnen. Ich werde also nicht die ersten Schritte wiederholen, die hier zum Herunterladen eines Betriebssystems oder zum Einstecken der SD-Karte erforderlich sind funktionierendes Raspian-System bereits eingerichtet.

Warnung: Obwohl ein Himbeer-Pi können Ähnlich wie bei einem Arduino verwendet werden, ist etwas mehr Vorsicht erforderlich. Die Pins des Pi arbeiten bei 3,3 v, während der Arduino verwendet 5 v. Es ist zwar möglich, ein Arduino zu brechen, es ist jedoch viel einfacher, ein Pi zu brechen, da die Pins direkt mit dem Onboard-Chip verbunden sind.

Seien Sie daher sehr vorsichtig, wenn Sie versuchen, Arduino-Projekte auf Ihrem Pi zu replizieren - folgen Sie entweder einem Pi-spezifischen Lernprogramm oder stellen Sie sicher, dass Sie sich mit der grundlegenden Elektronik auskennen.

Bedarf:

  • NPN-Transistor, wie beispielsweise P2N2222A
  • 1k Widerstand
  • Relais; Ich verwende ein 4-Relais-5-V-Modul, das über eine zusätzliche Schutzschaltung verfügt (keine zusätzlichen Dioden erforderlich)
  • LED und 220 Ohm Widerstand zum Testen
  • Kabel ausbrechen

Breakout-Kabel (“Schuster-Kit”)

Die GPIO-Pins befinden sich auf der Seite des Pi neben der Cinch-Videoausgangsbuchse.

Obwohl Sie technisch einige Kabel mit weiblichen Endstücken direkt an diese Kabel anschließen könnten, sind diese nicht sinnvoll beschriftet und Sie neigen daher eher dazu, etwas zu beschädigen. Holen Sie sich stattdessen ein Breakout-Kabel wie dieses von Adafruit oder einen der vielen günstigeren Klone bei eBay. Möglicherweise müssen Sie dies löten, da es in Form eines Kits vorliegt.

Obwohl die Plattenseite eine Einkerbung aufweist, um die korrekte Platzierung des Kabels anzuzeigen, ist dies bei der Pi-Seite nicht der Fall. Stellen Sie sicher, dass die 3V- und 5V-Pins in der äußeren Ecke des Pi mit den entsprechenden Pins auf der Platine übereinstimmen. Wenn Sie einen Fall gekauft haben, der den GPIO-Header nicht freigibt, müssen Sie natürlich mit nacktem Pi laufen oder ein Loch schneiden.

Alternativ können Sie ein vollständiges Board erhalten, das auf Ihrem Pi angebracht wird und normalerweise eine Auswahl nützlicher Komponenten enthält.

Grundschaltung

Richten Sie die Schaltung wie unten beschrieben ein. Ich habe die Relaisschaltung ausgelassen, da dies variieren kann. Verwenden Sie die NEIN (normalerweise geschlossen) und COM Klemmen Ihres Relais für Ihre LED oder ein anderes Gerät.

Verwenden Sie Pin 4 vom Raspberry Pi. Auf meinem Breakout-Board ist es mit + GPCLK0 gekennzeichnet. Unabhängig davon ist es der vierte Pin, der von 3V3 gezählt wird.

Befehlszeilenprüfung

In den folgenden Beispielen gehe ich davon aus, dass Sie über SSH oder anderweitig als Root-Benutzer angemeldet sind. Wenn dies nicht der Fall ist, müssen Sie einige Befehle mit sudo für erhöhte Berechtigungen vorlegen.

Zuerst müssen wir installieren WiringPi.

git clone git: //git.drogon.net/wiringPi cd wiringPi ./build

Vorausgesetzt, alles lief gut, sollten wir jetzt in der Lage sein, den GPIO wie folgt direkt von der Befehlszeile aus zu steuern:

gpio -g mode 4 out gpio -g schreiben 4 1

Der erste Befehl ähnelt der Setup-Funktion des Arduino, bei der dem Pi mitgeteilt wird, dass Pin 4 als Ausgang verwendet wird. Der nächste Befehl schreibt den Wert 1 in den Pin, der den Transistor auslösen soll, das Relais aktivieren, den Stromkreis für die LED schließen und einschalten soll.

Genial. Wenn nicht, gehen Sie zurück und überprüfen Sie Ihre Verdrahtung. Klickt das Relais??

Python

Obwohl Python nicht die einzige Möglichkeit ist, mit den GPIO-Pins zu kommunizieren, wird dies im Allgemeinen als die einfachste angesehen und ist in bestehenden Projekten am häufigsten zu finden. Im Gegensatz zu C ist Python relativ leicht zu finden (hier sind 5 Websites, um Python zu lernen Die 5 besten Websites, um Python-Programmierung zu lernen Die 5 besten Websites, um Python-Programmierung zu lernen Möchten Sie Python-Programmierung lernen? Hier sind die besten Möglichkeiten, Python online zu lernen, von denen viele völlig kostenlos sind. Weitere Informationen).

Beginnen Sie mit der Installation der folgenden Python-Erweiterungen:

apt-get install python-dev apt-get installieren python-rpi.gpio

Erstellen Sie nun eine neue Datei mit dem Namen test.py. Wenn Sie eine Befehlszeile verwenden, geben Sie Folgendes ein

nano test.py

Fügen Sie Folgendes ein oder geben Sie Folgendes ein (auch auf diesem Pastebin):

RPi.GPIO als GPIO importieren GPIO.setmode (GPIO.BCM) GPIO.setup (4, GPIO.OUT) für x im Bereich (0,10): time.sleep (5) GPIO.output (4,1) Zeitschlaf (5) GPIO.Ausgang (4,0)

Dies ist ein sehr einfaches Python-Skript, das die LED (oder was auch immer Sie an Ihr Relais angeschlossen haben) für 5 Sekunden einschaltet und dann für 5 Sekunden ausschaltet, 10 mal. Sie sollten in der Lage sein, den größten Teil des Codes zu verstehen. Das GPIO.setmode Zeile wird einfach verwendet, um das Pin-Nummerierungsschema anzugeben, das wir verwenden werden.

Das ist es! Um den Code auszuführen, geben Sie Folgendes ein:

python test.py

Nächste Woche werden wir das Setup etwas weiter ausarbeiten und einige aufregende Dinge wie das Hinzufügen von Sprachsteuerung tun. Wenn Sie elektrische Hochspannungselemente in den Relaiskreis einbauen, sollten Sie sicherstellen, dass Sie ein Relais mit angemessener Nennleistung verwenden auf der stromleitung, und stellen Sie sicher, dass Sie alles einschließen, so dass es von den neugierigen Fingern der Babys oder der Mutter entfernt ist. Aber im Ernst, sicher sein.

Bitte posten Sie Ihre Fragen, Kommentare, Rückmeldungen und Haikus in das nachstehende Feld. Denken Sie jedoch daran, dass ich Sie über die Verwendung der Grammatik einschätze.

Mehr erfahren über: Himbeer-Pi.