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?
Ho letto che il Raspberry Pi ha un numero di pin di input e output.
Risposte:
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 .
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.
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.