Cum să vă controlați arduino folosind JavaScript

Cum să vă controlați arduino folosind JavaScript / Programare

Plăcile arduino sunt una dintre cele mai ușoare căi de accesare a hardware-ului pentru programatori. Există o mare varietate de proiecte începători 15 Proiecte Great Arduino pentru începători 15 Proiecte excelente Arduino pentru începători Interesați de Arduino dar nu sunteți sigur de unde să începeți? Iată câteva dintre cele mai bune proiecte Arduino pentru începători pentru a începe! Citiți mai multe acolo pentru a se potrivi aproape oricui, cu un background de programare. Chiar și așa, începerea poate părea descurajantă pentru cei scurți la timp.

Învățarea unei limbi complet noi Care limba de programare ar trebui să înveți pentru viitor? Care limba de programare ar trebui să înveți pentru viitor? Care este cel mai bun limbaj de programare pentru a învăța pentru viitor? Dacă ați putea alege doar o limbă pentru a învăța și a stăpâni pentru viitor, nu există nici un concurs: trebuie să fie JavaScript. Citește mai mult doar pentru a încerca un microcontroler ar putea părea ca o mulțime de muncă. Ce se întâmplă dacă vrei să începi să te joci cu electronica de la domiciliu într-o limbă de program cu care deja cunoști? Vești bune: puteți!

Noi v-am arătat deja cum să controlați un tablou Arduino cu Python Cum să programați și să controlați un Arduino cu Python Cum să programați și să controlați un Arduino cu Python Din păcate, este imposibil să programați direct un Arduino în Python, dar îl puteți controla prin USB folosind un program Python. Iată cum. Citiți mai multe și astăzi vă vom arăta cum să faceți același lucru cu JavaScript. Mai degrabă decât doar tutorialul cel mai de bază care clipește LED-ul, astăzi vom folosi cadrul Johnny-Five pentru a controla un servo cu tastatura calculatorului, toate programate în JavaScript Ce este JavaScript și cum funcționează? Ce este JavaScript și cum funcționează? Ce este Javascript? Este un limbaj de programare folosit pentru a îmbunătăți paginile web. Acesta include actualizarea dinamică a paginilor web, interfețelor utilizator și multe altele. Să ne aruncăm cu privire la ceea ce înseamnă Javascript. Citeste mai mult .

Lista hardware

Pentru acest proiect veți avea nevoie de:

  • Arduino Uno (sau o placă compatibilă Arduino Ghid de cumpărare: ce bord ar trebui să obțineți? Arduino Ghidul de cumpărare: care ar trebui să obțineți? Există atât de multe feluri de arduino placi de acolo, ai fi iertat pentru a fi confuz. Cumpărați pentru proiectul dvs. Să ne ajutați, cu acest ghid de cumpărare Arduino Citiți mai multe): $ 22 de la magazinul oficial, deși puteți să le obțineți mai ieftin 5 motive pentru a nu utiliza un adevărat Arduino în următorul proiect 5 motive pentru a nu utiliza o genuine Arduino în proiectele tale viitoare Fundația Arduino a mers prea departe? De ce ar trebui să vă cheltuiți banii pentru produsele Genuine Arduino? Vă explicăm tot ce trebuie să știți. Citiți mai multe, plăcile de clonare sunt disponibile pentru 3,20 dolari pe AliExpress.
  • Hobby Servo: Orice Servo compatibil Arduino de la un magazin de hobby va face, eu folosesc un servo de 1.60 $ de la AliExpress.
  • O pereche de cârlige de sârmă
  • Cablu USB: Pentru conectarea dispozitivului Arduino la computer

Tutorialul de astăzi va folosi o placă Arduino Uno. Cadrul Johnny-Five pe care îl vom folosi mai târziu în acest proiect suportă majoritatea microcontrolerelor compatibile cu Arduino, deși tabloul dvs. va trebui să aibă capacitatea PWM de a menține servo-ul fericit.

Setarea circuitului

Atașați servo-ul la Arduino așa cum este acesta:

Pe scurt, linia VCC (ROȘU) se conectează la pinul 5v al liniei Arduino, GND (NEGRU sau MARO) se conectează la pinul GND al liniei Arduino și Pulse (Galben sau portocale) conectați la pinul 10 al lui Arduino. Rețineți că în timp ce nu trebuie să conectați-l la pinul 10 în mod specific, acesta trebuie să se conecteze la un pin PWM, de obicei marcat cu ~.

Verificați dublu că nu ați amestecat firele și conectați dispozitivul Arduino la computer. Vom folosi Windows 10 pentru acest proiect. Toate elementele acestui proiect sunt disponibile și pentru Mac și Linux, deși unele instrucțiuni de instalare pot diferi ușor.

Dacă nu ați făcut deja acest lucru, descărcați ID-ul Arduino și alegeți-vă Bord și Port de la Unelte meniul. Dacă este prima dată când faci acest lucru și este un pic cam un mister, Arduino Ghidul nostru pentru începători Arduino: Ghidul începătorului Arduino: Un ghid pentru începători Arduino este o platformă de prototipuri electronice cu sursă deschisă, bazată pe sisteme flexibile, ușor de utilizat hardware și software. Este destinat artiștilor, designerilor, pasionaților și tuturor celor interesați să creeze obiecte sau medii interactive. Citește mai mult vă poate ajuta prin acești pași.

Odată ce ați conectat-o, încărcați-o StandardFirmataPlus exemplu schița la bord. Puteți găsi această schiță în Fişier meniu sub Exemple> Firmata> StandardFirmataPlus. Nu aveți nevoie să modificați schița deloc, în esență doar setați Arduino până să așteptați instrucțiuni exterioare - pe care le vom furniza mai târziu.

Robotica JavaScript cu Johnny-Five

Cadrul pe care îl vom folosi pentru a controla Arduino cu Javascript se numește Johnny-Five. Normal, având în vedere numele său de film, proiectul este orientat spre lucrul cu robotica.

Image Credit: johnny-five.io

Pentru a instala Johnny-Five, trebuie să instalăm mai întâi Node.js Ce este Node.JS și de ce ar trebui să mă intereseze? [Dezvoltare Web] Ce este Node.JS și de ce ar trebui să mă intereseze? [Dezvoltare Web] JavaScript este un limbaj de programare care rulează în browser, nu? Nu mai. Node.js este o modalitate de a rula JavaScript pe server; dar este și mai mult. Dacă ... Citește mai mult. Puteți descărca ultima versiune de pe site-ul Node.js. Folosim versiunea recomandată, care la momentul redactării este 8.9.4 LTS.

Deschide .msi fișier și urmați instrucțiunile de instalare, asigurându-vă că se adaugă la dvs. CALE. Actualul instalator Node.js adaugă PATH ca standard, deși merită verificat acest lucru în timpul instalării, așa cum este necesar pentru pasul următor.

Odată ce instalarea este finalizată, vom avea acces la Nod Manager pachet (NPM) din linia de comandă Windows (CMD). Clic start și tip CMD. Înainte de a continua, trebuie să inițializăm NPM pentru a preveni eventualele erori de instalare. Nu necesită cunoștințe de specialitate, ci doar tastați:

npm init

Urmați instrucțiunile de pe ecran. Pentru proiectul de astăzi nu trebuie să schimbați nimic, apăsați pe Enter până când vă întoarceți la promptul de comandă, apoi tastați:

npm instala johnny-cinci

Aceasta va instala toate pachetele importante, care vor vorbi cu Arduino. Avem nevoie de încă un lucru pentru ca acest proiect să funcționeze, și anume keypress pachet, care ne va permite să citim intrările de la tastatură.

Instalați-l introducând:

npm instalează apăsarea tastei

Odată ce toate aceste pachete sunt instalate, suntem gata să codificăm!

Dacă întâmpinați probleme în timpul instalării, încercați din nou să instalați johnny-five install după instalarea cu tastatură. Aceasta poate fi doar o chestiune a versiunii NPM folosită aici, dar acest lucru previne acum o problemă pe care probabil că o veți întâlni mai târziu ca și cum am făcut-o.

Codul

Vom folosi un cod de exemplu furnizat astăzi în documentația johnny-five, care permite controlul servo-ului nostru folosind tastele săgeți de pe tastatură. Codul complet este disponibil la johnny-five.io, dar vom trece aici în detaliu pentru a înțelege pe deplin cum funcționează.

Folosim Eclipse IDE 8 Comenzi rapide Eclipse Keyboard Essential pentru începători 8 Comenzi rapide pentru tastatură Eclipse Esențiale pentru începători În calitate de interfață eclipsă cu Eclipse IDE (interfață), vă datorați pentru a afla aceste comenzi rapide de la tastatură. Citește mai mult pentru codarea de astăzi, deși poți folosi orice IDE sau editor de text Editori de texte vs. IDE: Care dintre ele este mai bine pentru programatori? Editori de texte vs. IDE: Care dintre ele este mai bine pentru programatori? Alegerea între un IDE avansat și un editor de text mai simplu poate fi greu. Oferim câteva informații pentru a vă ajuta să luați această decizie. Citiți mai multe pentru acest proiect.

Creați un fișier nou și denumiți-l test.js și salvați-l undeva pe care îl puteți accesa cu ușurință din linia de comandă mai târziu. Scriptul începe prin crearea de variabile pentru bibliotecile necesare și inițializarea keypress biblioteca pentru a asculta datele primite, împreună cu apelarea Bord() metodă de a configura bordul.

var cinci = necesită ("johnny-five"); var keypress = necesită ("apăsare de taste"); keypress (process.stdin); var bord = nou cinci (); 

Rețineți că setarea plăcii este automată, fără a fi nevoie să specificați porturile. Dacă aveți o configurație specifică a portului sau dacă nu aveți noroc cu detectarea automată, este posibil să fie necesar să specificați explicit portul.

Înainte vom dori “trezește-te” bordul nostru și a stabilit-o pentru servomecanism. board.on Apelul așteaptă până când pinii Arduino sunt gata înainte de a porni. Biblioteca johnny-cinci are suport pentru serverele construite și sunăm Servo.Continuous (10) pe pinul 10 pentru a permite controlul direct.

board.on ("gata", functie () console.log ("Foloseste sagetile sus si jos pentru CW si CCW respectiv Space to stop."); var servo = new five.Servo.Continuous (10); stdin.resume (); process.stdin.setEncoding ("utf8"); process.stdin.setRawMode (true);

process.stdin solicită ca toate datele pe care le primim de la tastatură să fie utilizate în următorul bloc de cod. Acum vrem să “asculta” pentru apăsările de la tastatură și folosiți-le pentru a vă deplasa servo în sensul acelor de ceasornic (CW), în sens contrar acelor de ceasornic (CCW) sau pentru a opri în traseele sale.

 process.stdin.on ("keypress", funcția (ch, key) if (tasta!) // dacă nu este apăsată nici o tastă, ) console.log ("Quitting"); process.exit (); altceva dacă (key.name === "up") console.log ("CW"); (key.name === "jos") console.log ("CCW"); servo.ccw (); altceva dacă (key.name === "spațiu") console.log ; servo.stop ();); );

Asigurați-vă că includeți toate parantezele de închidere din partea de jos aici și consultați întregul bloc de cod așa cum este legat mai sus, dacă aveți erori. Salvați acest script și deschideți Promptul de comandă.

Rândesc Bună!

Acum, navigați la directorul în care ați salvat scriptul și rulați-l tastând:

nod test.js

Programul trebuie să înceapă imediat cu informații despre bord, înainte de a vă da instrucțiunile din cod. Încercați să apăsați tastele săgeți sus și jos și bara de spațiu și Q să renunțe. Ecranul ar trebui să arate astfel:

Și totul ar fi bine, servo ar trebui să danseze la apăsările de la tastatură! Uită-te la micul val de beastie!

Începuturile umile

În ciuda unui proiect ușor mai ambițios decât tutorialul LED-urilor care încep să clipească în mod obișnuit, nu am reușit nici măcar să ne atingem întreaga dimensiune a ceea ce se poate face cu plăcile Arduino și microcontrolerele similare.

Utilizatorii JavaScript condimentați ar trebui să găsească pachetul Johnny-Five intuitiv pentru a lucra cu. Biblioteca este, de asemenea, instalabila pe Raspberry Pi nativ, ceea ce face ca pachetul perfect pentru constructorii de robot in devenire.

Lucrul cel mai bun pentru această bibliotecă este că, deși este conceput în funcție de roboți, aceleași date de intrare și ieșire pot fi utilizate pentru a crea seturi inteligente de acasă DIY Smart Home Sensors cu Arduino, MySensors și OpenHAB DIY Smart Home Sensors cu Arduino, MySensors și senzorii OpenHAB Smart home costă o sumă ridicolă de bani. Conectarea unei case întregi este domeniul celor care au venituri minime. Să ne construim propriile cu MySensors. Citiți mai multe și chiar sistemele de securitate de la domiciliu DIY Smart Lock cu Arduino și RFID Smart Lock cu Arduino și RFID Iată cum puteți construi o simplă blocare inteligentă pe bază de RFID, folosind un Arduino ca coloană vertebrală și câteva componente ieftine. Citeste mai mult .

Comunicarea cu microcontrolerele în acest mod este o introducere excelentă în lumea hardware-ului DIY, fără a trebui să dedicăți timp pentru învățarea unui limbaj de programare complet nou. Distrează-te acolo și dacă se întâmplă să construiești un robot ucigaș, reține-ți cum te-am ajutat în primele zile.

Explorați mai multe despre: Arduino, JavaScript.