- Materiali richiesti:
- Installazione di Python sul tuo computer:
- Ottenere PySerial in Python:
- Il nostro primo programma Python per Arduino:
- Controllo dei LED con Python e Arduino:
Arduino è sempre stata una piattaforma di apprendimento / sviluppo potente e facile da usare quando si tratta di sviluppo hardware open source. Nel mondo moderno di oggi, ogni hardware è alimentato da un linguaggio di programmazione generico di alto livello per renderlo più efficace e facile da usare. Uno di questi linguaggi è Python. Python è un linguaggio di programmazione di alto livello interpretato, orientato agli oggetti, con semantica dinamica con strutture di dati incorporate di alto livello, combinate con la digitazione dinamica e l'associazione dinamica, lo rendono molto attraente per lo sviluppo rapido di applicazioni.
Combinare la potenza di Arduino e Python aprirà le porte a molte possibilità poiché python ha una maggiore produttività grazie alla sua capacità di interagire con altre piattaforme come openCV, Matlab ecc. Quindi in questo tutorial impareremo come installare python sul nostro computer e come usarlo con Arduino per attivare il LED di bordo di Arduino.
Quindi iniziamo….
Materiali richiesti:
- Arduino Uno (o qualsiasi scheda Arduino)
- Computer con connessione Internet
Installazione di Python sul tuo computer:
Ovviamente il primo passo in questo tutorial sarebbe l'installazione di Python sul nostro computer. I passaggi indicati di seguito sono applicabili solo per gli utenti Windows che eseguono sistemi operativi a 32 o 64 bit. La procedura di installazione per MAC e Linux è diversa.
- Fai clic su Python-2.7.9 a 32 bit e questo installerà Python IDLE a 32 bit sul tuo computer. Non scaricare la versione a 64 bit o le versioni aggiornate poiché non forniscono supporto per le nostre librerie Arduino. Anche se il tuo computer funziona a 64 bit, puoi utilizzare lo stesso Python a 32 bit.
- Apri il file exe scaricato e segui le istruzioni. Non modificare la directory in cui viene installato Python. Sarà C: \ Python27 per impostazione predefinita e lasciarlo come tale.
- Durante l'installazione potresti ricevere un avviso dal tuo antivirus (se presente), in tal caso fai clic su consenti.
Questo è tutto !, python è installato con successo sul nostro computer. Puoi verificarlo cercando "Python IDLE" nella casella di ricerca di Windows e aprendolo.
Una volta aperto dovresti ottenere la seguente schermata. Questa finestra è chiamata Python Shell e d'ora in poi la chiameremo " Python shell ".
Questa schermata è chiamata Python Shell. Puoi codificare direttamente qui e ottenere l'output sullo stesso schermo o creare un nuovo file e scrivere il programma lì e verificare il programma qui. In seguito entreremo nei dettagli della creazione di un programma python, per ora controlliamo se python funziona.
Per farlo, digita semplicemente " print (1 + 1) " e premi Invio. Dovresti vedere il risultato stampato come mostrato di seguito.
Ottenere PySerial in Python:
Il prossimo passo è installare pyserial. PySerial è un modulo API Python che viene utilizzato per leggere e scrivere dati seriali su Arduino o qualsiasi altro microcontrollore.
Fare clic su Pyserial Windows per scaricare PySerial. Il download risultante sarà un file exe che può essere installato direttamente. Non modificare alcuna impostazione durante l'installazione. Lascialo alla directory predefinita e alle impostazioni predefinite.
Ora, controlliamo se PySerial è installato correttamente. Per fare ciò, apri di nuovo Python Shell e digita
importare seriale . Se la libreria è stata installata correttamente, non dovresti ricevere alcun messaggio di errore come mostrato nell'immagine qui sotto. Se ricevi errori, pubblicali nella sezione dei commenti e proveremo a risolverli.
Questo tutorial presuppone che tu abbia familiarità con Arduino e abbia esperienza nel caricamento di progetti su Arduino. Quindi passiamo direttamente al nostro programma Python. Se sei un principiante con Arduino controlla i nostri progetti Arduino e inizia da LED lampeggiante con Arduino.
Il nostro primo programma Python per Arduino:
Come detto in precedenza, controlleremo il LED della scheda Arduino integrato utilizzando lo script Python. Cominciamo con il codice Arduino.
Programma per Arduino:
Il programma completo per questo tutorial di Arduino python è fornito alla fine di questa pagina. Continua a leggere per sapere come funziona.
All'interno della funzione di setup inizializziamo la comunicazione seriale a 9600 baud rate e dichiariamo che useremo il led integrato come uscita e lo abbasseremo durante l'avvio del programma. Abbiamo anche inviato un messaggio di benvenuto a python tramite stampa seriale come mostrato di seguito:
void setup () {Serial.begin (9600); // inizializza seriale COM a 9600 baudrate pinMode (LED_BUILTIN, OUTPUT); // rende il pin LED (13) come output digitalWrite (LED_BUILTIN, LOW); Serial.println ("Ciao !, sono Arduino"); }
All'interno della funzione loop , leggiamo qualunque sia il dato che sta arrivando in serie e assegniamo il valore alla variabile “data”. Ora, in base al valore di questa variabile ("dati"), attiviamo il led integrato come mostrato di seguito.
void loop () {while (Serial.available ()) {data = Serial.read (); } if (data == '1') digitalWrite (LED_BUILTIN, HIGH); altrimenti if (data == '0') digitalWrite (LED_BUILTIN, LOW); }
Programma per Python:
Il programma Python completo per questo tutorial è fornito alla fine di questa pagina. Continua a leggere per sapere come scrivere e usare lo stesso.
- Apri la tua shell Python (Python IDLE) e fai clic su File-> Nuovo
- Questo aprirà un nuovo file di testo dove potrai digitare il tuo programma.
- Prima di digitare qualcosa, salviamo il file, con Ctrl + S. Digita un nome qualsiasi e fai clic su Salva. Questo salverà automaticamente il tuo file con estensione ".py".
- Ora, digita il programma o incolla il codice Python fornito alla fine di questa pagina. La spiegazione per lo stesso è data di seguito e infine eseguire il programma.
Nel nostro programma il primo passo sarebbe importare la libreria seriale e temporale. La libreria seriale come detto in precedenza verrà utilizzata per leggere e scrivere dati seriali e la libreria temporale verrà utilizzata per creare ritardi nel nostro programma. Queste due librerie possono essere importate nel nostro programma utilizzando le seguenti due righe:
import serial #Serial importato for Serial communication import time #Required to use delay functions
Il prossimo passo sarebbe inizializzare un oggetto seriale usando la nostra libreria seriale. In questo programma abbiamo chiamato il nostro oggetto seriale come "ArduinoSerial" . In questa riga dobbiamo menzionare il nome della porta COM a cui è connesso il nostro Arduino ea quale velocità di trasmissione sta funzionando come mostrato di seguito.
ArduinoSerial = serial.Serial ('com18', 9600)
Nota: è molto importante menzionare il nome della porta COM corretto. Può essere trovato utilizzando Gestione dispositivi sul tuo computer.
Non appena l'oggetto seriale è inizializzato, dovremmo tenere premuto il programma per due secondi per stabilire la comunicazione seriale. Questo può essere fatto usando la riga seguente:
time.sleep (2)
Ora possiamo leggere o scrivere qualsiasi cosa dalla / sulla nostra scheda Arduino.
La riga seguente leggerà tutto ciò che proviene da Arduino e lo stamperà sulla finestra della shell
print ArduinoSerial.readline ()
È inoltre possibile assegnare il valore a una variabile e utilizzarlo per i calcoli.
La riga seguente scriverà il valore del parametro sulla scheda Arduino.
ArduinoSerial.write ('1')
Questa riga scriverà "1" su Arduino. Puoi inviare qualsiasi cosa, dai decimali alle stringhe, usando la stessa riga.
Ora, tornando al nostro programma, all'interno del ciclo while infinito, abbiamo le seguenti righe
var = raw_input () #get input from user print "hai inserito", var #print input per conferma if (var == '1'): #se il valore è 1 ArduinoSerial.write ('1') #send 1 print ("LED acceso") time.sleep (1) if (var == '0'): #se il valore è 0 ArduinoSerial.write ('0') #send 0 print ("LED spento") ora.sleep (1)
La riga var = raw_input otterrà qualsiasi valore digitato nello script Shell e assegnerà quel valore alla variabile var .
Successivamente, se il valore è 1, stamperà "1" in serie su Arduino e se 0 stamperà "0" in serie su Arduino. Il codice nel nostro programma Arduino (discusso sopra) attiverà il LED in base al valore ricevuto.
Una volta completato il programma completo, lo script dovrebbe essere simile al seguente
Ora fai clic su Esegui -> Esegui modulo o premi F5 questo potrebbe chiederti di salvare il programma e quindi lo avvierà.
Controllo dei LED con Python e Arduino:
Il funzionamento di questo progetto è piuttosto semplice. Carica il programma sul tuo Arduino e verifica che sia connesso alla stessa porta COM menzionata nel programma python. Quindi avvia il programma Python come menzionato sopra.
Questo avvierà uno script di shell python come mostrato di seguito. La finestra a sinistra è la finestra della shell che mostra l'output e la finestra a destra è lo script che mostra il programma.
Come puoi vedere la stringa “Ciao !, sono Arduino” inserita nel programma Arduino viene ricevuta da Python e visualizzata nella sua finestra della shell.
Quando la finestra della shell chiede di inserire i valori, possiamo inserire 0 o 1. Se inviamo 1 il LED sulla scheda Arduino si accenderà e se inviamo 0 il LED sulla nostra scheda Arduino si spegnerà. Mostra una connessione riuscita tra il nostro programma Arduino e Python.
Ci sono due programmi indicati di seguito, uno da caricare ed eseguire da Arduino e il secondo da eseguire da Python Shell in Windows.
Spero che tu abbia capito il progetto e che tu sia riuscito a farlo funzionare. In caso contrario, pubblica il tuo problema nel commento qui sotto e sarò felice di aiutarti. Nel nostro prossimo progetto impareremo cos'altro si può fare di bello con Python e Arduino esplorando in profondità altri moduli Python come Vpython, gamepython ecc. Fino ad allora rimanete sintonizzati…