Oggi parleremo di pin di ingresso/uscita ad uso generico, meglio noti come GPIO, che significa “General Purpose Input/Output”.

I GPIO di Raspberry sono molto simili a quelli di Arduino, e come sempre è meglio evitare di toccarli con le dita per preservare la scheda.

Ma la differenza più evidente è che, se con Arduino abbiamo già stampato sulla scheda cosa fanno i singoli PIN, su Raspi bisogna cercarli su internet: un sito molto utile è www.pinout.xyz.

Per iniziare a “prendere confidenza” con i vari PIN ne useremo uno, insieme a due LED montati su una breadboard.

Dopo esserci connessi a Raspi attraverso SSH (vedi video precedente), prima controlleremo i gruppi abilitati all’interno del nostro Raspi evocando il comando groups, e qualora nell’output non fosse presente la dicitura GPIO allora digiteremo sudo usermod -a -G gpio pi per aggiungere l’utente Pi al gruppo GPIO. Di default comunque dovrebbe essere già nel gruppo.

Per controllare i PIN su Raspi ci sono essenzialmente tre modi:
1) Quello nativo di Linux (linguaggio Bash)
2) Con Python (è un linguaggio interpretato) tramite una libreria.
3) Con C++ (è un linguaggio compilato) tramite una libreria.

In questo video parleremo del metodo Bash… Un metodo particolare, se vogliamo, ma sicuramente molto interessante... dico così perché Raspi crea sostanzialmente una cartella contenente dei file che hanno scritto all'interno cosa deve fare ogni PIN. Cambiando il contenuto di questo file controlleremo i PIN.
Quindi alla partenza i PIN non sono attivati e per attivarli basta digitare:

echo 22 > /sys/class/gpio/export, cioè inseriamo il valore del PIN al quale è collegato il nostro Led.

Ls -l /sys/class/gpio/gpio22/ per vedere il contenuto di questo File.

Nella lista che appare subito dopo l’invio notiamo molti file, ma a noi ne interesseranno solo due: direction e value. Quando diremo la direzione della corrente e che deve erogare corrente, avremo il nostro LED finalmente acceso.