Come controllare il tuo Arduino utilizzando JavaScript

Sapevi che puoi controllare il tuo Arduino con Javascript? Con un software e una certa creatività, puoi! Ecco come farlo.

Sapevi che puoi controllare il tuo Arduino con Javascript?  Con un software e una certa creatività, puoi!  Ecco come farlo.
Annuncio pubblicitario

Le schede Arduino sono uno dei modi più semplici per accedere all'hacking hardware per i programmatori. Ci sono una vasta gamma di progetti per principianti 10 Grandi progetti Arduino per principianti 10 Grandi progetti Arduino per principianti Completare un progetto Arduino ti dà un senso di soddisfazione come nessun altro. La maggior parte dei principianti non è sicura da dove iniziare, e anche i progetti per principianti possono sembrare piuttosto scoraggianti. Leggi di più là fuori per soddisfare quasi chiunque con un background di programmazione. Anche così, iniziare può sembrare scoraggiante per chi ha poco tempo.

Imparare una lingua completamente nuova Quale linguaggio di programmazione dovresti imparare per il futuro? Quale linguaggio di programmazione dovresti imparare per il futuro? Qual è il miglior linguaggio di programmazione per imparare per il futuro? Se solo potessi scegliere una lingua per imparare e padroneggiare per il futuro, non ci sono contest: deve essere JavaScript. Leggi di più solo per provare un microcontrollore potrebbe sembrare un sacco di lavoro. Che cosa succede se si desidera iniziare a giocare con l'elettronica casalinga in un linguaggio di programmazione con cui si ha già familiarità? Buone notizie: puoi!

Ti abbiamo già mostrato come controllare una scheda Arduino con Python Come programmare e controllare un Arduino con Python Come programmare e controllare un Arduino con Python Purtroppo, è impossibile programmare direttamente un Arduino in Python, ma puoi controllarlo su USB usando un programma Python. Ecco come. Leggi di più, e oggi ti mostreremo come fare lo stesso con JavaScript. Piuttosto che il semplice tutorial LED lampeggiante, oggi useremo il framework Johnny-Five per controllare un servo con la tastiera del computer, tutti programmati in JavaScript. Che cos'è JavaScript e come funziona? Che cos'è JavaScript e come funziona? Cos'è Javascript? È un linguaggio di programmazione usato per migliorare le pagine web. Include l'aggiornamento dinamico di pagine Web, interfacce utente e altro. Immergiti in ciò che riguarda Javascript. Leggi di più .

Elenco Hardware

Per questo progetto avrai bisogno di:

  • Arduino Uno (o scheda compatibile Guida all'acquisto Arduino: quale scheda dovresti ottenere? Guida all'acquisto di Arduino: quale scheda dovresti acquistare? Ci sono così tanti tipi diversi di schede Arduino là fuori, ti verrebbe perdonato per essere stato confuso. acquista per il tuo progetto? Lasciaci aiutare, con questa guida all'acquisto di Arduino! Ulteriori informazioni): $ 22 dall'archivio ufficiale, anche se puoi ottenerle a meno 5 motivi per non utilizzare un vero arduino nel tuo prossimo progetto 5 motivi per non utilizzare un vero Arduino nel tuo prossimo progetto La fondazione Arduino è andata troppo oltre? Perché dovresti spendere i tuoi soldi per i prodotti originali Arduino? Spieghiamo tutto ciò che devi sapere. Per saperne di più, le schede clone sono disponibili per un minimo di $ 3, 20 su AliExpress.
  • Hobby Servo: Qualsiasi servo compatibile Arduino da un negozio di hobby lo farà, sto usando un servo da $ 1, 60 da AliExpress.
  • Un paio di pezzi di filo
  • Cavo USB: per collegare Arduino al computer

come controllare arduino con javascript

Il tutorial di oggi utilizzerà una scheda Arduino Uno. Il framework Johnny-Five che utilizzeremo più avanti in questo progetto supporta la maggior parte dei microcontrollori compatibili con Arduino, sebbene la tua scheda abbia bisogno di avere la capacità PWM per mantenere il servo felice.

Configurazione del circuito

Collega il tuo servo al tuo Arduino in questo modo:

come controllare arduino con javascript

In breve, la linea VCC ( RED ) si collega al pin 5v dell'Arduino, la linea GND ( BLACK o BROWN ) si collega al pin GND dell'Arduino e la linea Pulse ( gialla o arancione ) si collega al pin 10 di Arduino. Si noti che mentre non è necessario collegarlo al pin 10 in modo specifico, deve connettersi a un pin PWM, solitamente indicato con un ~ .

Controlla bene di non aver mescolato nessun filo e di connettere l'Arduino al tuo computer. Useremo Windows 10 per questo progetto. Tutti gli elementi di questo progetto sono disponibili anche per Mac e Linux, sebbene alcune istruzioni di installazione possano differire leggermente.

Se non lo hai già fatto, scarica l'IDE di Arduino e scegli la tua scheda e la tua porta dal menu Strumenti . Se questa è la prima volta che fai questo ed è tutto un po 'un mistero, la nostra Guida per principianti 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 flessibile, hardware e software facili da usare. È pensato per artisti, designer, hobbisti e chiunque sia interessato a creare oggetti o ambienti interattivi. Leggi di più potrebbe aiutarti attraverso questi passaggi.

come controllare arduino con javascript

Una volta collegato, carica lo schizzo di esempio StandardFirmataPlus sulla lavagna. Puoi trovare questo schizzo nel menu File sotto Esempi> Firmata> StandardFirmataPlus . Non è necessario modificare lo schizzo, in pratica si limita ad impostare Arduino per attendere le istruzioni esterne, che verranno fornite in seguito.

JavaScript Robotica con Johnny-Five

Il framework che useremo per controllare il nostro Arduino con Javascript si chiama Johnny-Five. Non sorprende che, dato il nome omonimo del film, il progetto sia orientato verso il lavoro con la robotica.

come controllare arduino con javascript
Immagine di credito: johnny-five.io

Per installare Johnny-Five, è necessario prima installare Node.js Che cos'è Node.JS e Perché dovrei preoccuparmi? [Sviluppo Web] Che cos'è Node.JS e Perché dovrei preoccuparmi? [Sviluppo Web] JavaScript è solo un linguaggio di programmazione lato client che viene eseguito nel browser, giusto? Non più. Node.js è un modo per eseguire JavaScript sul server; ma è molto di più. Se ... Leggi di più. Puoi scaricare la loro ultima build dal sito web Node.js. Stiamo utilizzando la versione consigliata, che al momento della stesura di questo manuale è 8.9.4 LTS .

Apri il file .msi e segui le istruzioni di installazione, assicurandoti che venga aggiunto al PERCORSO . L'attuale programma di installazione di Node.js aggiunge PATH come standard, sebbene valga la pena di verificarlo durante l'installazione poiché è necessario per il nostro prossimo passo.

come controllare arduino con javascript

Una volta completata l'installazione, avremo accesso al gestore di pacchetti Node Package Manager (NPM) da Command Line (CMD) di Windows. Fare clic su Start e digitare CMD. Prima di procedere, è necessario inizializzare l'NPM per evitare possibili errori di installazione. Non richiede alcuna conoscenza specialistica, basta digitare:

npm init 

Segui le istruzioni sullo schermo. Per il progetto di oggi non è necessario modificare nulla, basta premere Invio fino a quando non si torna al prompt dei comandi, quindi digitare:

 npm install johnny-five 

Questo installerà tutti i pacchetti importanti, che parleranno con il nostro Arduino. Abbiamo bisogno di un'altra cosa per far funzionare questo progetto, e questo è il pacchetto Keypress, che ci permetterà di leggere i tasti dalla tastiera.

Installalo inserendo:

 npm install keypress 

Una volta installati tutti questi pacchetti, siamo pronti per il codice!

Se si verificano problemi durante l'installazione, provare a eseguire nuovamente l'installazione di johnny-five dopo l'installazione del tasto. Potrebbe essere solo una stranezza della versione NPM usata qui, ma farlo ora previene un problema che probabilmente incontrerai più tardi come ho fatto io.

Il codice

Useremo oggi un pezzo di codice di esempio fornito nella documentazione di johnny-five, che consente il controllo sul nostro servo utilizzando i tasti freccia sulla tastiera. Il codice completo è disponibile su johnny-five.io, ma lo analizzeremo qui in dettaglio per comprendere appieno come funziona.

Stiamo usando Eclipse IDE 8 Scorciatoie da tastiera più utili per principianti Utenti IDE Eclipse 8 Scorciatoie da tastiera più utili per principianti Utenti IDE Eclipse Come newbie-friendly come l'IDE di Eclipse (interfaccia), lo devi a te stesso per imparare queste scorciatoie da tastiera. Leggi di più per la codifica oggi, anche se puoi usare qualsiasi IDE o 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. Maggiori informazioni per questo progetto.

Crea un nuovo file e chiamalo test.js e salvalo da qualche parte in modo che tu possa accedere facilmente dalla riga di comando in seguito. Lo script inizia creando variabili per le librerie richieste e inizializzando la libreria Keypress per ascoltare i dati in entrata, oltre a chiamare il metodo Board () per configurare la scheda.

 var five = require("johnny-five"); var keypress = require("keypress"); keypress(process.stdin); var board = new five.Board(); 

Si noti che l'impostazione della scheda qui è automatica, non è necessario specificare le porte. Se si dispone di una configurazione di porta specifica o se non si ha fortuna con il rilevamento automatico, potrebbe essere necessario specificare la porta in modo esplicito.

Il prossimo passo vogliamo "svegliare" la nostra scheda e configurarla per il controllo dei servi. La board.on chiama fino a quando i pin Arduino sono pronti prima di proseguire . La libreria johnny-five ha il supporto per i servo integrati, e stiamo chiamando Servo.Continuous (10) sul pin 10 per consentire il controllo diretto.

 board.on("ready", function() { console.log("Use Up and Down arrows for CW and CCW respectively. Space to stop."); var servo = new five.Servo.Continuous(10); process.stdin.resume(); process.stdin.setEncoding("utf8"); process.stdin.setRawMode(true); 

Le chiamate process.stdin assicurano che tutti i dati che riceviamo dalla tastiera saranno utilizzabili nel prossimo blocco di codice. Ora vogliamo "ascoltare" i tasti e usarli per spostare il nostro servo in senso orario (CW), in senso antiorario (CCW), o per fermarci sulle sue tracce.

 process.stdin.on("keypress", function(ch, key) { if (!key) { // if no key is pressed, return ie do nothing. return; } if (key.name === "q") { console.log("Quitting"); process.exit(); } else if (key.name === "up") { console.log("CW"); servo.cw(); } else if (key.name === "down") { console.log("CCW"); servo.ccw(); } else if (key.name === "space") { console.log("Stopping"); servo.stop(); } }); }); 

Assicurati di includere tutte le parentesi di chiusura in basso qui e fai riferimento all'intero blocco di codice come collegato sopra se riscontri degli errori. Salva questo script e apri il prompt dei comandi.

Salutando Ciao!

Ora vai alla directory in cui hai salvato il tuo script ed eseguilo digitando:

 node test.js 

Il programma dovrebbe iniziare immediatamente con le informazioni sulla scheda, prima di darti le istruzioni indicate nel codice. Prova a premere i tasti freccia su e giù, la barra spaziatrice e Q per uscire. Lo schermo dovrebbe apparire così:

come controllare arduino con javascript

E tutto sta andando bene, il servo dovrebbe ballare le tue battute! Guarda quella piccola ondata da bestie!

Umili origini

Nonostante avessimo intrapreso un progetto un po 'più ambizioso rispetto al consueto tutorial LED lampeggiante per principianti, non abbiamo quasi mai toccato la portata di ciò che può essere fatto con schede Arduino e microcontrollori simili.

Gli utenti esperti di JavaScript dovrebbero trovare intuitivo il pacchetto Johnny-Five con cui lavorare. La libreria è anche installabile sul Raspberry Pi in modo nativo, rendendolo il pacchetto perfetto per i costruttori di robot in erba.

La cosa grandiosa di questa libreria è che sebbene sia stato progettato pensando ai robot, gli stessi dati di input e output possono essere utilizzati per creare configurazioni di casa intelligenti fai-da-te Sensori di casa intelligenti fai-da-te con Arduino, MySensor e sensori Smart Home DIY di OpenHAB con Arduino, MySensor e i sensori domestici Smart di OpenHAB costano una quantità ridicola di denaro. Il cablaggio di un'intera casa è il dominio di coloro che hanno scarse somme di reddito disponibile. Costruiamo il nostro con MySensor. Ulteriori informazioni e persino sistemi di sicurezza artigianali Smart Lock fai da te con Arduino e RFID Smart Lock fai da te con Arduino e RFID Ecco come costruire una semplice serratura intelligente basata su RFID utilizzando un Arduino come backbone e alcuni componenti economici. Leggi di più .

Comunicare con i microcontrollori in questo modo è un'ottima introduzione al mondo dell'hardware DIY senza dover dedicare del tempo all'apprendimento di un nuovo linguaggio di programmazione. Divertiti là fuori, e se ti capita di costruire un robot killer, ricorda come ti abbiamo aiutato nei primi giorni.

In this article