Come controllare il tuo Arduino utilizzando JavaScript

Come controllare il tuo Arduino utilizzando JavaScript / Programmazione

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 15 Grandi progetti Arduino per principianti 15 Grandi progetti Arduino per principianti Interessato ad Arduino ma non sapendo da dove cominciare? Ecco alcuni dei nostri migliori progetti Arduino per principianti per iniziare! 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

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 funzionalità PWM per mantenere il servo felice.

Configurazione del circuito

Collega il tuo servo al tuo Arduino in questo modo:

In breve, linea VCC (ROSSO) si collega al pin 5v di Arduino, la linea GND (NERO o MARRONE) si collega al pin GND della linea Arduino e Pulse (Giallo o arancia) connettersi 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 Arduino e scegli il tuo Tavola e Porta dal Utensili menu. 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.

Una volta collegato, carica il file StandardFirmataPlus esempio di schizzo alla lavagna. Puoi trovare questo schizzo nel File menu sotto Esempi> Firmata> StandardFirmataPlus. Non è necessario modificare lo schizzo, in pratica si limita ad impostare Arduino in attesa di istruzioni esterne - che forniremo 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.

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 usando la versione consigliata, che al momento della scrittura è 8.9.4 LTS.

Apri il .msi file e seguire le istruzioni di installazione, assicurandosi che venga aggiunto al tuo SENTIERO. L'attuale programma di installazione di Node.js aggiunge PATH come standard, anche se vale la pena controllarlo durante l'installazione poiché è necessario per il nostro prossimo passo.

Una volta completata l'installazione, avremo accesso a Node Package Manager (NPM) gestore pacchetti da Windows Command Line (CMD). Clic Inizio 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 finché non si torna al prompt dei comandi, quindi digitare:

npm installa 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 keypress pacchetto, che ci permetterà di leggere le battute sulla 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 keypress. 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 Eclipse Essenziale per principianti 8 Scorciatoie da tastiera Eclipse Essenziale per i principianti Essendo un newbie amichevole 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 il keypress libreria per ascoltare i dati in arrivo, insieme a chiamare il Tavola() metodo per impostare la scheda.

var five = require ("johnny-five"); var keypress = require ("keypress"); Pressione (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 lo vogliamo “svegliati” la nostra scheda e configurarlo per il controllo dei servi. Il board.on la chiamata attende fino a quando i pin Arduino sono pronti prima di proseguire. La libreria johnny-five supporta i servi integrati e stiamo chiamando Servo.Continuous (10) sul pin 10 per consentire il controllo diretto.

board.on ("ready", function () console.log ("Utilizza le frecce Su e Giù rispettivamente per CW e CCW. Spazio da arrestare."); var servo = new five.Servo.Continuous (10); process. stdin.resume (); process.stdin.setEncoding ("utf8"); process.stdin.setRawMode (true);

Il process.stdin le chiamate assicurano che tutti i dati che riceviamo dalla tastiera saranno utilizzabili nel prossimo blocco di codice. Ora vogliamo “ascolta” per le sequenze di tasti e usarli per spostare il nostro servo in senso orario (CW), in senso antiorario (CCW), o per fermarsi sulle sue tracce.

 process.stdin.on ("keypress", function (ch, key) if (! key) // se non viene premuto alcun tasto, return cioè non fare nulla. return; if (key.name === "q" ) console.log ("Quitting"); process.exit (); else if (key.name === "up") console.log ("CW"); servo.cw (); else se (key.name === "down") console.log ("CCW"); servo.ccw (); else if (key.name === "spazio") console.log ("Arresto") ; 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:

nodo 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ù e la barra spaziatrice, e Q per uscire. Lo schermo dovrebbe apparire così:

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

Umili origini

Nonostante avessimo intrapreso un progetto un po 'più ambizioso rispetto al consueto tutorial LED lampeggiante per principianti, non abbiamo quasi mai toccato l'intera 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 di casa Smart DIY 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.

Scopri di più su: Arduino, JavaScript.