Riassunto

Riassunto progetti

GPIO Zero - Raspberry Pi

GPIO o "General-purpose input/output" termine che comunemente indica la possibilità d'un dispositivo di collegarsi ad altri, di comunicare con altri.


Il raspberry pi, a seconda delle versioni, ha più o meno GPIO, in ordine diverso, con i quali riesce a comunicare con il mondo esterno.


BCM & Fisici


Un punto importante è comprendere la differenza tra Pin BCM e Fisici.
I pin BCM sono i pin che si utilizzano come GPIO effettivi nella compilazione.
I pin Fisici è la numerazione fisica del pin.

La numerazione a pin Fisici non conta per la GPIO.


RPi.GPIO Vs gpiozero

Inizialmente la raspberry pi non aveva un protocollo di comunicazione GPIO, cos'è la rete dovette crearsene uno. Dopo qualche anno di perfezionamento e grazie al signor Ben Croston, fece la sua comparsa il RPi.GPIO.
Per anni rappresenterò l'unico modo per poter utilizzare la GPIO del raspberry pi, svolgeva il suo lavoro in modo impeccabile e fu largamente supportato dalla rete.

Solo recentemente, Ben Nuttall, uno dei padri del raspberry pi, decise di scrivere un nuovo GPIO, appunto chiamato GPIO Zero.
Questo nuovo GPIO è stato sviluppato per rendere più "user friendly" l'approccio al GPIO del nostro Raspberry.

In questo momento stiamo vivendo la transizione tra un progetto e l'altro, la quasi totalità di tutorial in rete è basata su RPi. Tuttavia non ci sono conflitti tra i due tipi di GPIO.

Questa serie di tutorial utilizzeranno il gpiozero, vista la decisione dei padri del Raspberry nel voler portar avanti questo GPIO in futuro.


Comandi utili

Dato che questa guida non si propone come alternativa a quella originale, che è fatta su misura per impartire le funzioni di tutti i comandi base, diamo solo qualche indicazione generale per effettuare i primi passi con i comandi più utili e iniziali.

Ricordo che l'editor GPIO Zero è l'ambiente Python, basterà scrivere 'Python' nella console.

Sostanzialmente ogni comando va prima 'chiamato', come le librerie in Arduino, vediamo come:

- Importiamo la funzione LED
 from gpiozero import LED  
- Importiamo la funzione LED e BOTTONE
 from gpiozero import LED, Button  
Continuando con l'ultima riga qui sopra, andiamo a definire dov'è collegato, fisicamente, il led ed il bottone
 button = Button(2)  
 led = LED(17)  

Ricordo che il LED è un output, quindi sotto la sezione apposita, http://goo.gl/CCqePa, troveremo tutte le funzioni associate.

D'altra parte, Button è un input, quindi sotto la sezione apposita, http://goo.gl/318Xjj, troveremo tutte le funzioni associate.


Ancora un'ultimo esempio per chiarire le idee:
 from gpiozero import LED, Button  
   
 led = LED(2)  
 button = Button(3)  
   
 button.when_pressed = led.on  
 button.when_released = led.off  
Le funzioni led.on / led.off e button.when_pressed / button.when_released sono funzioni associate rispettivamente a LED e Button.

2 commenti:

  1. salve, ma è possibile usare sensori diversi da quelli elencati nel sito?
    io devo usare sensori ad ultrasuoni e humidita e temperatura, ma non capisco se li gestisce e come

    RispondiElimina
    Risposte
    1. Il problema di fondo è che la Raspberry PI non ha un ADC, tuttavia si può risolvere utilizzando un MCP300X converter.
      Eccoti la sezione giusta per te: http://goo.gl/J05HJo

      Elimina