Come programmare e controllare un Arduino con Python

Purtroppo, non è possibile programmare direttamente un Arduino in Python, ma è possibile controllarlo tramite USB usando un programma Python. Ecco come.

Purtroppo, non è possibile programmare direttamente un Arduino in Python, ma è possibile controllarlo tramite USB usando un programma Python.  Ecco come.
Annuncio pubblicitario

Python ha preso d'assalto il mondo della programmazione. Accanto all'ascesa di questo nuovo linguaggio, anche la scena dell'elettronica fai-da-te è cresciuta. Schede di sviluppo e computer a scheda singola di aziende come Arduino Che cos'è Arduino e cosa puoi fare con esso? Cosa è Arduino e cosa puoi fare con esso? L'Arduino è un eccezionale dispositivo elettronico, ma se non ne hai mai usato uno prima, cosa sono esattamente e cosa puoi fare con uno? Ulteriori informazioni e Raspberry Pi Raspberry Pi: The Unofficial Tutorial Raspberry Pi: The Unofficial Tutorial Se sei un attuale proprietario di Pi che vuole saperne di più o un potenziale proprietario di questo dispositivo di dimensioni di una carta di credito, questa non è una guida che desideri perdere. Leggi di più hanno cambiato il modo in cui le persone creano elettronica prodotta in casa. Non sarebbe fantastico se potessi programmare un Arduino con Python?

Non c'è miglior feeling che combinare due cose interessanti. Purtroppo, è impossibile programmare direttamente un Arduino con Python, in quanto le schede non hanno alcuna opzione per l'interpretazione a bordo della lingua. Ciò che è possibile, tuttavia, è il controllo diretto su USB utilizzando un programma Python.

Questo articolo ti mostrerà come configurare un Arduino UNO (anche se qualsiasi scheda Arduino compatibile Guida all'acquisto Arduino: quale scheda dovresti ottenere? Guida all'acquisto di Arduino: quale scheda dovresti acquistare? Ci sono così tanti diversi tipi di schede Arduino là fuori, ti verrebbe perdonato per essere stato confuso. Quale dovrebbe comprare per il tuo progetto? Aiutaci, con questa guida all'acquisto di Arduino! Leggi di più può funzionare qui) per essere programmato e controllato dalla riga di comando usando i programmi Python. Questo tutorial è scritto per Windows 10, ma funziona anche per Mac e Linux. Si può anche usare questo flusso di lavoro per controllare un Arduino direttamente da una Raspberry Pi Home Automation Guide Con Raspberry Pi e Arduino Home Automation Guide Con Raspberry Pi e Arduino Il mercato domotico è invaso da costosi sistemi di consumo, incompatibili tra loro e costosi da installare . Se possiedi un Raspberry Pi e un Arduino, puoi sostanzialmente ottenere la stessa cosa in ... Leggi di più per l'esperienza Double-Down-DIY definitiva.

Configurare il tuo Arduino per Python

Per il progetto di oggi useremo un Arduino Uno, insieme all'interfaccia pyFirmata per Python. Per questo puoi utilizzare quasi tutte le schede compatibili con Arduino, anche se al momento di scrivere solo l'Arduino Uno, Mega, Due e Nano sono supportati dall'interfaccia pyFfirmata. Se sei già un guru Python, puoi aggiungere il tuo supporto per la scheda a pyFirmata - assicurati di aggiornare GitHub se lo fai!

programma e controlla arduino con python

Se non lo hai già fatto, installa l'IDE Arduino. Se sei completamente nuovo nel mondo dei microcontrollori, la nostra guida per principianti ad Arduino Guida introduttiva ad Arduino: Guida per principianti Guida introduttiva ad Arduino: Guida per principianti Arduino è una piattaforma di prototipazione elettronica open source basata su hardware flessibile e facile da usare e software. È pensato per artisti, designer, hobbisti e chiunque sia interessato a creare oggetti o ambienti interattivi. Leggi altro ti aiuterà a mettere tutto a posto.

Collega la tua scheda Arduino e apri l'IDE. Assicurati di avere la scheda e la porta corrette selezionate nel menu Strumenti . Carica lo schizzo di esempio StandardFirmata e caricalo alla lavagna. Ciò ti consentirà di controllare direttamente l'Arduino finché è collegato al computer tramite USB. A condizione che gli sketch vengano caricati sulla tua board senza errori, sei pronto per andare avanti.

Python e Command Line Control

Useremo Python 3.4 per controllare il nostro Arduino, poiché il modulo che installerai lo specifica come l'ultima versione compatibile. Qualsiasi versione precedente dovrebbe funzionare correttamente e le versioni successive sono state segnalate per funzionare. È possibile scaricare Python 3.4 per Windows 10 dal sito di Python Software Foundation. Se vuoi eseguire più versioni di Python, la nostra guida agli ambienti virtuali Python Scopri come utilizzare l'ambiente virtuale Python Scopri come usare l'ambiente virtuale Python Se sei uno sviluppatore Python esperto, o sei appena iniziato, impara come configurare un ambiente virtuale è essenziale per qualsiasi progetto Python. Leggi di più sarà in grado di aiutarti.

Una volta installato Python, vogliamo aggiungerlo alla variabile PATH del tuo sistema. Questo consentirà di eseguire il codice Python direttamente dalla riga di comando senza dover essere nella directory in cui è stato installato. È possibile farlo aprendo il Pannello di controllo, cercando Ambiente e facendo clic su Modifica le variabili di ambiente del sistema . Nella parte inferiore della finestra selezionare Variabili d'ambiente . Questo farà apparire questa finestra:

programma e controlla arduino con python

Se vedi già PATH nell'elenco, fai clic su modifica e aggiungi la tua directory Python e Python / Scripts . Se non si dispone di una variabile PATH, fare clic su nuova e aggiungerla. Si noti che Python è stato installato direttamente in C: \ qui. Se l'hai installato altrove, dovrai modificarlo per riflettere questo. Fai clic su OK giù per la catena di finestre e sarai quasi pronto per controllare il tuo Arduino con Python!

Il grasso magico

Avrai bisogno di un ultimo pezzo del puzzle per far parlare Python bene con il nostro Arduino. Questo si presenta sotto forma di un'interfaccia Python chiamata pyFirmata . Questa interfaccia, creata da Tino de Bruijn, è disponibile per il download da github, sebbene tu possa installarla direttamente dalla riga di comando digitando:

pip install pyfirmata 

Tutto sta andando bene, dovrebbe installarsi e assomigliare a questo:

programma e controlla arduino con python

Se fallisce, passa ad aggiungere Python alla sezione Variabile d'ambiente e assicurati di aver dato il giusto percorso alla tua directory Python.

Farlo accadere

Ora tutto è impostato e puoi creare un programma Python per il tuo Arduino per testarlo. Apri un IDE a tua scelta. Utilizzeremo Eclipse 8 Scorciatoie da tastiera più utili per principianti Utenti IDE Eclipse 8 Scorciatoie da tastiera più utili per principianti Utenti IDE di Eclipse Come newbie-friendly come l'IDE di Eclipse (interfaccia), lo devi a te stesso per imparare queste scorciatoie da tastiera. Leggi di più oggi, ma potresti facilmente utilizzare qualsiasi editor di testo Editor di testo e IDE: quale è meglio per i programmatori? Editor di testo e IDE: quale è meglio per i programmatori? Scegliere tra un IDE avanzato e un editor di testo più semplice può essere difficile. Offriamo alcuni spunti per aiutarti a prendere questa decisione. Ulteriori informazioni o anche un IDE nel cloud IDE Codenvy: IDE online per Ruby, HTML, Java, Python e altro IDE Codenvy: IDE online per Ruby, HTML, Java, Python e altro Ulteriori informazioni.

Crea un nuovo script e salvalo come blink.py . Rompendo la tradizione con il programma LED lampeggiante standard, creerai un programma che richiede all'utente la quantità di volte in cui il LED deve lampeggiare prima di eseguirlo. È un programma breve, che puoi scaricare qui se vuoi farlo direttamente, ma scomporlo.

In primo luogo, vorrai importare ciò che ti serve dal modulo pyFirmata, insieme al modulo standard Python Time .

 from pyfirmata import Arduino, util import time 

Ora ti consigliamo di configurare la scheda Arduino. Questo articolo presume che tu stia utilizzando una scheda Arduino Uno, sebbene siano supportate diverse altre schede Arduino. Fare riferimento al github pyFirmata per i dettagli sul supporto della scheda.

Controlla quale porta COM stai usando nell'IDE di Arduino e inseriscila nel tuo codice come scheda variabile.

 board = Arduino("COM3") 

Ora imposterai il prompt dell'utente. Coloro che hanno familiarità con Python riconosceranno tutto qui. Si stampa una domanda sullo schermo utilizzando la funzione di input e si memorizza la risposta come variabile. Una volta che l'utente ha fornito un numero, il programma riporta quante volte il LED lampeggia.

 loopTimes = input('How many times would you like the LED to blink: ') print("Blinking " + loopTimes + " times.") 

Per far lampeggiare il LED il numero appropriato di volte, utilizzare un ciclo for . Se siete nuovi agli esempi Python 10 Basic Python che vi aiuteranno ad imparare velocemente 10 esempi Python di base che vi aiuteranno ad imparare velocemente Questo articolo di esempi di python di base è per coloro che hanno già un'esperienza di programmazione e vogliono semplicemente passare a Python più rapidamente il più possibile Per saperne di più, fare attenzione con il rientro, poiché diversamente dagli altri linguaggi gli spazi fanno parte della sintassi. Nota che il pin 13 è il LED integrato per Arduino Uno, dovrai modificarlo se la tua scheda è diversa.

 for x in range(int(loopTimes)): board.digital[13].write(1) time.sleep(0.2) board.digital[13].write(0) time.sleep(0.2) 

In questo caso, assegnerai la variabile loopTimes a un intero, in quanto l'input dell'utente verrà automaticamente memorizzato come stringa. In questa semplice demo, stiamo assumendo che l'utente inserirà un valore numerico. Qualsiasi altra voce come "otto" genererà un errore.

Salva il tuo script e apri il prompt dei comandi .

Luci lampeggianti e altre rivelazioni

Tutto è pronto per andare, tutto quello che devi fare è navigare dove è lo script ed eseguirlo. Fai questo digitando cd [percorso nella directory dello script] e poi digitando python blink.py .

Tutto sta andando bene, il tuo programma inizierà con un leggero ritardo mentre l'Arduino si inizializza, ti chiede un numero e poi lampeggia più volte usando il LED integrato.

L'output del programma dovrebbe assomigliare a questo:

programma e controlla arduino con python

Non appena premi Invio dopo il numero scelto di lampeggiamenti, l'Arduino dovrebbe eseguire gli ordini.

Piccoli inizi

Questo progetto è stato un inizio barebone per comunicare tra Python e una scheda Arduino. Questo approccio è molto diverso dal normale flusso di lavoro di caricamento degli script nello stesso Arduino, tuttavia apre un nuovo modo di lavorare con la piattaforma, specialmente se ti piace il linguaggio di programmazione Python.

Se si utilizza un server Linux 12 I migliori sistemi operativi per Linux Server e chi dovrebbero utilizzarli 12 I migliori sistemi operativi per server Linux e chi li dovrebbe utilizzare Creazione di un server? Linux è l'ideale, in genere offre permessi avanzati, maggiore flessibilità e stabilità. Ma quale scegliere? Scopri i 12 migliori sistemi operativi per server Linux e chi dovrebbe usarli. Per saperne di più a casa, questo metodo di comunicazione con le schede Arduino potrebbe estendere tale server in un sistema di automazione domestica DIY completo. Combinando gli script Python che controllano il microcontrollore con un circuito di automazione fai-da-te Arduino Project Ideas per un progetto di Arduino per la casa automatizzata Idee per una casa automatizzata Non sarebbe bello annaffiare la tua serra senza lasciare la sedia? Un Arduino può essere utilizzato come componente chiave di alcuni progetti di automazione domestica: ecco cinque! Per saperne di più, la tua casella di archiviazione NAS potrebbe assumere un intero nuovo set di funzioni utili.

Per rendere la migliore esperienza fai-da-te, perché non costruire il tuo NAS box Need Network Storage? Ecco come costruire la tua casella NAS Hai bisogno di una memoria di rete? Ecco come costruire il tuo NAS Box NAS è l'acronimo di Network Attached Storage. Man mano che Windows diventava più facile da usare con i dispositivi collegati alla rete e i prezzi dell'hardware diminuivano, questo termine cominciò a essere utilizzato nel mercato dei consumatori. Oggi c'è una grande varietà ... Leggi di più e usalo per controllare anche i tuoi elettrodomestici? Immagina quanto sarebbe bello premere Play sul tuo Plex - The Awesome Media Center La tua guida per Plex - The Awesome Media Center Se hai molti film e programmi TV salvati localmente, devi installare Plex. E questa è l'unica guida per iniziare con Plex che avrai bisogno di leggere. Maggiori informazioni sul server e le luci si spengono automaticamente!

Stai già controllando Arduino usando Python? Ci sono soluzioni sorprendenti che non sappiamo ancora? Facci sapere nella sezione commenti qui sotto!

In this article