Så här kontrollerar du din Arduino med JavaScript

Så här kontrollerar du din Arduino med JavaScript / Programmering

Arduino boards är ett av de enklaste sätten att komma in i hårdvarupackning för programmerare. Det finns ett stort antal nybörjareprojekt. 15 Stora Arduino-projekt för nybörjare. 15 Stora Arduino-projekt för nybörjare. Intresserade för Arduino men inte säker på var du ska börja? Här är några av våra bästa Arduino-projekt för nybörjare att komma igång med! Läs mer där ute för att passa nästan alla med en programmeringsbakgrund. Trots det är det svårt att komma igång med dem som är korta i tid.

Att lära sig ett helt nytt språk Vilket programmeringsspråk ska du lära dig för framtiden? Vilket programmeringsspråk ska du lära dig för framtiden? Vilket är det bästa programmeringsspråket för att lära sig för framtiden? Om du bara kunde välja ett språk för att lära och behärska framtiden, är det ingen tävling: det måste vara JavaScript. Läs mer bara för att prova en mikrokontroller kan verka som mycket arbete. Vad händer om du vill börja spela med hemmabryggelektronik på ett programspråk du redan är bekant med? Goda nyheter: du kan!

Vi har redan visat dig hur man styr en Arduino-styrelse med Python Hur man programmerar och kontrollerar en Arduino med Python Hur man programmerar och kontrollerar en Arduino med Python Tyvärr är det omöjligt att direkt programmera en Arduino i Python, men du kan styra den över USB med ett Python-program. Här är hur. Läs mer, och idag ska vi visa dig hur du gör detsamma med JavaScript. I stället för bara den mest grundläggande blinkande LED-handledningen, använder vi idag Johnny-Five-ramverket för att styra en servo med datorns tangentbord, alla programmerade i JavaScript Vad är JavaScript och hur fungerar det? Vad är JavaScript och hur fungerar det? Vad är Javascript? Det är ett programmeringsspråk som används för att förbättra webbsidor. Den innehåller dynamiskt uppdatering av webbsidor, användargränssnitt och mer. Låt oss dyka in vad Javascript handlar om. Läs mer .

Hårdvarulista

För detta projekt behöver du:

  • Arduino Uno (eller kompatibel styrelse Arduino Köpguide: Vilket styrelse ska du få? Arduino Köpguide: Vilket styrelse ska du få? Det finns så många olika typer av Arduino brädor där ute, du skulle bli förlåtad för att vara förvirrad. köp till ditt projekt? Låt oss hjälpa till med den här Arduino-köpguiden! Läs mer): $ 22 från den officiella butiken, men du kan få dem billigare. 5 Skäl att inte använda en äkta Arduino i ditt nästa projekt. 5 Anledningar att inte använda en äkta Arduino i ditt nästa projekt Har Arduino-stiftelsen gått för långt? Varför ska du spendera dina pengar på äkta Arduino produkter? Vi förklarar allt du behöver veta. Läs mer, klonskivor finns tillgängliga för så lite $ 3,20 på AliExpress.
  • Hobby Servo: Alla Arduino-kompatibla servo från en hobbybutik kommer att göra, jag använder en $ 1,60 servo från AliExpress.
  • Ett par bitar av krok upp tråd
  • USB-kabel: För att ansluta Arduino till din dator

Dagens handledning kommer att använda ett Arduino Uno styrelse. Den Johnny-Five-ram som vi använder senare i detta projekt stöder de flesta Arduino-kompatibla mikrokontroller, även om din styrelse kommer att behöva ha PWM-kapacitet för att hålla servo glad.

Kretskonfiguration

Fäst din servo till din Arduino så här:

Kort sagt, VCC-linje (RÖD) ansluter till 5v-stiftet i Arduino, GND-linjen (SVART eller BRUN) ansluts till GND-stiftet på Arduino och Pulslinjen (Gul eller Orange) ansluta till stift 10 i Arduino. Observera att medan du inte behöver ansluta den till stift 10 specifikt måste den anslutas till en PWM-stift, vanligen betecknad med en ~.

Kontrollera att du inte har blandat några kablar och anslut Arduino till din dator. Vi använder Windows 10 för det här projektet. Alla element i projektet är tillgängliga för Mac och Linux, även om vissa installationsanvisningar kan skilja sig något.

Om du inte redan har hämtat Arduino IDE och välj din Styrelse och Hamn från Verktyg meny. Om det här är första gången du gör det här och det är lite av ett mysterium, börjar vår Arduino Beginners Guide Komma igång med Arduino: En nybörjarhandbok Komma igång med Arduino: En nybörjarhandbok Arduino är en öppen källkods elektronikprototypplattform baserad på flexibel, lättanvänd maskinvara och programvara. Den är avsedd för artister, designers, hobbyister och alla som är intresserade av att skapa interaktiva objekt eller miljöer. Läs mer kan hjälpa dig genom dessa steg.

När du har anslutit det, ladda upp StandardFirmataPlus Exempel skiss till styrelsen. Du kan hitta den här skissen i Fil meny under Exempel> Firmata> StandardFirmataPlus. Du behöver inte ändra skissen alls, det stämmer i grunden bara Arduino upp för att vänta på yttre instruktioner - som vi kommer att förse oss senare.

JavaScript-robotik med Johnny-Five

Ramverket vi ska använda för att styra vår Arduino med Javascript heter Johnny-Five. Otroligt, med tanke på sin filmnamn, är projektet inriktat på att arbeta med robotik.

Bildkrediter: johnny-five.io

För att installera Johnny-Five måste vi först installera Node.js Vad är Node.JS och varför ska jag bry mig? [Webbutveckling] Vad är Node.JS och varför ska jag bry sig? [Webbutveckling] JavaScript är ett helt enkelt programmeringsspråk för klientsidor som körs i webbläsaren, eller hur? Inte längre. Node.js är ett sätt att köra JavaScript på servern; men det är så mycket mer också. Om ... Läs mer. Du kan ladda ner deras senaste byggnad från Node.js webbplats. Vi använder den rekommenderade versionen, som vid skrivetidpunkten är 8.9.4 LTS.

Öppna .msi fil och följ installationsanvisningarna, se till att den läggs till i din VÄG. Nuvarande Node.js installatör lägger till PATH som standard, men det är värt att kolla detta under installationen som det krävs för vårt nästa steg.

När installationen är klar kommer vi att ha tillgång till Node Package Manager (NPM) pakethanteraren från Windows Command Line (CMD). Klick Start och skriv CMD. Innan vi fortsätter måste vi initiera NPM för att förhindra eventuella installationsfel. Det kräver ingen specialistkunskap, skriv bara:

npm init

Följ anvisningarna på skärmen. För dagens projekt behöver du inte ändra någonting, tryck bara på enter tills du är tillbaka vid kommandotolken och skriv sedan:

npm installera johnny-five

Detta kommer att installera alla viktiga paket, som kommer att prata med vår Arduino. Vi behöver ytterligare en sak för att få projektet att fungera, och det är det Knapptryckning paketet, vilket gör att vi kan läsa tangenttryckningar från tangentbordet.

Installera det genom att ange:

npm installera tangenttryck

När alla dessa paket är installerade, är vi redo att koda!

Om du stöter på några problem under installationen kan du försöka köra johnny-five-installationen igen efter knappsatsen installeras. Det kan bara vara en prydnad för NPM-versionen som används här, men gör det här nu förhindrar ett problem som du sannolikt kommer att springa in senare som jag gjorde.

Koden

Vi använder en exemplar kod som finns i johnny-fem dokumentationen idag, vilket gör det möjligt att styra över vår servo med piltangenterna på tangentbordet. Den fullständiga koden är tillgänglig på johnny-five.io, men vi kommer att gå igenom det här i detalj för att förstå hur det fungerar.

Vi använder Eclipse IDE 8 Eclipse Keyboard Shortcuts Viktiga för nybörjare 8 Eclipse Keyboard Shortcuts Väsentliga för nybörjare Som nybörjevänlig som Eclipse IDE (gränssnitt) är du skyldig att själv lära dig dessa kortkommandon. Läs mer för kodning idag, men du kan använda någon IDE eller textredigerare Textredigerare vs IDE: Vilken är bättre för programmerare? Textredigerare vs IDE: Vilken är bättre för programmerare? Att välja mellan en avancerad IDE och en enklare textredigerare kan vara svår. Vi erbjuder lite insikt för att hjälpa dig att fatta beslutet. Läs mer för det här projektet.

Skapa en ny fil och namnge den test.js, och spara den någonstans så kan du enkelt komma åt kommandoraden senare. Skriptet startar genom att skapa variabler för de obligatoriska biblioteken och initierar Knapptryckning bibliotek för att lyssna på inkommande data, tillsammans med att ringa Styrelse() metod för att ställa in styrelsen.

var fem = kräver ("johnny-five"); var keypress = kräver ("tangenttryck"); knapptryckning (process.stdin); var styrelse = nytt fem. Bord (); 

Observera att brädans inställningar här är automatiska, utan att behöva ange portar. Om du har en specifik portinställning eller bara har ingen tur med auto-detekteringen kan du behöva ange din port explicit.

Nästa upp vill vi “vakna” vår styrelse och sätta upp den för servostyrning. De board.on samtal väntar tills Arduino-stiften är färdiga innan de går vidare. Johnny-5-biblioteket har stöd för servos inbyggda, och vi ringer Servo.Continuous (10) på stift 10 för att tillåta direkt kontroll.

board.on ("ready", function () console.log ("Använd upp och ner pilar för respektive CW och CCW. Rymd för att stoppa."); var servo = nya fem.Servo.Continuous (10); process. stdin.resume (); process.stdin.setEncoding ("utf8"); process.stdin.setRawMode (true);

De process.stdin samtal säkerställer att alla data vi tar emot från tangentbordet kommer att användas i nästa kvarterskod. Nu vill vi “lyssna” för tangenttryckningar och använd dem för att flytta vår servo medurs (CW), moturs (CCW), eller för att stoppa i sina spår.

 process.stdin.on ("tangenttryck", funktion (ch, tangent) if (! tangent) // om ingen tangent trycks, returnera dvs gör ingenting. return; om (key.name === "q" ) console.log ("Quitting"); process.exit (); annars om (key.name === "up") console.log ("CW"); servo.cw (); annars om (key.name === "down") console.log ("CCW"); servo.ccw (); annars om (key.name === "space") console.log ("Stopp") ; servo.stop ();); );

Se till att du inkluderar alla stängningsfästena längst ned här, och hänvisa till hela kvarteret som länkat ovan om du får några fel. Spara det här skriptet och öppna kommandotolken.

Vinkar Hej!

Navigera nu till katalogen där du har sparat ditt skript och kör det genom att skriva:

node test.js

Programmet bör starta omedelbart med information om styrelsen innan du ger de instruktioner som anges i koden. Försök med att trycka uppåt och nedåtpilarna och mellanslagstangenten, och Q att sluta Skärmen ska se ut så här:

Och allt är bra, servo ska dansa till dina tangenttryckningar! Titta på den lilla beastievågen!

Ödmjuka begynnelser

Trots att vi tagit ett något mer ambitiöst projekt än den vanliga nybörjare-blinkande LED-handledningen, har vi knappt ens berört den fulla omfattningen av vad som kan göras med Arduino boards och liknande mikrokontroller.

Kryssade JavaScript-användare ska hitta Johnny-Five-paketet intuitivt att arbeta med. Biblioteket kan också installeras på Raspberry Pi, vilket gör det till ett perfekt paket för spirande robotbyggare.

Det stora med det här biblioteket är att även om det är konstruerat med robotar i åtanke, kan samma inmatnings- och utgångsdata användas för att skapa DIY smarta heminställningar. DIY Smart Home Sensors med Arduino, MySensors och OpenHAB DIY Smart Home Sensors med Arduino, MySensors och OpenHAB Smart hemsensorer kostar en löjlig summa pengar. Anslutning av ett helt hus är domänen för dem med dumma mängder disponibel inkomst. Låt oss bygga våra egna med MySensors. Läs mer och till och med hembräda säkerhetssystem DIY Smart Lock med Arduino och RFID DIY Smart Lock med Arduino och RFID Så här bygger du ett enkelt RFID-baserat smärtlås med hjälp av en Arduino som ryggrad och några billiga komponenter. Läs mer .

Kommunicera med mikrokontroller på detta sätt är en bra introduktion till världen av DIY-hårdvara utan att behöva ägna sig åt att lära sig ett helt nytt programmeringsspråk. Ha det roligt där ute, och om du råkar bygga en mördarerobot, kom ihåg hur vi hjälpte dig i de tidiga dagarna.

Utforska mer om: Arduino, JavaScript.