Raspberry Pi è una scheda basata su processore con architettura ARM progettata per ingegneri elettronici e hobbisti. Il PI è una delle piattaforme di sviluppo di progetti più affidabili attualmente disponibili. Con una maggiore velocità del processore e 1 GB di RAM, il PI può essere utilizzato per molti progetti di alto profilo come l'elaborazione delle immagini e Internet of Things.
Per fare uno qualsiasi dei progetti di alto profilo, è necessario comprendere le funzioni di base di PI. Questo è il motivo per cui siamo qui, copriremo tutte le funzionalità di base di Raspberry Pi in questi tutorial. In ogni serie di tutorial discuteremo una delle funzioni di PI. Entro la fine della serie di tutorial sarai in grado di realizzare progetti di alto profilo da solo. Controlla questi per iniziare con Raspberry Pi e Raspberry Pi Configuration.
Stabilire la comunicazione tra PI e utente è molto importante per la progettazione di progetti su PI. Per la comunicazione, PI deve ricevere gli input dall'utente. In questo secondo tutorial della serie PI, interfacciamo un pulsante a Raspberry Pi, per prendere INPUT dall'utente.
Qui collegheremo un pulsante a un pin GPIO e un LED a un altro pin GPIO di Raspberry Pi. Scriveremo un programma in PYTHON, per far lampeggiare il LED in modo continuo, alla pressione del pulsante da parte dell'utente. Il LED lampeggerà accendendo e spegnendo GPIO.
Prima di passare alla programmazione, parliamo un po 'di LINUX e PYHTON.
LINUX:
LINUX è un sistema operativo come Windows. Esegue tutte le funzioni di base che il sistema operativo Windows può eseguire. La principale differenza tra loro è che Linux è un software open source dove Windows non lo è. Ciò che in pratica significa è che Linux è gratuito mentre Windows non lo è. Il sistema operativo Linux può essere scaricato e gestito gratuitamente, ma per scaricare il sistema operativo Windows originale, devi pagare i soldi.
E un'altra importante differenza tra loro è che il sistema operativo Linux può essere "modificato" modificando il codice, ma il sistema operativo Windows non può essere modificato, ciò comporterà complicazioni legali. Quindi chiunque può prendere il sistema operativo Linux e modificarlo secondo le proprie esigenze per creare il proprio sistema operativo. Ma non possiamo farlo in Windows, il sistema operativo Windows è dotato di restrizioni per impedirti di modificare il sistema operativo.
Qui stiamo parlando di Linux perché, JESSIE LITE (Raspberry Pi OS) è un sistema operativo basato su LINUX, che abbiamo installato nella parte introduttiva di Raspberry Pi. Il sistema operativo PI viene generato sulla base di LINUX, quindi dobbiamo conoscere un po 'i comandi operativi di LINUX. Discuteremo di questi comandi Linux nei seguenti tutorial.
PITONE:
A differenza di LINUX, PYTHON è un linguaggio di programmazione come C, C ++ e JAVA ecc. Questi linguaggi vengono utilizzati per sviluppare applicazioni. Ricorda i linguaggi di programmazione eseguiti sul sistema operativo. Non è possibile eseguire un linguaggio di programmazione senza un sistema operativo. Quindi il sistema operativo è indipendente mentre i linguaggi di programmazione dipendono. Puoi eseguire PYTHON, C, C ++ e JAVA sia su Linux che su Windows.
Le applicazioni sviluppate da questi linguaggi di programmazione possono essere giochi, browser, app ecc. Useremo il linguaggio di programmazione PYTHON sul nostro PI, per progettare progetti e manipolare i GPIO.
Discuteremo un po 'di PI GPIO prima di andare oltre,
Pin GPIO:
Come mostrato nella figura sopra, ci sono 40 pin di uscita per il PI. Ma quando guardi la seconda figura, puoi vedere che non tutti i 40 pin possono essere programmati per il nostro uso. Questi sono solo 26 pin GPIO che possono essere programmati. Questi pin vanno da GPIO2 a GPIO27.
Questi 26 pin GPIO possono essere programmati secondo necessità. Alcuni di questi pin svolgono anche alcune funzioni speciali, ne parleremo più avanti. Con GPIO speciale messo da parte, abbiamo 17 GPIO rimanenti (Cirl verde chiaro).
Ciascuno di questi 17 pin GPIO può fornire una corrente massima di 15 mA. E la somma delle correnti da tutti i GPIO non può superare i 50mA. Quindi possiamo disegnare un massimo di 3mA in media da ciascuno di questi pin GPIO. Quindi non si dovrebbe manomettere queste cose a meno che non si sappia cosa si sta facendo.
Componenti richiesti:
Qui stiamo usando Raspberry Pi 2 Model B con Raspbian Jessie OS. Tutti i requisiti hardware e software di base sono stati discussi in precedenza, puoi cercarli nell'introduzione di Raspberry Pi, oltre a quello di cui abbiamo bisogno:
- Perni di collegamento
- Resistenza da 220Ω o 1KΩ
- GUIDATO
- Pulsante
- Tagliere per il pane
Spiegazione del circuito:
Come mostrato nello schema del circuito, collegheremo un LED al PIN35 (GPIO19) e un pulsante al PIN37 (GPIO26). Come detto in precedenza, non possiamo prelevare più di 15mA da nessuno di questi pin, quindi per limitare la corrente stiamo collegando una resistenza da 220Ω o 1KΩ in serie al LED.
Spiegazione di lavoro:
Una volta che tutto è connesso, possiamo accendere il Raspberry Pi per scrivere il programma in PYHTON ed eseguirlo. (Per sapere come usare PYTHON vai su PI BLINKY).
Parleremo di alcuni comandi che useremo nel programma PYHTON.
Stiamo per importare il file GPIO dalla libreria, la funzione sottostante ci consente di programmare i pin GPIO di PI. Stiamo anche rinominando "GPIO" in "IO", quindi nel programma ogni volta che vogliamo fare riferimento ai pin GPIO useremo la parola "IO".
importa RPi.GPIO come IO
A volte, quando i pin GPIO, che stiamo cercando di utilizzare, potrebbero svolgere altre funzioni. In tal caso, riceveremo avvisi durante l'esecuzione del programma. Il comando seguente indica al PI di ignorare gli avvisi e procedere con il programma.
IO.setwarnings (False)
Possiamo fare riferimento ai pin GPIO di PI, sia per numero di pin a bordo che per numero di funzione. Nel diagramma dei pin, puoi vedere che il "PIN 37" sulla scheda è "GPIO26". Quindi diciamo qui o rappresenteremo il pin qui con "37" o "26".
IO.setmode (IO.BCM)
Stiamo impostando GPIO26 (o PIN37) come pin di input. Rileveremo la pressione del pulsante da questo pin.
IO.setup (26, IO.IN)
Mentre 1: viene utilizzato per il ciclo infinito. Con questo comando le istruzioni all'interno di questo ciclo verranno eseguite continuamente.
Una volta eseguito il programma, il LED collegato a GPIO19 (PIN35) lampeggia ogni volta che viene premuto il pulsante. Al rilascio del LED, tornerà nello stato OFF.