
Edmund Richardson
0
1595
103
Arduino boards er en af de nemmeste måder at komme ind på hardware hacking for programmerere. Der er et stort udvalg af begynderprojekter 15 Store Arduino-projekter for begyndere 15 Store Arduino-projekter for begyndere Interesseret i Arduino-projekter, men ikke sikker på, hvor de skal begynde? Disse nybegynderprojekter vil lære dig, hvordan du kommer i gang. derude, der passer til næsten enhver med programmeringsbaggrund. Alligevel kan det komme afskrækkende for de korte til tiden at komme i gang.
Læring 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 at lære i fremtiden? Hvis du kun kunne vælge et sprog til at lære og mestre for fremtiden, er der ingen konkurrence: det skal være JavaScript. bare for at prøve en mikrocontroller kan det virke som en masse arbejde. Hvad hvis du vil begynde at lege med hjemmebryggerelektronik på et programsprog, du allerede kender? Gode nyheder: det kan du!
Vi har allerede vist dig, hvordan man styrer et Arduino-kort 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 direkte programmere en Arduino i Python, men du kan kontrollere det over USB ved hjælp af et Python-program. Sådan gør du. , og i dag viser vi dig, hvordan du gør det samme med JavaScript. I stedet for blot den mest basale blinkende LED-tutorial, vil vi i dag bruge Johnny-Five-rammerne til at kontrollere en servo med computertastaturet, alt sammen programmeret i JavaScript Hvad er JavaScript og hvordan fungerer det? Hvad er JavaScript, og hvordan fungerer det? Hvad er Javascript? Det er et programmeringssprog, der bruges til at forbedre websider. Det inkluderer dynamisk opdatering af websider, brugergrænseflader og mere. Lad os dykke ned i hvad Javascript handler om. .
Hardware liste
Til dette projekt har du brug for:
- Arduino Uno (eller kompatibelt tavle Arduino Buying Guide: Hvilket bord skal du få? Arduino Buying Guide: Hvilket bord skal du få? Der er så mange forskellige slags Arduino boards derude, du ville blive tilgitt for at blive forvirret. Hvilket skal du købe til dit projekt? Lad os hjælpe med denne Arduino-købsguide!): $ 22 fra den officielle butik, selvom 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 Er Arduino-stiftelsen gået for langt? Hvorfor skal du bruge dine penge på ægte Arduino-produkter? Vi forklarer alt hvad du har brug for at vide. , er klonebrætter 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 hook-wire
- USB-kabel: Til tilslutning af Arduino til din computer
Dagens tutorial bruger et Arduino Uno-kort. Johnny-Five-rammen, som vi vil bruge senere i dette projekt, understøtter de fleste Arduino-kompatible mikrokontrollere, selvom dit bord bliver nødt til at have PWM-kapacitet for at holde servoen glad.
Circuit Setup
Fastgør din servo til din Arduino sådan:
Kort sagt, VCC-linje (RØD) forbindes til 5v-stiften på Arduino, GND-linjen (SORT eller BRUN) forbindes til GND-stiften på Arduino og pulslinjen (Gul eller orange) tilsluttes pin 10 på Arduino. Bemærk, at selvom du ikke behøver at tilslutte den til pin 10 specifikt, skal den oprette forbindelse til en PWM-pin, normalt betegnet med en ~.
Dobbeltkontrol, at du ikke har blandet nogen ledninger, og tilslut Arduino til din computer. Vi bruger Windows 10 til dette projekt. Alle elementerne i dette projekt er også tilgængelige for Mac og Linux, skønt nogle installationsinstruktioner kan afvige lidt.
Hvis du ikke allerede har gjort det, skal du hente Arduino IDE og vælge din Bestyrelse og Havn fra Værktøj menu. Hvis dette er din første gang, du gør dette, og det hele er lidt af et mysterium, er vores Arduino Begynderguide Kom godt i gang med Arduino: En begynderguide Kom godt i gang med Arduino: En begynderguide Arduino er en open source-elektronik-prototype-platform baseret på fleksibel, let at bruge hardware og software. Det er beregnet til kunstnere, designere, hobbyister og enhver der er interesseret i at skabe interaktive objekter eller miljøer. kunne hjælpe dig gennem disse trin.
Når du har tilsluttet det, skal du uploade StandardFirmataPlus eksempel skitse til tavlen. Du kan finde denne skitse i Fil menu under Eksempler> Firmata> StandardFirmataPlus. Du behøver ikke at ændre skitsen overhovedet, det indstiller i det væsentlige bare Arduino for at vente på udvendige instruktioner - som vi vil give os senere.
JavaScript-robotik med Johnny-Five
Rammerne, som vi vil bruge til at kontrollere vores Arduino med Javascript kaldes Johnny-Five. I betragtning af dets filmnavne er det ikke overraskende, at projektet er rettet mod at arbejde med robotik.
Billedkredit: johnny-five.io
For at installere Johnny-Five skal vi først installere Node.js Hvad er Node.JS, og hvorfor skal jeg pleje? [Webudvikling] Hvad er Node.JS, og hvorfor skal jeg pleje? [Webudvikling] JavaScript er et bare et programmeringssprog på klientsiden, der kører i browseren, ikke? Ikke mere. Node.js er en måde at køre JavaScript på serveren på; men det er så meget mere også. Hvis .... Du kan hente deres seneste build fra Node.js-webstedet. Vi bruger den anbefalede udgivelse, som i skrivende stund er 8,9,4 LTS.
Åbn .msi arkiver og følg installationsinstruktionerne, og sørg for, at den bliver føjet til din STI. Det nuværende Node.js-installationsprogram tilføjer PATH som standard, skønt det er værd at kontrollere dette under installationen, da det er påkrævet til vores næste trin.
Når installationen er afsluttet, har vi adgang til Node Package Manager (NPM) pakkehåndtering fra Windows Command Line (CMD). Klik Start og skriv CMD. Inden vi fortsætter, skal vi initialisere NPM for at forhindre mulige installationsfejl. Det kræver ingen specialkendskab, skriv bare:
npm init
Følg instruktionerne 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 installer johnny-five
Dette vil installere alle vigtige pakker, som vil tale med vores Arduino. Vi har brug for endnu en ting for at få dette projekt til at fungere, og det er Tastetryk pakke, som giver os mulighed for at læse tastetryk fra tastaturet.
Installer det ved at indtaste:
npm installere tastetryk
Når alle disse pakker er installeret, er vi klar til at kode!
Hvis du støder på problemer under installationen, kan du prøve at køre johnny-five-installationen igen efter tastetrykket installeres. Det kan bare være et underord om den NPM-version, der bruges her, men at gøre dette forhindrer et problem, du sandsynligvis vil støde på senere, som jeg gjorde.
Koden
Vi bruger i dag et stykke eksempelkode, der findes i johnny-five-dokumentationen, som tillader kontrol over 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 fungerer.
Vi bruger Eclipse IDE 8 Eclipse Tastaturgenveje, der er vigtige for begyndere 8 Eclipse Tastaturgenveje, der er vigtige for begyndere Så nybegynder som Eclipse IDE (interface) er, skylder du dig selv at lære disse tastaturgenveje. til kodning i dag, skønt du kan bruge en hvilken som helst IDE eller teksteditor Teksteditorer vs. IDE'er: Hvilken af dem er bedre for programmerere? Tekstredaktører vs. IDE'er: Hvilken af dem er bedre for programmerere? Det kan være svært at vælge mellem en avanceret IDE og en enklere teksteditor. Vi tilbyder en vis indsigt for at hjælpe dig med at tage denne beslutning. til dette projekt.
Opret en ny fil og navng den test.js, og gem den et sted, hvor du let kan få adgang til fra kommandolinjen senere. Scriptet starter med at oprette variabler til de krævede biblioteker og initialisere Tastetryk bibliotek for at lytte til indkommende data sammen med at ringe til Bestyrelse() metode til opsætning af bestyrelsen.
var five = kræver ("johnny-five"); var tastetryk = kræver ("tastetryk"); tastetryk (process.stdin); var bord = nyt fem. Bord ();
Bemærk, at kortopsætningen her er automatisk, ikke nødvendigt at specificere porte. Hvis du har en bestemt portopsætning, eller bare ikke har held med auto-detekteringen, skal du muligvis angive din port eksplicit.
Næste gang vil vi gerne “Vågn op” vores bord og indstil det til servokontrol. Det board.on opkald venter, indtil Arduino-stifterne er klar, inden de går videre. Johnny-five-biblioteket har support til indbyggede servoer, og vi ringer til Servo.Continuous (10) på pin 10 for at tillade direkte kontrol.
board.on ("klar", funktion () console.log ("Brug pil op og ned til henholdsvis CW og CCW. Plads til at stoppe."); var servo = new five.Servo.Continuous (10); proces. stdin.resume (); process.stdin.setEncoding ("utf8"); process.stdin.setRawMode (sand);
Det process.stdin opkald, der sikrer, at alle de data, vi modtager fra tastaturet, kan bruges i den næste kode. Nu vil vi gerne “Lyt” til tastetryk og brug dem til at flytte vores servo med uret (CW), mod uret (CCW) eller til at stoppe i dens spor.
process.stdin.on ("tastetryk", funktion (ch, tast) hvis (! -tasten) // hvis der ikke trykkes på ingen tast, skal du returnere dvs. ikke gøre noget. return; if (tast.navn === "q" ) console.log ("Quitting"); process.exit (); andet hvis (key.name === "up") console.log ("CW"); servo.cw (); andet hvis (key.name === "down") console.log ("CCW"); servo.ccw (); andet hvis (key.name === "space") console.log ("Stop") ; servo.stop ();); );
Sørg for at medtage alle lukkebeslagene nederst her, og henvis til hele kodeblokken som linket ovenfor, hvis du får fejl. Gem dette script, og åbn kommandoprompten.
Vinker Hej!
Naviger nu til det bibliotek, du har gemt dit script i, og kør det ved at skrive:
node test.js
Programmet skal starte med det samme med information om tavlen, inden du giver dig instruktionerne i koden. Prøv at trykke på op og ned piletasterne, og mellemrumstasten og Q at afslutte. Skærmen skal se sådan ud:
Og alt sammen med det, bør servoen danse til dine tastetryk! Se på den lille beastie-bølge!
Ydmyge begyndelser
På trods af at tage et lidt mere ambitiøst projekt end den sædvanlige blinkende LED-tutorial, har vi næppe engang berørt det fulde omfang af, hvad der kan gøres med Arduino-tavler og lignende mikrokontrollere..
Krydret JavaScript-brugere skal finde Johnny-Five-pakken intuitiv at arbejde med. Biblioteket kan også installeres på Raspberry Pi indfødt, hvilket gør det til den perfekte pakke til spirende robotbyggere.
Den fantastiske ting 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-smarte hjemmeopsætninger DIY Smart Home-sensorer med Arduino, MySensors og OpenHAB DIY Smart Home Sensors med Arduino, MySensors og OpenHAB smarthedssensorer koster en latterlig mængde penge. Kabelføring af et helt hus er domænet for dem med fjollede disponible indkomstbeløb. Lad os bygge vores egne med MySensors. 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 lock ved hjælp af en Arduino som rygraden og et par billige komponenter. .
Kommunikation med mikrokontrollere på denne måde er en fantastisk introduktion til verdenen 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 bygger en morder robot, skal du huske, hvordan vi hjalp dig i de tidlige dage.