Wie kann ich die GPIO-Pins als digitale Ausgänge verwenden?

28

Ich habe gelesen, dass der Raspberry Pi eine Reihe von Eingangs- und Ausgangs-Pins hat.

  • Wie kann ich sie wechseln? (von Python?)
  • Welche Spannungslogik?
  • Benötige ich Pull-Up- oder Pull-Down-Widerstände?
  • Muss ich die Pins von den Eingängen auf die Ausgänge umschalten?
  • Welche Pins sind verfügbar?
Alex L
quelle
Ihre zweite Frage ist nicht klar
Sohan Arafat

Antworten:

16

Die GPIO-Pins sind 3,3 V und der maximale Strom beträgt 16 mA. Das bedeutet, dass Sie fast nichts direkt mit Strom versorgen können. Aus diesem Grund müssen Sie mindestens einen Transistorschalter verwenden, wenn nicht eine erweiterte Schutzschaltung. Weitere Informationen hierzu finden Sie im RPi-Tutorial EGHS: GPIO-Schutzschaltungen .

Ein allgemeiner Leitfaden ist RPi Low-Level-Peripheriegeräte .

Gil
quelle
3
Könnten Sie bitte Ihre Antwort erweitern? Ich möchte, dass alle Fragen beantwortet und die Informationen in den bereitgestellten Links zusammengefasst werden. Im Moment sind die Informationen über RTC falsch (RTC ist irrelevant)
Alex L
11

Diese Anweisungen sind nicht Python-spezifisch, können Ihnen jedoch beim Experimentieren mit GPIO behilflich sein. https://raspberrypi.stackexchange.com/a/350/668 enthält Informationen zu einer für Python spezifischen Bibliothek und Verwendung.

Wenn Sie Ihren Raspberry Pi mit der empfohlenen Debian-Distribution gestartet haben, ist GPIO deaktiviert. Sie müssen jeden Pin einzeln aktivieren.

Wenn Sie es über / sys tun, werden Sie "Paths in Sysfs" interessant finden (suchen Sie in https://www.kernel.org/doc/Documentation/gpio/sysfs.txt ). Insbesondere würden Sie einen Pin aktivieren, indem Sie ihn "exportieren". Bei den folgenden Befehlen wird davon ausgegangen, dass Sie als Root-Benutzer angemeldet sind (sudo oder anderweitig) oder die Berechtigungen / den Besitz der zu ändernden virtuellen Dateien geändert haben.

echo 4 > /sys/class/gpio/export

Dadurch wird der GPIO-Pin 4 aktiviert, der dann zur Existenz von / sys / class / gpio / gpio4 führt, der mehrere virtuelle Dateien enthält. Diese Dateien enthalten "Richtung", die definiert, ob es sich um einen Eingabe- oder einen Ausgabepin handelt, "Wert", der entweder für die Eingabe schreibgeschützt ist oder für die Ausgabe schreibbar ist und den aktuellen Wert enthält, und andere.

echo out > /sys/class/gpio/gpio4/direction # set it as an output pin
echo 1 > /sys/class/gpio/gpio4/value # set the value to ON
echo 0 > /sys/class/gpio/gpio4/value # set the value to OFF
echo in > /sys/class/gpio/gpio4/direction # set it as input
cat /sys/class/gpio/gpio4/value # get the value
echo 4 > /sys/class/gpio/unexport # disables pin 4 and removes the gpio4 directory

Natürlich werden Sie es wahrscheinlich vorziehen, eine bereits vorhandene Bibliothek zu verwenden, um GPIO zu erstellen, das mit der Sprache Ihrer Wahl geliefert wird oder mit dieser kompatibel ist. Wenn Sie jedoch etwas Einfaches wünschen, können Sie sich direkt mit sysfs verbinden, um ein sehr einfaches GPIO zu erstellen.

Emmaly Wilson
quelle
0

Importieren Sie die Python-Bibliothek und Sie können die Pins einfach steuern. Es sind viele Tutorials online. Sie benötigen und verstehen Python-Unterstützung und Grundkenntnisse in der Python-Programmierung.

Die GPIO-Pins stehen für Ein- und Ausgänge zur Verfügung.

Sohan Arafat
quelle