Komme i gang med Arduino: En nybegynnerguide

Komme i gang med Arduino: En nybegynnerguide

Arduino er en åpen kildekode-elektronikk-prototypeplattform, og den er en av de mest populære i verden-med mulig unntak av Raspberry Pi. Etter å ha solgt over 3 millioner enheter (og mange flere i form av tredjeparts kloneenheter): hva gjør det så bra, og hva kan du gjøre med en?





Hva er Arduino?

Arduino er basert på brukervennlig, fleksibel, maskinvare og programvare. Den er laget for kunstnere, designere, ingeniører, hobbyister og alle med den minste interesse for programmerbar elektronikk.





Arduino sanser miljøet ved å lese data fra forskjellige knapper, komponenter og sensorer. De kan påvirke miljøet ved å kontrollere lysdioder, motorer , servoer, reléer og mye mer.





Arduino-prosjekter kan være frittstående, eller de kan kommunisere med programvare som kjører på en datamaskin ( Behandling er den mest populære programvaren for dette). De kan snakke med andre Arduinos, Raspberry Pis, NodeMCU eller nesten alt annet. Sørg for å lese vår sammenligning av $ 5 mikrokontrollere for en grundig sammenligning av forskjellene mellom disse mikrokontrollerne.

Du spør kanskje, hvorfor velge Arduino? Arduino forenkler virkelig prosessen med å bygge et programmerbart elektronikkprosjekt, noe som gjør det til en flott plattform for nybegynnere. Du kan enkelt begynne å jobbe med en uten tidligere elektronikkerfaring. Det er tusenvis av opplæringsprogrammer tilgjengelig, og disse varierer i vanskeligheter, så du kan være sikker på en utfordring når du mestrer det grunnleggende.



I tillegg til Arduinos enkelhet, er det også billig, plattformplattform og åpen kildekode. Arduino Uno (den mest populære modellen) er basert på Atmels ATMEGA 16U2 mikrokontrollere. Det er mange forskjellige modeller produsert, som varierer i størrelse, kraft og spesifikasjoner, så ta en titt på vår kjøpsguide for alle forskjellene.

Planene for styrene er publisert under a Creative Commons lisens, så er erfarne hobbyfolk og andre produsenter fritt til å lage sin egen versjon av Arduino, muligens utvide den og forbedre den (eller rett og slett kopiere den, noe som fører til spredning av rimelige Arduino -brett vi finner i dag).





Hva kan du gjøre med en Arduino?

En Arduino kan gjøre svimlende mange ting. De er hjernen til valg for de fleste 3D -skrivere. De lave kostnadene og brukervennligheten betyr at tusenvis av produsenter, designere, hackere og skapere har laget fantastiske prosjekter. Her er bare noen av Arduino -prosjektene vi har laget her på MakeUseOf:

Hva er inne i en Arduino?

Selv om det er mange forskjellige typer Arduino -plater tilgjengelig, fokuserer denne håndboken på Arduino uno modell. Dette er det mest populære Arduino -brettet rundt. Så hva får denne tingen til å krysse av? Her er spesifikasjonene:





  • Prosessor: 16 Mhz ATmega16U2
  • Flashminne: 32KB
  • RAM: 2KB
  • Driftsspenning: 5V
  • Inngangsspenning: 7-12V
  • Antall analoge innganger: 6
  • Antall digitale I/O: 14 (6 av dem pulsbreddemodulasjon - PWM )

Spesifikasjonene kan virke som søppel sammenlignet med din stasjonære datamaskin, men husk at Arduino er en innebygd enhet, med mye mindre informasjon å behandle enn skrivebordet ditt. Det er mer enn i stand til de fleste elektronikkprosjekter.

En annen flott egenskap ved Arduino er muligheten til å bruke det som kalles 'skjold', eller tilleggstavler. Selv om skjold ikke vil bli dekket i denne håndboken, er de en veldig fin måte å utvide funksjonene og funksjonaliteten til din Arduino.

Hva du trenger for denne guiden

Nedenfor finner du en handleliste over komponentene du trenger for denne nybegynnerguiden. Alle disse komponentene bør komme under $ 50 totalt. Denne oppføringen bør være nok til å gi deg en god forståelse av grunnleggende elektronikk og ha nok komponenter til å bygge noen ganske kule prosjekter ved hjelp av denne eller en annen Arduino -guide. Hvis du ikke vil velge hver komponent, kan du vurdere å kjøpe et startsett i stedet.

Hvis du ikke kan få en bestemt motstandsverdi, vil noe så nært som mulig vanligvis fungere fint.

Oversikt over elektriske komponenter

La oss se på hva alle disse komponentene er, hva de gjør og hvordan de ser ut.

Brødbrett

De brukes til å prototype elektroniske kretser, og gir et midlertidig middel til å koble komponenter sammen. Brødbrett er plastblokker med hull i, som ledninger kan settes inn i. Hullene er ordnet i rader, i grupper på fem. Når du vil omorganisere en krets, trekker du ledningen eller delen ut av hullet og flytter den. Mange brødbrett inneholder to eller fire grupper hull som strekker seg langs brettet langs sidene, og er alle sammenkoblet - disse er vanligvis for strømfordeling og kan være merket med en rød og blå linje.

Brødbrett er utmerket for å raskt lage en krets. De kan bli veldig rotete for en stor krets, og billigere modeller kan være notorisk upålitelige, så det er verdt å bruke litt mer penger på en god.

Lysdioder

LED står for Lysemitterende diode . De er en veldig billig lyskilde, og kan være veldig lyse - spesielt når de er gruppert sammen. De kan kjøpes i en rekke farger, blir ikke spesielt varme og varer lenge. Du kan ha lysdioder i TV -en, bilens dashbord eller i Philips Hue -pærene.

Arduino-mikrokontrolleren din har også en innebygd LED på pin 13 som ofte brukes til å indikere en handling eller hendelse, eller bare for testing.

Foto motstand

En fotomotstand ( s hotocell eller Lysavhengig motstand ) lar Arduino måle lysendringer. Du kan for eksempel bruke denne til å slå på datamaskinen din når det er dagslys.

Taktil bryter

åpne .jar -filer windows 10

En taktil bryter er i utgangspunktet en knapp. Trykk på den for å fullføre kretsen, og (vanligvis) endres fra 0V til +5V. Arduinos kan oppdage denne endringen og svare deretter. Disse er ofte øyeblikks - noe som betyr at de bare blir 'presset' når fingeren holder dem nede. Når du gir slipp, går de tilbake til standardtilstanden ('ikke trykket' eller av).

Piezo høyttaler

En piezo -høyttaler er en liten liten høyttaler som produserer lyd fra elektriske signaler. De er ofte harde og tynne, og høres ingenting ut som en ekte høyttaler. Når det er sagt, er de veldig billige og enkle å programmere. Vårt Buzz Wire Game bruker en til å spille Monty Python 'Flying Circus' temasang .

Motstand

En motstand begrenser strømmen av elektrisitet. De er veldig billige komponenter, og en stift av både amatører og profesjonelle elektroniske kretser. De er nesten alltid påkrevd for å beskytte komponenter mot overbelastning. De er også nødvendige for å forhindre kortslutning hvis Arduino +5V kobles rett i bakken. Kort sagt: veldig praktisk og helt avgjørende.

Jumper Wires

Jumperkabler brukes til å opprette midlertidige forbindelser mellom komponenter på brødbrettet.

Sette opp din Arduino

Før du starter et prosjekt, må du få Arduino til å snakke med datamaskinen din. Dette lar deg skrive og kompilere kode for Arduino å utføre, samt gi en måte for Arduino å jobbe sammen med datamaskinen din.

Installere Arduino -programvarepakken på Windows

Gå til Arduino nettsted og last ned en versjon av Arduino -programvaren som passer for din versjon av Windows. Når du er lastet ned, følger du instruksjonene for å installere Arduino Integrert utviklingsmiljø (HER).

Installasjonen inkluderer drivere, så i teorien bør du være flink å gå med en gang. Hvis det av en eller annen grunn mislykkes, kan du prøve disse trinnene for å installere driverne manuelt:

  • Koble til brettet og vent til Windows starter driverinstallasjonsprosessen. Etter noen få øyeblikk vil prosessen mislykkes, til tross for sin beste innsats.
  • Klikk på Startmeny > Kontrollpanel .
  • Navigere til System og sikkerhet > System . Når systemvinduet er oppe, åpner du Enhetsbehandling .
  • Under Havner (COM & LPT), bør du se en åpen port som heter Arduino UNO (COMxx) .
  • Høyreklikk på Arduino UNO (COMxx) > Oppdater driverprogramvare .
  • Velge Bla gjennom datamaskinen min for driverprogramvare .
  • Naviger til og velg Unos driverfil, navngitt ArduinoUNO.inf , som ligger i Drivere nedlasting av Arduino -programvaren.

Windows vil fullføre driverinstallasjonen derfra.

Installere Arduino -programvarepakken på Mac OS

Last ned Arduino -programvaren for Mac fra Arduino nettsted . Trekk ut innholdet i .glidelås fil og kjør appen. Du kan kopiere den til applikasjonsmappen din, men den kjører helt fint fra din skrivebordet eller nedlastinger mapper. Du trenger ikke å installere flere drivere for Arduino UNO.

Installere Arduino -programvaren på pakken Ubuntu/Linux

Installere gcc-avr og avr-libc :

sudo apt-get install gcc-avr avr-libc

Hvis du ikke allerede har openjdk-6-jre, må du installere og konfigurere det også:

sudo apt-get install openjdk-6-jre
sudo update-alternatives --config java

Velg riktig JRE hvis du har mer enn en installert.

Gå til Arduino nettsted og last ned Arduino -programvaren for Linux. Du kan spre og kjør den med følgende kommando:

tar xzvf arduino-x.x.x-linux64.tgz
cd arduino-1.0.1
./arduino

Uansett hvilket operativsystem du kjører, antar instruksjonene ovenfor at du har et originalt, merket Arduino Uno -kort. Hvis du kjøpte en klon, trenger du nesten helt sikkert tredjepartsdrivere før kortet blir gjenkjent via USB.

Kjører Arduino -programvaren

Nå som programvaren er installert og Arduino er konfigurert, la oss bekrefte at alt fungerer. Den enkleste måten å gjøre dette på er å bruke prøveprogrammet 'Blink'.

Åpne Arduino-programvaren ved å dobbeltklikke på Arduino-applikasjonen ( ./arduino på Linux ). Kontroller at kortet er koblet til datamaskinen, og åpne deretter LED blinker eksempel skisse: Fil > Eksempler > 1. grunnleggende > Blinke . Du bør se koden for programmet åpen:

For å laste opp denne koden til din Arduino, velg oppføringen i Verktøy > Borde menyen som tilsvarer din modell - Arduino uno i dette tilfellet.

Velg den serielle enheten på kortet ditt fra Verktøy > Seriell port Meny. På Windows er dette sannsynligvis COM3 eller høyere. På Mac eller Linux burde dette være noe med /dev/tty.usbmodem i det.

Til slutt klikker du på Laste opp -knappen øverst til venstre i miljøet. Vent noen sekunder, og du bør se RX og TX Lysdioder på Arduino blinker. Hvis opplastingen er vellykket, vises meldingen 'Ferdig opplasting' på statuslinjen.

Noen sekunder etter at opplastingen er fullført, bør du se pinne 13 LED på tavlen begynner å blinke. Gratulerer! Du har Arduinoen din i gang.

Startprosjekter

Nå som du kjenner det grunnleggende, la oss se på noen nybegynnerprosjekter.

Du brukte tidligere Arduino-prøvekoden til å blinke den innebygde LED-en. Dette prosjektet vil blinke en ekstern LED med et brødbrett. Her er kretsen:

Koble det lange benet til LED -en (positivt ben, kalt anode ) til a 220 Ohm motstand og deretter til digital pinne 7 . Koble det korte benet (det negative beinet, kalt katode ) direkte til bakke (hvilken som helst av Arduino -portene med GND på, ditt valg). Dette er en enkel krets. Arduino kan kontrollere denne pinnen digitalt. Når du slår på pinnen, lyser LED -en, og når du slår den av, slås LED -en av. Motstanden er nødvendig for å beskytte LED -en mot for mye strøm - den brenner ut uten en.

Her er koden du trenger:

void setup() {
// put your setup code here, to run once:
pinMode(7, OUTPUT); // configure the pin as an output
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(7, HIGH); // turn LED on
delay(1000); // wait 1 second
digitalWrite(7, LOW); // turn LED off
delay(1000); // wait one second
}

Denne koden gjør flere ting:

ugyldig oppsett (): Dette drives av Arduino en gang hver gang den starter. Det er her du kan konfigurere variabler og alt Arduino trenger for å kjøre.

pinMode (7, OUTPUT): Dette forteller Arduino å bruke denne pinnen som en utgang, uten denne linjen ville Arduino ikke vite hva de skulle gjøre med hver pinne. Dette trenger bare å konfigureres en gang per pin, og du trenger bare å konfigurere pins du har tenkt å bruke.

void loop (): Enhver kode inne i denne sløyfen kjøres gjentatte ganger om og om igjen, til Arduino er slått av. Dette kan gjøre større prosjekter mer komplekse, men det fungerer utrolig bra for enkle prosjekter.

digitalWrite (7, HIGH): Dette brukes til å sette pinnen HØY eller LAV - eller AV . På samme måte som en lysbryter, når pinnen er HØY, vil LED -en være på. Når pinnen er LAV, vil lysdioden være slukket. Inne i parentesene må du spesifisere litt tilleggsinformasjon for at dette skal fungere korrekt. Tilleggsinformasjon er kjent som parametere eller argumenter.

Den første (7) er pin -nummeret. Hvis du for eksempel har koblet LED -en til en annen pin, vil du endre dette fra syv til et annet nummer. Den andre parameteren må være HØY eller LAV , som angir om LED -en skal slås på eller av.

forsinkelse (1000): Den forteller Arduino om å vente i en bestemt tid i millisekunder. 1000 millisekunder er lik ett sekund, så dette får Arduino til å vente ett sekund.

Når lysdioden har blitt slått på i ett sekund, kjører Arduino deretter den samme koden, bare den fortsetter å slå av LED -en og vente et sekund til. Når denne prosessen er fullført, starter sløyfen igjen, og lysdioden slås på igjen.

Utfordring: Prøv å justere tidsforsinkelsen mellom å slå LED -en på og av. Hva observerer du? Hva skjer hvis du setter forsinkelsen til et veldig lite tall, for eksempel en eller to? Kan du endre koden og kretsen for å blinke to Lysdioder?

Legger til en knapp

Nå som du har en LED som fungerer, la oss legge til en knapp i kretsen din:

Koble til knappen slik at den er en bro mellom kanalen midt på brødbrettet. Koble til øverst til høyre bein til Pin 4 . Koble til Nede til høyre bein til a 10k Ohm motstand og deretter til bakke . Koble til nede til venstre bein til 5V .

Du lurer kanskje på hvorfor en enkel knapp trenger en motstand. Dette tjener to formål. Det er en trekke ned motstand - den binder pinnen til bakken. Dette sikrer at ingen falske verdier oppdages, og forhindrer Arduino tenker du trykket på knappen når du ikke gjorde det. Det andre formålet med denne motstanden er som en strømbegrensning. Uten den ville 5V gå direkte i bakken magisk røyk ville bli utgitt, og din Arduino ville dø. Dette er kjent som en kortslutning, så bruk av en motstand forhindrer at dette skjer.

Når knappen ikke trykkes, oppdager Arduino bakken ( pinne 4 > motstand > bakke ). Når du trykker på knappen, kobles 5V til bakken. Arduino pin 4 kan oppdage denne endringen, siden pin 4 nå har endret seg fra bakken til 5V;

Her er koden:

boolean buttonOn = false; // store the button state
void setup() {
// put your setup code here, to run once:
pinMode(7, OUTPUT); // configure the LED as an output
pinMode(4, INPUT); // configure the button as an input
}
void loop() {
// put your main code here, to run repeatedly:
if(digitalRead(4)) {
delay(25);
if(digitalRead(4)) {
// if button was pressed (and was not a spurious signal)
if(buttonOn)
// toggle button state
buttonOn = false;
else
buttonOn = true;
delay(500); // wait 0.5s -- don't run the code multiple times
}
}
if(buttonOn)
digitalWrite(7, LOW); // turn LED off
else
digitalWrite(7, HIGH); // turn LED on
}

Denne koden bygger på det du lærte i forrige seksjon. Maskinvareknappen du har brukt er en øyeblikks handling. Dette betyr at det bare fungerer mens du holder det nede. Alternativet er a låsing handling. Dette er akkurat som lyset eller kontaktene, trykk én gang for å slå på, trykk igjen for å slå av. Heldigvis kan en låseoppførsel implementeres i kode. Her er hva tilleggskoden gjør:

boolsk buttonOn = false: Denne variabelen brukes til å lagre tilstanden til knappen - PÅ eller AV, HØY eller LAV. Den er gitt en standardverdi på usann.

pinMode (4, INNGANG): I likhet med koden som ble brukt for LED -en, forteller denne linjen Arduinoen at du har koblet en inngang (knappen) til pin 4.

if (digitalRead (4)): På lignende måte som digitalWrite () , digitalRead () brukes til å lese tilstanden til en pinne. Du må gi den et pin -nummer (4, for knappen din).

Når du har trykket på knappen, venter Arduino 25 ms og sjekker knappen igjen. Dette er kjent som en nedbryting av programvare . Dette sikrer at det Arduino tror var et knappetrykk, egentlig var et knappetrykk, og ikke støy. Du trenger ikke gjøre dette, og i de fleste tilfeller vil ting fungere fint uten det. Det er mer en beste praksis.

Hvis Arduino er sikker på at du virkelig trykket på knappen, endrer den verdien på knapp På variabel. Dette skifter staten:

ButtonOn er sant: Sett til false.

ButtonOn er usann: Sett til true.

Til slutt slås LED -en av i henhold til tilstanden som er lagret i knapp På .

Lyssensor

La oss gå videre til et avansert prosjekt. Dette prosjektet vil bruke en Lysavhengig motstand (LDR) for å måle mengden lys som er tilgjengelig. Arduino vil deretter fortelle datamaskinen din nyttige meldinger om det gjeldende lysnivået.

hvorfor kjører Firefox så sakte

Her er kretsen:

Siden LDR er en type motstand, spiller det ingen rolle hvilken vei de plasseres - de har ikke en polaritet. Koble 5V til den ene siden av LDR. Koble den andre siden til bakke via en 1k Ohm motstand. Koble også denne siden til analog inngang 0 .

Denne motstanden virker som en nedtrekksmotstand, akkurat som i de tidligere prosjektene. En analog pin er nødvendig, ettersom LDR er analoge enheter, og disse pinnene inneholder spesielle kretser for nøyaktig lesing av analog maskinvare.

Her er koden:

int light = 0; // store the current light value
void setup() {
// put your setup code here, to run once:
Serial.begin(9600); //configure serial to talk to computer
}
void loop() {
// put your main code here, to run repeatedly:
light = analogRead(A0); // read and save value from LDR

//tell computer the light level
if(light <100) {
Serial.println('It is quite light!');
}
else if(light > 100 && light <400) {
Serial.println('It is average light!');
}
else {
Serial.println('It is pretty dark!');
}
delay(500); // don't spam the computer!
}

Denne koden gjør noen nye ting:

Serial.begin (9600): Dette forteller Arduino at du vil kommunisere over serie med en hastighet på 9600. Arduinoen vil forberede alt som er nødvendig for dette. Prisen er ikke så viktig, men både Arduino og datamaskinen må bruke den samme.

analogRead (A0): Dette brukes til å lese verdien som kommer fra LDR. En lavere verdi betyr at det er mer lys tilgjengelig.

Serial.println (): Dette brukes til å skrive tekst til det serielle grensesnittet.

Det enkle hvis statement sender forskjellige strenger (tekst) til datamaskinen din, avhengig av tilgjengelig lys.

Last opp denne koden og hold USB -kabelen tilkoblet (slik vil Arduino kommunisere, og hvor strømmen kommer fra). Åpne den serielle skjermen ( Øverst til høyre > Seriell skjerm ), Bør du se meldingene dine komme hvert 0,5 sekund.

Hva observerer du? Hva skjer hvis du dekker LDR eller skinner et sterkt lys på den? Kan du endre koden for å skrive ut verdien til LDR over seriell?

Lag noe støy

Dette prosjektet bruker Piezo -høyttaleren til å lage lyder. Her er kretsen:

Merker du noe kjent? Denne kretsen er nesten nøyaktig den samme som LED -prosjektet. Piezoer er veldig enkle komponenter - de lager en lyd når de får et elektrisk signal. Koble til positiv bein til digital pinne 9 via en 220 Ohm motstand. Koble til negativ bein til bakke .

Her er koden, det er veldig enkelt for dette prosjektet:

void setup() {
// put your setup code here, to run once:
pinMode(9, OUTPUT); // configure piezo as output
}
void loop() {
// put your main code here, to run repeatedly:
tone(9, 1000); // make piezo buzz
delay(1000); // wait 1s
noTone(9); // stop sound
delay(1000); // wait 1s
}

Det er bare noen få nye kodefunksjoner her:

tone (9, 1000): Dette får piezo til å generere en lyd. Det krever to argumenter. Den første er tappen som skal brukes, og den andre er tonenes frekvens.

noTone (9): Dette slutter å produsere noen lyd på den medfølgende pinnen.

Prøv å endre denne koden for å produsere en annen frekvens. Endre forsinkelsen til 1 ms - hva merker du?

Hvor skal du gå Herfra

Som du kan se, er Arduino en enkel måte å komme inn på elektronikk og programvare. Det er en av de beste mikrokontrollerne for nybegynnere. Forhåpentligvis har du sett at det er enkelt å bygge enkle elektroniske prosjekter med Arduino. Du kan bygge langt mer komplekse prosjekter når du forstår de grunnleggende:

  • Lag julelyspynt
  • Arduino Shields for å overmakte prosjektet ditt
  • Bygg ditt eget pongspill med en Arduino
  • Koble Arduino til internett
  • Lag et hjemmeautomatiseringssystem med Arduino

Hvilken Arduino eier du? Er det noen morsomme prosjekter du liker å lage? For mer, ta en titt på hvordan du kan forbedre Arduino -kodingen din med VS Code og PlatformIO.

Dele Dele kvitring E -post 15 Windows -kommandoprompt (CMD) -kommandoer du må vite

Kommandoprompten er fremdeles et kraftig Windows -verktøy. Her er de mest nyttige CMD -kommandoene hver Windows -bruker trenger å vite.

Les neste
Relaterte temaer
  • DIY
  • Arduino
  • Elektronikk
Om forfatteren Joe Coburn(136 artikler publisert)

Joe er utdannet innen informatikk fra University of Lincoln, Storbritannia. Han er en profesjonell programvareutvikler, og når han ikke flyr droner eller skriver musikk, kan han ofte bli funnet å ta bilder eller produsere videoer.

Mer fra Joe Coburn

Abonner på vårt nyhetsbrev

Bli med i vårt nyhetsbrev for tekniske tips, anmeldelser, gratis ebøker og eksklusive tilbud!

Klikk her for å abonnere