Kako kontrolirati Arduino pomoću JavaScripta

  • Mark Lucas
  • 0
  • 1093
  • 260
Oglas

Arduino ploče jedan su od najlakših načina za ulazak u hardversko hakiranje programera. Postoji veliki niz početničkih projekata 15 velikih Arduino projekata za početnike 15 velikih Arduino projekata za početnike Zanimaju se Arduino projekti, ali niste sigurni gdje započeti? Ovi početnički projekti naučit će vas kako započeti. vani kako bi odgovarali gotovo svima koji imaju programsku pozadinu. Unatoč tome, početak se može činiti zastrašujući za one kratke na vrijeme.

Učenje potpuno novog jezika Koji programski jezik trebate naučiti za budućnost? Koji programski jezik trebate naučiti za budućnost? Koji je najbolji programski jezik za naučiti u budućnosti? Ako biste mogli odabrati samo jedan jezik za učenje i svladavanje za budućnost, nema natjecanja: to mora biti JavaScript. samo se isprobati mikrokontroler može činiti puno posla. Što ako se želite započeti igrati s domaćom pivom elektronikom na programskom jeziku koji ste već upoznali? Dobra vijest: možete!

Već smo vam pokazali kako kontrolirati Arduino ploču s Python-om. Kako programirati i kontrolirati Arduino s Python-om. Kako programirati i kontrolirati Arduino s Python-om. Nažalost, nemoguće je izravno programirati Arduino na Python-u, ali možete ga kontrolirati preko USB-a pomoću Python programa. Evo kako. , a danas ćemo vam pokazati kako to učiniti s JavaScript-om. Umjesto samo najosnovnijeg treptajućeg LED vodiča, danas ćemo koristiti Johnny-Five okvir za upravljanje servo tipkovnicom računala, a sve programirano u JavaScriptu Što je JavaScript i kako to radi? Što je JavaScript i kako funkcionira? Što je Javascript? To je programski jezik koji se koristi za poboljšanje web stranica. To uključuje dinamičko ažuriranje web stranica, korisničkih sučelja i još mnogo toga. Zavirimo u ono o čemu se radi u Javascriptu. .

Popis hardvera

Za ovaj projekt trebat će vam:

  • Arduino Uno (ili kompatibilni Arduino vodič za kupnju: Koju ploču trebate nabaviti? Arduino vodič za kupnju: Koju ploču trebate nabaviti? Postoji toliko mnogo vrsta Arduino ploča vani, da bi vam bilo oprošteno što ste zbunjeni. Koji biste trebali Kupite za vaš projekt? Pomozite nam, pomoću ovog vodiča za kupnju Arduino!): 22 dolara iz Službene trgovine, iako ih možete kupiti jeftinije 5 razloga da ne koristite originalni Arduino u sljedećem projektu 5 razloga da ne koristite originalni Arduino u Vaš sljedeći projekt Je li zaklada Arduino otišla predaleko? Zašto biste trošili novac na proizvode originalnog Arduinoa? Objašnjavamo sve što trebate znati. , ploče s klonom dostupne su za samo 3,20 dolara na AliExpressu.
  • Hobi Servo: Svaki servo kompatibilni Arduino iz hobby dućana koristim servo od AliExpress od 1,60 dolara..
  • Nekoliko komada žice za spajanje
  • USB kabel: za povezivanje Arduino-a na računalo

U današnjem će se vodiču koristiti Arduino Uno ploča. Johnny-Five okvir koji ćemo kasnije koristiti u ovom projektu podržava većinu Arduino kompatibilnih mikrokontrolera, iako će vaša ploča morati imati mogućnost PWM-a da bi servo bio sretan.

Postavljanje kruga

Pričvrstite svoj servo na svoj Arduino ovako:

Ukratko, VCC linija (CRVENA) spaja se na 5v pin Arduino, GND linije (CRNO ili BROWN) spaja se na GND pin Arduino i Pulse linije (Žuta boja ili narančasta) spojite na pin 10 Arduino. Imajte na umu da, iako ga ne morate posebno spojiti na pin 10, on se mora spojiti na PWM pin, obično označen s ~.

Dvaput provjerite da niste pomiješali nijednu žicu i povežite Arduino na računalo. Za ovaj projekt koristit ćemo Windows 10. Svi su elementi ovog projekta dostupni i za Mac i Linux, iako se neke upute za instalaciju mogu malo razlikovati.

Ako već niste, preuzmite Arduino IDE i odaberite svoj Odbor i Luka od alat izbornik. Ako vam je ovo prvi put da radite ovo i sve je pomalo misterija, naš vodič za početnike Arduino Kako započeti s Arduinom: Vodič za početnike Početak rada s Arduinom: Vodič za početnike Arduino je platforma za prototiranje elektronike otvorenog koda koja se temelji na fleksibilnoj, hardver i softver koji se lako koriste. Namijenjen je umjetnicima, dizajnerima, hobistima i svima koji su zainteresirani za stvaranje interaktivnih objekata ili okruženja. mogli bi vam pomoći kroz ove korake.

Nakon što ga povežete, prenesite StandardFirmataPlus primjer skica na ploču. Ovu skicu možete pronaći u odjeljku Datoteka izbornik pod Primjeri> Firmata> StandardFirmataPlus. Skicu uopće ne trebate mijenjati, ona u stvari samo postavlja Arduinu da čeka vanjske upute - koje ćemo kasnije pružiti.

JavaScript robotika sa Johnny-Petom

Okvir koji ćemo koristiti za kontrolu našeg Arduinoa pomoću Javascripta zove se Johnny-Five. Ne iznenađuje, s obzirom na svog imenjaka iz filma, projekt je usmjeren na rad s robotikom.

Kreditna slika: johnny-five.io

Da bismo instalirali Johnny-Five, prvo moramo instalirati Node.js Što je Node.JS i zašto bih trebao brinuti? [Web Development] Što je Node.JS i zašto me treba zanimati? [Web Development] JavaScript je samo programski jezik na strani klijenta koji se izvodi u pregledniku, zar ne? Ne više. Node.js je način pokretanja JavaScripta na poslužitelju; ali tako je i mnogo više. Ako…. Možete preuzeti njihovu najnoviju verziju sa web stranice Node.js. Koristimo preporučeno izdanje koje je u trenutku pisanja 8.9.4 LTS.

Otvori .MSI datoteku i slijedite upute za instaliranje pazeći da je dodate na svoj STAZA. Trenutačni instalacijski program Node.js dodaje PATH kao standard, ali vrijedi to provjeriti tijekom instalacije jer je to potrebno za naš sljedeći korak.

Kad instalacija završi, imat ćemo pristup Node Manager paketa (NPM) upravitelj paketa iz Windows naredbenog retka (CMD). Klik Početak i upišite CMD. Prije nego što nastavimo, moramo inicijalizirati NPM kako bismo spriječili moguće pogreške u instalaciji. Ne zahtijeva nikakvo specijalističko znanje, samo upišite:

npm init

Slijedite upute na zaslonu. Za današnji projekt ne morate ništa mijenjati, samo pritisnite enter dok se ne vratite u naredbeni redak i zatim upišite:

npm instalirati johnny-Five

Time će se instalirati svi važni paketi, koji će razgovarati s našim Arduinom. Trebamo još jednu stvar da ovaj projekt funkcionira, a to je ono Pritiskom na tipku paket koji će nam omogućiti čitanje pritisaka na tipkovnici s tipkovnice.

Instalirajte ga unošenjem:

npm instalirajte pritiskanje tipke

Nakon što su svi ovi paketi instalirani, spremni smo za kodiranje!

Ako naiđete na bilo kakve probleme tijekom instalacije, pokušajte ponovo pokrenuti instalaciju johnny-Five nakon instalacija pritiska na tipku. Možda je ovo samo neka vrsta NPM verzije koja se ovdje koristi, ali to sada sprečava problem na koji ćete vjerojatno naići kasnije kao i ja..

Kod

Danas ćemo koristiti primjerak koda koji se nalazi u dokumentaciji johnny-pet, a koja omogućuje kontrolu nad našim servo pomoću tipki sa strelicama na tipkovnici. Kompletan kôd dostupan je na johnny-five.io, ali detaljno ćemo ga pregledati ovdje kako bismo u potpunosti razumjeli kako to funkcionira.

Koristimo kratice prečaca na tipkovnici Eclipse IDE 8, neophodne za početnike 8 Prečaci na tipkovnici Eclipse, bitni za početnike Koliko je novost prilagođena IDE (sučelju) Eclipse, dugujete sebi da naučite ove prečace na tipkovnici. za kodiranje danas, iako možete koristiti bilo koji IDE ili uređivač teksta Uređivač teksta u odnosu na IDE: koji je bolji za programere? Uređivač teksta u odnosu na IDE: koji je bolji za programere? Odabir između naprednijeg IDE-a i jednostavnijeg uređivača teksta može biti težak. Nudimo vam nekoliko uvida koji će vam pomoći pri donošenju te odluke. za ovaj projekt.

Stvorite novu datoteku i imenovajte je test.js, i spremite je negdje kojoj kasnije možete lako pristupiti iz naredbenog retka. Skripta započinje stvaranjem varijabli za potrebne knjižnice i inicijalizacijom Pritiskom na tipku knjižnica za slušanje dolaznih podataka, zajedno s pozivom u Odbor() metoda postavljanja ploče.

var pet = zahtjev ("johnny-Five"); var keypress = zahtjev ("keypress"); pritisak (process.stdin); var ploča = novih pet.Board (); 

Imajte na umu da je ovdje postavljanje ploče automatsko, nema potrebe za određivanjem portova. Ako imate određeno postavljanje porta ili jednostavno nemate sreće sa automatskim otkrivanjem, možda ćete morati izričito navesti svoj port.

Iduće želimo “probudi se” naša ploča i postavili ga za servo kontrolu. board.on poziv čeka dok Arduino igle nisu spremne prije nego što krenemo dalje. Knjižnica johnny-pet ima podršku za ugrađene servo motore i zovemo Servo.Continuous (10) na pin 10 kako bi se omogućilo izravno upravljanje.

board.on ("spreman", funkcija () console.log ("Koristite strelice gore i dolje za CW i CCW. Prostor za zaustavljanje."); var servo = novih pet.Servo.Continuous (10); postupak. stdin.resume (); process.stdin.setEncoding ("utf8"); process.stdin.setRawMode (true);

process.stdin pozivi osiguravaju da će svi podaci koje primimo s tipkovnice biti upotrebljivi u sljedećem bloku koda. Sada to želimo “slušati” za pritiske tipki i pomoću njih za pomicanje našeg servo-kazaljke u smjeru kazaljke na satu (CW), u smjeru suprotnom od kazaljke na satu (CCW) ili za zaustavljanje u njegovim tragovima.

 process.stdin.on ("tipka", funkcija (ch, tipka) ako (! tipka) // ako nije pritisnuta nijedna tipka, vrati se tj. ne radi ništa. return; if (key.name === "q" ) console.log ("Zatvaranje"); process.exit (); else if (key.name === "up") console.log ("CW"); servo.cw (); else if (key.name === "dolje") console.log ("CCW"); servo.ccw (); else if (key.name === "razmak") console.log ("Zaustavljanje") ; servo.stop ();); );

Obavezno uključite sve zagradne zagrade na dnu ovdje i pogledajte cijeli blok koda kako je gore povezano ako se pojave greške. Spremite ovu skriptu i otvorite naredbeni redak.

Mahati Pozdrav!

Sada idite do direktorija u koji ste spremili skriptu i pokrenite ga upisivanjem:

čvor test.js

Program bi trebao odmah započeti s informacijama o ploči, prije nego što vam pruži upute navedene u kodu. Pokušajte pritisnuti tipke sa strelicama gore i dolje te razmaknicu i P odustati. Zaslon bi trebao izgledati ovako:

I sve u redu, servo bi trebao plesati na vaše tipke! Pogledajte taj mali beastie val!

Skromni počeci

Unatoč malo ambicioznijem projektu od uobičajenog treptavog LED tutorijala, teško da smo se čak dotakli i u cijelosti onoga što se može učiniti s Arduino pločama i sličnim mikrokontrolerima.

Iskusni korisnici JavaScript-a trebali bi naći paket Johnny-Five intuitivnim za rad. Knjižnicu je također moguće instalirati na Raspberry Pi izvorno, što je čini savršenim paketom za graditelje robota.

Sjajna stvar ove knjižnice je da, iako je dizajnirana s obzirom na robota, isti se ulazni i izlazni podaci mogu koristiti za izradu DIY postavki pametne kuće DIY Smart Home Senzori s Arduino, MySensors i OpenHAB DIY Smart Home senzori s Arduino, MySensors i senzori OpenHAB Smart home koštaju smiješne količine novca. Ožičenje cijele kuće domena je onih s glupim iznosima raspoloživog dohotka. Izgradimo svoje s MySensors. pa čak i kućni sigurnosni sustavi DIY Smart Lock s Arduino i RFID DIY Smart Lock s Arduino i RFID Evo kako izgraditi jednostavnu pametnu bravu utemeljenu na RFID-u koristeći Arduino kao okosnicu i nekoliko jeftinih komponenti. .

Na ovaj način, komunikacija s mikrokontrolerima izvrstan je uvod u svijet „uradi sam“ hardvera bez potrebe da posvetite vrijeme učenju potpuno novog programskog jezika. Zabavite se vani, a ako vam se dogodi da napravite robota ubojicu, sjetite se kako smo vam pomogli u ranim danima.




Još ne komentari

O modernoj tehnologiji, jednostavnoj i pristupačnoj.
Vaš vodič u svijetu moderne tehnologije. Naučite kako koristiti tehnologije i uređaje koji nas okružuju svaki dan i naučite kako otkriti zanimljivosti na Internetu.