Sådan styrer du din Arduino Brug af JavaScript

Vidste du at du kan styre din Arduino med Javascript? Med et stykke software og en vis kreativitet kan du! Sådan gør du det.

Vidste du at du kan styre din Arduino med Javascript?  Med et stykke software og en vis kreativitet kan du!  Sådan gør du det.
Reklame

Arduino boards er en af ​​de nemmeste måder at komme ind på hardware hacking til programmører. Der er et stort udvalg af nybegynderprojekter. 10 Store Arduino-projekter for begyndere. 10 Store Arduino-projekter for begyndere. Gennemførelse af et Arduino-projekt giver dig en følelse af tilfredshed som ingen anden. De fleste begyndere er ikke sikre på, hvor de skal starte, og selv begynderprojekter kan virke temmelig skræmmende. Læs mere derude for at passe næsten alle med en programmerings baggrund. Alligevel kan det være skræmmende at komme i gang for dem, der er kort til tiden.

At lære et helt nyt sprog Hvilket programmeringssprog skal du lære for fremtiden? Hvilket programmeringssprog skal du lære for fremtiden? Hvilket er det bedste programmeringssprog for at lære for fremtiden? Hvis du kun kunne vælge et sprog for at lære og mestre fremtiden, er der ingen konkurrence: det skal være JavaScript. Læs mere bare for at prøve en microcontroller kan virke som en masse arbejde. Hvad hvis du vil begynde at spille med home-brew electronics på et sprog, du allerede er bekendt med? Gode ​​nyheder: Du kan!

Vi har allerede vist dig hvordan man styrer et Arduino bord med Python Sådan programmeres og styres en Arduino med Python Sådan programmeres og styres en Arduino med Python Desværre er det umuligt at programmere en Arduino direkte i Python, men du kan styre den over USB ved hjælp af et Python-program. Sådan er det. Læs mere, og i dag skal vi vise dig, hvordan du gør det samme med JavaScript. I stedet for blot den mest grundlæggende blinkende LED-øvelse, bruger vi i dag Johnny-Five-rammerne til at styre en servo med computerens tastatur, alle programmeret i JavaScript Hvad er JavaScript og hvordan virker det? Hvad er JavaScript, og hvordan virker det? Hvad er Javascript? Det er et programmeringssprog, der bruges til at forbedre websider. Den omfatter dynamisk opdatering af websider, brugergrænseflader og mere. Lad os dykke ind i, hvad Javascript handler om. Læs mere .

Hardware liste

Til dette projekt skal du:

  • Arduino Uno (eller kompatibelt bord Arduino Købsvejledning: Hvilket stykke skal du få? Arduino Købsvejledning: Hvilket bord skal du få? Der er så mange forskellige slags Arduino boards derude, du ville blive tilgivet for at være forvirret. køb for dit projekt? Lad os hjælpe med denne Arduino købeguide! Læs mere): $ 22 fra den officielle butik, selv om du kan få dem billigere 5 grunde til ikke at bruge en ægte Arduino i dit næste projekt 5 grunde til ikke at bruge en ægte Arduino i dit næste projekt Har Arduino fundamentet været for langt? Hvorfor skal du bruge dine penge på ægte Arduino produkter? Vi forklarer alt, hvad du behøver at vide. Læs mere, klonestyrelser er tilgængelige for så lidt $ 3, 20 på aliexpress.
  • Hobby Servo: Enhver Arduino kompatibel servo fra en hobbybutik vil gøre, jeg bruger en 1, 60 $ servo fra AliExpress.
  • Et par stykker af hook up wire
  • USB-kabel: Tilslutning af Arduino til din computer

hvordan man styrer arduino med javascript

Dagens tutorial vil bruge et Arduino Uno bord. Den Johnny-Five-ramme, vi senere bruger i dette projekt, understøtter de fleste Arduino-kompatible mikrocontrollere, selvom dit bord skal have PWM-evne til at holde servo glad.

Circuit Setup

Vedhæft din servo til din Arduino som denne:

hvordan man styrer arduino med javascript

Kort sagt, VCC-linjen ( RØD ) tilsluttes 5-polet til Arduino, GND-linjen ( BLACK eller BROWN ) tilsluttes GND-stiften på Arduino og Pulse Line ( Gul eller Orange ) tilslutning til Pin 10 i Arduino. Bemærk, at mens du ikke behøver at forbinde den til pin 10 specifikt, skal den forbinde til en PWM-pin, der normalt betegnes med en ~ .

Dobbeltklik på, at du ikke har blandet nogle ledninger og tilslut Arduino til din computer. Vi bruger Windows 10 til dette projekt. Alle elementer i dette projekt er tilgængelige for Mac og Linux, selv om nogle installationsinstruktioner kan afvige lidt.

Hvis du ikke allerede har det, skal du downloade Arduino IDE og vælge dit Board og Port fra menuen Funktioner . Hvis dette er din første gang at gøre dette, og det hele er lidt af et mysterium, er vores Arduino Beginners Guide Kom godt i gang med Arduino: En nybegyndervejledning Kom godt i gang med Arduino: En nybegyndervejledning Arduino er en open source elektronik prototypeplanlægning baseret på fleksibel, nem at bruge hardware og software. Det er beregnet til kunstnere, designere, hobbyister og alle interesserede i at skabe interaktive objekter eller miljøer. Læs mere kan hjælpe dig gennem disse trin.

hvordan man styrer arduino med javascript

Når du har fået den tilsluttet, skal du uploade StandardFirmataPlus eksempel skitse til bestyrelsen. Du kan finde denne skitse i menuen Filer under Eksempler> Firmata> StandardFirmataPlus . Du behøver ikke at ændre skitsen overhovedet, det sætter i det væsentlige bare Arduino op for at vente på udenfor instruktioner - som vi vil give os senere.

JavaScript-robotik med Johnny-Five

Rammen vi vil bruge til at kontrollere vores Arduino med Javascript hedder Johnny-Five. Ikke overraskende, da projektet er navngivet, er projektet rettet mod at arbejde med robotik.

hvordan man styrer arduino med javascript
Billedkredit: johnny-five.io

For at installere Johnny-Five skal vi først installere Node.js Hvad er Node.JS og hvorfor skal jeg passe? [Webudvikling] Hvad er Node.JS og hvorfor skal jeg passe? [Webudvikling] JavaScript er et blot et klientside programmeringssprog, der kører i browseren, ikke? Ikke mere. Node.js er en måde at køre JavaScript på serveren; men det er også meget mere. Hvis ... Læs mere. Du kan downloade deres nyeste build fra Node.js hjemmeside. Vi bruger den anbefalede udgivelse, som på tidspunktet for skrivningen er 8.9.4 LTS .

Åbn .msi- filen og følg installationsvejledningen, og sørg for, at den bliver føjet til din PATH . Den nuværende Node.js installer tilføjer PATH som standard, selvom det er værd at kontrollere dette under installationen som det er nødvendigt for vores næste trin.

hvordan man styrer arduino med javascript

Når installationen er gennemført, har vi adgang til pakkeadministratoren Node Package Manager (NPM) fra Windows Command Line (CMD). Klik på Start og skriv CMD. Før vi fortsætter, skal vi initialisere NPM for at forhindre mulige installationsfejl. Det kræver ingen specialistkundskaber, skriv bare:

npm init 

Følg anvisningerne på skærmen. For dagens projekt behøver du ikke ændre noget, bare tryk på enter, indtil du er tilbage ved kommandoprompten, og skriv derefter:

 npm install johnny-five 

Dette vil installere alle vigtige pakker, som vil tale med vores Arduino. Vi har brug for en yderligere ting for at få dette projekt til at fungere, og det er Keypress- pakken, som gør det muligt for os at læse tastetryk fra tastaturet.

Installer det ved at indtaste:

 npm install keypress 

Når alle disse pakker er installeret, er vi klar til at kode!

Hvis du løber ind i problemer under installationen, kan du prøve at køre johnny-five-installationen igen efter tastaturinstallationen. Det kan bare være en udsmykning af NPM-versionen, der bruges her, men gør det nu forhindrer et problem, du sandsynligvis vil løbe ind senere, som jeg gjorde.

Koden

Vi vil bruge et eksempeleksempel, der findes i johnny-five-dokumentationen i dag, hvilket gør det muligt at styre vores servo ved hjælp af piletasterne på tastaturet. Den fulde kode er tilgængelig på johnny-five.io, men vi vil gennemgå det her i detaljer for fuldt ud at forstå, hvordan det virker.

Vi bruger Eclipse IDE 8 mest brugbare tastaturgenveje til nybegyndere Eclipse IDE-brugere 8 mest nyttige tastaturgenveje til nybegyndere Eclipse IDE-brugere Som nybegyndervenlig som Eclipse IDE (interface) er du skylt over det selv at lære disse tastaturgenveje. Læs mere for kodning i dag, selvom du kan bruge en IDE eller tekstredigerer Tekstredaktører vs. IDE'er: Hvilken er bedre til programmører? Tekstredaktører vs IDE'er: Hvilken er bedre for programmører? At vælge mellem en avanceret IDE og en enklere tekst editor kan være svært. Vi tilbyder nogle indsigt til at hjælpe dig med at træffe den beslutning. Læs mere for dette projekt.

Opret en ny fil og navngiv den test.js, og gem den et sted, du nemt kan få adgang til fra kommandolinjen senere. Skriptet begynder ved at oprette variabler til de krævede biblioteker og initialisere tastaturbiblioteket for at lytte til indgående data sammen med at kalde Board () -metoden til at oprette brættet.

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

Bemærk, at bordopsætningen her er automatisk, det er ikke nødvendigt at angive porte. Hvis du har en bestemt portopsætning eller bare ikke har lykke med auto-detekteringen, kan du muligvis angive din port eksplicit.

Derefter vil vi "vågne op" vores bord og sætte det op for servostyring. Bordet venter, indtil Arduino-stifterne er klare, før de går videre. Johnny-5-biblioteket har støtte til servoer indbygget, og vi kalder Servo.Continuous (10) på pin 10 for at tillade direkte kontrol.

 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); 

Process.stdin- opkald sikrer, at alle data, vi modtager fra tastaturet, kan bruges i den næste blok kode. Nu vil vi "lytte" til tastetryk og bruge dem til at flytte vores servo med uret (CW), mod uret (CCW), eller for at stoppe i dens spor.

 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(); } }); }); 

Sørg for at inkludere alle lukkebeslagene nederst her, og henvis til hele koden som vist ovenfor, hvis du får fejl. Gem dette script, og åbn Kommandoprompt.

Vifter Hej!

Gå nu til den mappe, du har gemt dit script i, og kør det ved at skrive:

 node test.js 

Programmet skal straks starte med oplysninger om bestyrelsen, før du giver instruktionerne angivet i koden. Prøv at trykke op og ned piletasterne og mellemrumstasten og Q for at afslutte. Skærmen skal se sådan ud:

hvordan man styrer arduino med javascript

Og alt er godt, servo skal danse til dine tastetryk! Kig på den lille beastiebølge!

Ydmyge begyndelser

På trods af at vi har taget et lidt mere ambitiøst projekt end den sædvanlige nybegynder blinkende LED-tutorial, har vi næppe selv rørt det fulde omfang af hvad der kan gøres med Arduino boards og lignende mikrocontrollere.

Krydrede JavaScript-brugere skal finde Johnny-Five-pakken intuitiv til at arbejde med. Biblioteket kan også installeres på Raspberry Pi indbygget, hvilket gør den til den perfekte pakke til spirende robotbyggere.

Det store ved dette bibliotek er, at selv om det er designet med robotter i tankerne, kan de samme input- og outputdata bruges til at oprette DIY smart hjemmeopsætninger DIY Smart Home Sensors med Arduino, MySensors og OpenHAB DIY Smart Home Sensors med Arduino, MySensors og OpenHAB Smart Home Sensors koster en latterlig mængde penge. Ledning af et helt hus er domænet for dem med dumme mængder disponibel indkomst. Lad os bygge vores egen med MySensors. Læs mere og endda hjemmebryggede sikkerhedssystemer DIY Smart Lock med Arduino og RFID DIY Smart Lock med Arduino og RFID Sådan bygger du en simpel RFID-baseret smart lås ved hjælp af en Arduino som rygraden og et par billige komponenter. Læs mere .

Kommunikation med mikrocontrollere på denne måde er en god introduktion til verden af ​​DIY hardware uden at skulle bruge tiden til at lære et helt nyt programmeringssprog. Hav det sjovt derude, og hvis du tilfældigvis opbygger en morderobot, så husk, hvordan vi hjalp dig i de tidlige dage.

In this article