Erste Schritte mit GPIO auf einem Raspberry Pi

Wenn du das Arduino cool findest, warte einfach, bis du einen Raspberry Pi in die Finger bekommst - diese Dinge sind erstaunlich. Sie verfügen nicht nur über einen voll funktionsfähigen Computer, sondern auch über eine Auswahl an Universal-Input / Output-Pins.

Wenn du das Arduino cool findest, warte einfach, bis du einen Raspberry Pi in die Finger bekommst - diese Dinge sind erstaunlich.  Sie verfügen nicht nur über einen voll funktionsfähigen Computer, sondern auch über eine Auswahl an Universal-Input / Output-Pins.
Werbung

Funktionsumfang-rpi-gpio Wenn du das Arduino cool findest, warte einfach, bis du einen Raspberry Pi in die Finger bekommst - diese Dinge sind erstaunlich. Sie verfügen nicht nur über einen voll funktionsfähigen Computer, sondern auch über eine Auswahl an Universal-Input / Output- Pins. Genau wie ein Arduino können wir daraus Elektronik-Projekte erstellen - und es ist überraschend einfach, loszulegen.

Heute werden wir ein Relais anschließen und es verwenden, um eine LED einzuschalten, aber Sie könnten ebenso eine Lampe einschalten.

Diese Einführung dient als erster Teil eines größeren Hausautomationsprojekts. Christian hat bereits den Grundstein gelegt, um mit einem Pi zu beginnen, also werde ich hier nicht die ersten Schritte wiederholen, ein OS herunterzuladen oder die SD-Karte einzulegen - ich nehme an, Sie haben bereits ein funktionierendes Raspian-System eingerichtet.

Warnung : Obwohl ein Raspberry Pi ähnlich wie ein Arduino verwendet werden kann, ist ein wenig mehr Vorsicht geboten. Die Pins des Pi arbeiten bei 3, 3 V, während der Arduino 5 V verwendet . Während es möglich ist, einen Arduino zu zerbrechen, ist es viel einfacher, einen Pi zu knacken, da die Pins direkt mit dem Onboard-Chip verbunden sind - 5V nach unten zu senden, kann es dann braten.

Seien Sie daher sehr vorsichtig, wenn Sie versuchen, Arduino-Projekte auf Ihrem Pi zu replizieren - entweder folgen Sie einem Pi-spezifischen Tutorial, oder stellen Sie sicher, dass Sie ein gutes Verständnis der grundlegenden Elektronik haben.

Bedarf:

  • NPN-Transistor, wie beispielsweise P2N2222A
  • 1 k 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
  • Breakout-Kabel

Breakout-Kabel ("Cobbler Kit")

Die GPIO-Pins befinden sich an der Seite des Pi, neben der RCA-Video-Out-Buchse.

Breakout-Kabel

Obwohl Sie einige Steckerbuchsen mit Buchsenkontakt direkt an diese anschließen können, werden sie nicht auf eine nützliche Weise beschriftet und Sie werden daher eher etwas kaputt machen. Erhalte 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, wie es in Kit-Form kommen wird.

Breakout-Board

Obwohl die Platinenseite eine Kerbe aufweist, um die korrekte Platzierung des Kabels anzuzeigen, ist dies bei der Pi-Seite nicht der Fall. Stellen Sie sicher, dass die 3-V- und 5-V-Pins in der entfernten Ecke des Pi mit den entsprechenden Pins auf der Platine ausgerichtet sind. Natürlich, wenn Sie einen Fall gekauft haben, der den GPIO-Header nicht freilegt, dann müssen Sie mit nacktem Pi laufen oder ein Loch schneiden.

Klarfall-GPIO

Alternativ können Sie eine Vollpension erhalten, die sich auf Ihrem Pi befindet und in der Regel eine Auswahl nützlicher Komponenten enthält.

Grundlegende Schaltung

Richten Sie die Schaltung wie unten beschrieben ein. Ich habe die Relaisschaltung weggelassen, da dies variieren wird. Verwenden Sie die NO (normalerweise geschlossenen) und COM- Anschlüsse Ihres Relais für Ihre LED oder andere Geräte.

Schaltung

Benutze Pin 4 vom Raspberry Pi. Auf meinem Breakout Board ist es mit + GPCLK0 gekennzeichnet; Egal, es ist der vierte Pin von 3V3.

Stift4

Kommandozeilen-Test

In den folgenden Beispielen gehe ich davon aus, dass Sie über SSH oder auf andere Weise als Root-Benutzer angemeldet sind. Ist dies nicht der Fall, müssen Sie einige der Befehle mit sudo für erhöhte Rechte vorgeben.

Zuerst müssen wir WiringPi installieren.

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

Angenommen, alles lief gut, sollten wir nun in der Lage sein, den GPIO direkt von der Kommandozeile aus so zu steuern:

 gpio -g Modus 4 aus gpio -g Schreibe 4 1 

Der erste Befehl ähnelt der Setup-Funktion des Arduino, bei der wir dem Pin mitteilen, dass Pin 4 als Ausgabe verwendet wird. Der nächste Befehl schreibt einen Wert von 1 auf den Pin, der den Transistor auslösen, das Relais aktivieren, die Schaltung für die LED schließen und einschalten soll.

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

Python

Obwohl Python nicht die einzige Möglichkeit ist, mit den GPIO-Pins zu kommunizieren, wird es im Allgemeinen als das einfachste betrachtet und ist am häufigsten in bestehenden Projekten zu finden. Im Gegensatz zu C, ist Python relativ leicht zu erlernen (hier sind 5 Websites zu lernen Python Die 5 besten Websites Python zu lernen Programmierung Die 5 besten Websites Python Programmierung zu lernen In den letzten zehn Jahren ist die Programmiersprache Python in Popularität unter den Programmierern in allen explodiert Bereiche des Codierens: Von Webentwicklern über Videospieldesigner bis hin zu Inhouse-Tool-Machern sind viele Menschen in ... Weiterlesen ... gefallen.

Beginnen Sie mit der Installation der folgenden Python-Erweiterungen:

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

Erstellen Sie jetzt eine neue Datei namens test.py. Wenn Sie eine Befehlszeile verwenden, geben Sie ein

 nano test.py 

Fügen Sie Folgendes ein oder geben Sie Folgendes ein (auch für dieses Pastebin):

 import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BCM) GPIO.setup(4, GPIO.OUT) for x in range(0, 10): time.sleep(5) GPIO.output(4, 1) time.sleep(5) GPIO.output(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 an und dann für 5 Sekunden 10 Mal ausschaltet. Sie sollten in der Lage sein, den größten Teil des Codes zu verstehen. Die GPIO.setmode- Zeile wird einfach verwendet, um das Pin-Nummerierungsschema anzugeben, das wir verwenden werden.

Das ist es! Geben Sie Folgendes ein, um den Code auszuführen:

 python test.py 

fertig

Nächste Woche werden wir das Setup ein wenig ausarbeiten und einige aufregende Sachen wie das Hinzufügen von Sprachsteuerung machen. Wenn Sie elektrische Elemente mit hoher Spannung in den Relaisstromkreis einlegen, sollten Sie sicher sein, dass Sie ein angemessen bemessenes Relais an der stromführenden Leitung verwenden, und achten Sie darauf, alles so einzuschließen, dass es von den neugierigen Fingern entfernt ist von Babys oder Mama. Aber ernsthaft, sei sicher.

Bitte posten Sie Ihre Fragen, Kommentare, Feedback und Haikus in das Feld unten - aber bedenken Sie, dass ich Sie bei der Verwendung der Grammatik benoten werde.

In this article