Come posso usare i pin GPIO come uscite digitali?


28

Ho letto che il Raspberry Pi ha un numero di pin di input e output.

  • Come posso cambiarli? (da Python?)
  • Quale logica di tensione?
  • Ho bisogno di resistori pull-up o pull-down?
  • Devo cambiare i pin dagli ingressi alle uscite?
  • Quali pin sono disponibili?

La tua seconda domanda non è chiara
Sohan Arafat,

Risposte:


16

I pin GPIO sono 3,3 V e la corrente massima è 16 mA. Ciò significa che non sarai in grado di alimentare quasi tutto direttamente. Ecco perché è necessario almeno utilizzare un interruttore a transistor, se non un circuito di protezione più avanzato. Puoi leggere di più su di essi nel Tutorial RPi EGHS: Circuiti di protezione GPIO .

Una guida generale è periferiche di basso livello RPi .


3
Potresti per favore espandere la tua risposta? Mi piacerebbe vedere tutte le risposte alle domande e le informazioni contenute nei link forniti sono riepilogate. Al momento le informazioni su RTC sono errate (RTC è irrilevante)
Alex L

11

Queste istruzioni non sono specifiche di Python, ma potrebbero aiutarti a iniziare a sperimentare GPIO. /raspberrypi//a/350/668 ha informazioni su una libreria e sull'utilizzo specifico per Python.

Dopo aver avviato Raspberry Pi usando la distro Debian consigliata, GPIO è disabilitato. Devi abilitare ogni pin singolarmente.

Se lo fai tramite / sys troverai interessanti "Paths in Sysfs" (cerca in https://www.kernel.org/doc/Documentation/gpio/sysfs.txt ). In particolare, abiliterai un pin "esportandolo". Tutti i comandi di seguito presuppongono che tu stia eseguendo come privilegi di root (sudo o altro) o che tu abbia cambiato le autorizzazioni / proprietà dei file virtuali da modificare.

echo 4 > /sys/class/gpio/export

Questo abilita il pin GPIO n. 4 che quindi fa sì che / sys / class / gpio / gpio4 esistano, che contiene diversi file virtuali. Questi file includono "direction" che definisce se si tratta di un input o di un pin di output, "value" che è di sola lettura per l'input o scrivibile per l'output e contiene il valore corrente e altri.

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

Ovviamente probabilmente preferirai usare alcune librerie preesistenti per fare GPIO fornito o compatibile con la tua lingua preferita. Ma se vuoi qualcosa di semplice, puoi semplicemente interfacciarti direttamente con sysfs per fare GPIO di base.


0

Importa la libreria python e puoi facilmente controllare i pin. Ci sono molti tutorial online. Hai bisogno e ide con i supporti Python e conoscenze di base sulla programmazione Python.

I pin GPIO sono disponibili per ingressi e uscite.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.