Kom godt i gang med Arduino: En begyndervejledning

Kom godt i gang med Arduino: En begyndervejledning

Arduino er en open-source elektronik-prototypeplatform, og den er en af ​​de mest populære i verden-med mulig undtagelse af Raspberry Pi. Efter at have solgt over 3 millioner enheder (og mange flere i form af tredjeparts klonenheder): hvad gør det så godt, og hvad kan du gøre med et?





Hvad er Arduino?

Arduino er baseret på let at bruge, fleksibel, hardware og software. Det er lavet til kunstnere, designere, ingeniører, hobbyfolk og alle med den mindste interesse for programmerbar elektronik.





Arduino fornemmer miljøet ved at læse data fra forskellige knapper, komponenter og sensorer. De kan påvirke miljøet ved at styre lysdioder, motorer , servoer, relæer og meget mere.





Arduino-projekter kan være enkeltstående, eller de kan kommunikere med software, der kører på en computer ( Forarbejdning er den mest populære software til dette). De kan tale med andre Arduinos, Raspberry Pis, NodeMCU eller næsten alt andet. Sørg for at læse vores sammenligning af $ 5 mikrokontrollere for en grundig sammenligning af forskellene mellem disse mikrokontroller.

Du spørger måske, hvorfor vælge Arduino? Arduino forenkler virkelig processen med at bygge et programmerbart elektronikprojekt, hvilket gør det til en fantastisk platform for begyndere. Du kan nemt begynde at arbejde på en uden tidligere elektronikoplevelse. Der er tusinder af tutorials til rådighed, og disse varierer i sværhedsgrad, så du kan være sikker på en udfordring, når du mestrer det grundlæggende.



Ud over Arduinos enkelhed er den også billig, tværplatform og open source. Arduino Uno (den mest populære model) er baseret på Atmels ATMEGA 16U2 mikrokontroller. Der produceres mange forskellige modeller, som varierer i størrelse, effekt og specifikationer, så tag et kig på vores købsguide for alle forskellene.

Planerne for bestyrelserne offentliggøres under a Kreative fællesheder licens, så erfarne hobbyfolk og andre producenter kan frit lave deres egen version af Arduino, muligvis forlænge den og forbedre den (eller bare kopiere den direkte, hvilket fører til spredning af billige Arduino -tavler, vi finder i dag).





Hvad kan du gøre med en Arduino?

En Arduino kan gøre svimlende mange ting. De er hjernen i valg for de fleste 3D -printere. Deres lave omkostninger og brugervenlighed betyder, at tusinder af producenter, designere, hackere og skabere har lavet fantastiske projekter. Her er blot nogle af de Arduino -projekter, vi har lavet her på MakeUseOf:

Hvad er der inde i en Arduino?

Selvom der findes mange forskellige typer Arduino -tavler, fokuserer denne manual på Arduino uno model. Dette er det mest populære Arduino -bord. Så hvad får denne ting til at krydse af? Her er specifikationerne:





  • Processor: 16 Mhz ATmega16U2
  • Glimtvis erindring: 32KB
  • Vædder: 2KB
  • Driftsspænding: 5V
  • Indgangsspænding: 7-12V
  • Antal analoge indgange: 6
  • Antal digitale I/O: 14 (6 af dem Pulse Width Modulation - PWM )

Specifikationerne kan virke som vrøvl i forhold til din stationære computer, men husk, at Arduino er en integreret enhed, med meget mindre information at behandle end din stationære computer. Det er mere end i stand til de fleste elektronikprojekter.

En anden vidunderlig egenskab ved Arduino er evnen til at bruge det, der kaldes 'skjolde' eller add-on boards. Selvom skjolde ikke vil blive dækket i denne vejledning, er de en virkelig pæn måde at udvide funktionerne og funktionaliteten på din Arduino.

Hvad skal du bruge til denne vejledning

Nedenfor finder du en indkøbsliste over de komponenter, du skal bruge til denne begynderguide. Alle disse komponenter skulle komme under $ 50 i alt. Denne fortegnelse burde være nok til at give dig en god forståelse af grundlæggende elektronik og have nok komponenter til at bygge nogle ret fede projekter ved hjælp af denne eller enhver anden Arduino -guide. Hvis du ikke ønsker at vælge hver komponent, kan du i stedet overveje at købe et startsæt.

Hvis du ikke kan få en bestemt modstandsværdi, vil noget så tæt som muligt normalt fungere fint.

Oversigt over elektriske komponenter

Lad os se på, hvad alle disse komponenter er, hvad de gør, og hvordan de ser ud.

Brødbræt

De bruges til at prototype elektroniske kredsløb og giver et midlertidigt middel til at forbinde komponenter sammen. Brødbrætter er blokke af plast med huller i, som ledninger kan indsættes i. Hullerne er arrangeret i rækker, i grupper på fem. Når du vil omarrangere et kredsløb, skal du trække ledningen eller delen ud af hullet og flytte den. Mange brødbrætter indeholder to eller fire grupper af huller, der løber langs brættet langs siderne, og er alle forbundet - disse er typisk til strømfordeling og kan være mærket med en rød og blå linje.

Brødbrætter er fremragende til hurtigt at producere et kredsløb. De kan blive meget rodet for et stort kredsløb, og billigere modeller kan være notorisk upålidelige, så det er værd at bruge lidt flere penge på en god.

LED'er

LED står for Lysdiode . De er en meget billig lyskilde og kan være meget lyse - især når de er grupperet sammen. De kan købes i forskellige farver, bliver ikke særlig varme og holder længe. Du har muligvis lysdioder i dit fjernsyn, bilens instrumentbræt eller i dine Philips Hue -pærer.

Din Arduino mikrokontroller har også en indbygget LED på pin 13, der ofte bruges til at indikere en handling eller begivenhed, eller bare til test.

Foto modstand

En fotomodstand ( s. s hotocelle eller Lysafhængig modstand ) giver din Arduino mulighed for at måle ændringer i lyset. Du kan f.eks. Bruge denne til at tænde din computer, når det er dagslys.

Taktil kontakt

hvordan man åbner en PayPal -konto for at modtage penge

En taktil kontakt er dybest set en knap. Hvis du trykker på det, fuldføres kredsløbet og ændres (normalt) fra 0V til +5V. Arduinos kan opdage denne ændring og reagere i overensstemmelse hermed. Disse er ofte momentan - hvilket betyder, at de kun 'trykkes', når din finger holder dem nede. Når du slipper, vender de tilbage til deres standardtilstand ('ikke-trykket' eller slukket).

Piezo højttaler

En piezo -højttaler er en lillebitte højttaler, der producerer lyd fra elektriske signaler. De er ofte barske og tynde og lyder ikke som en rigtig højttaler. Når det er sagt, er de meget billige og nemme at programmere. Vores Buzz Wire Game bruger en til at spille Monty Python 'Flying Circus' temasang .

Modstand

En modstand begrænser strømmen af ​​elektricitet. De er meget billige komponenter og en fast bestanddel af amatører og professionelle elektroniske kredsløb. De er næsten altid påkrævet for at beskytte komponenter mod overbelastning. De er også nødvendige for at forhindre en kortslutning, hvis Arduino +5V forbindes lige i jorden. Kort sagt: meget praktisk og helt afgørende.

Jumper Wires

Jumperwires bruges til at oprette midlertidige forbindelser mellem komponenter på dit brødbræt.

Opsætning af din Arduino

Inden du starter et projekt, skal du få din Arduino til at tale med din computer. Dette giver dig mulighed for at skrive og kompilere kode for Arduino til at udføre, samt give en måde for din Arduino at arbejde sammen med din computer.

Installation af Arduino -softwarepakken på Windows

Gå over til Arduino websted og download en version af Arduino -softwaren, der passer til din version af Windows. Når du er downloadet, skal du følge instruktionerne for at installere Arduino Integreret udviklingsmiljø (HER).

Installationen inkluderer drivere, så i teorien bør du være god til at gå med det samme. Hvis det af en eller anden grund ikke lykkes, kan du prøve disse trin for at installere driverne manuelt:

  • Tilslut dit bord, og vent på, at Windows starter driverinstallationsprocessen. Efter et øjeblik vil processen mislykkes på trods af dens bedste indsats.
  • Klik på Start -menu > Kontrolpanel .
  • Naviger til System og sikkerhed > System . Når systemvinduet er åbnet, skal du åbne Enhedshåndtering .
  • Under Havne (COM & LPT), skal du se en åben port med navnet Arduino UNO (COMxx) .
  • Højreklik på Arduino UNO (COMxx) > Opdater driversoftware .
  • Vælge Gennemse min computer efter driversoftware .
  • Naviger til og vælg Unos driverfil, navngivet ArduinoUNO.inf , der ligger i Chauffører mappe med Arduino Software download.

Windows afslutter driverinstallationen derfra.

Installation af Arduino -softwarepakken på Mac OS

Download Arduino -softwaren til Mac fra Arduino websted . Uddrag indholdet af .zip fil og kør appen. Du kan kopiere det til din applikationsmappe, men det kører fint fra din skrivebord eller Downloads mapper. Du behøver ikke at installere yderligere drivere til Arduino UNO.

Installation af Arduino -softwaren 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, skal du også installere og konfigurere det:

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

Vælg den korrekte JRE hvis du har mere end en installeret.

Gå til Arduino websted og download Arduino -softwaren til Linux. Du kan spredning og kør det med følgende kommando:

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

Uanset hvilket operativsystem du kører, forudsætter instruktionerne ovenfor, at du har et originalt, mærket Arduino Uno -kort. Hvis du har købt en klon, har du næsten helt sikkert brug for tredjepartsdrivere, før kortet genkendes via USB.

Kører Arduino -softwaren

Nu hvor softwaren er installeret og din Arduino er konfigureret, lad os kontrollere, at alt fungerer. Den nemmeste måde at gøre dette på er ved at bruge prøveprogrammet 'Blink'.

Åbn Arduino-softwaren ved at dobbeltklikke på Arduino-applikationen ( ./arduino på Linux ). Sørg for, at kortet er sluttet til din computer, og åbn derefter LED blinker eksempel skitse: Fil > Eksempler > 1. grundlæggende > Blinke . Du bør se koden til applikationen åben:

For at uploade denne kode til din Arduino skal du vælge posten i Værktøjer > Bestyrelse menu, der svarer til din model - Arduino uno I dette tilfælde.

Vælg den serielle enhed på dit kort fra Værktøjer > Serie Port menu. I Windows er dette sandsynligvis COM3 eller højere. På Mac eller Linux burde dette være noget med /dev/tty.usbmodem i det.

Klik til sidst på Upload knappen øverst til venstre i dit miljø. Vent et par sekunder, og du skal se RX og TX LED'er på Arduino blinker. Hvis overførslen er vellykket, vises meddelelsen 'Udført upload' på statuslinjen.

Et par sekunder efter upload er færdig, skal du se pin 13 LED på tavlen begynder at blinke. Tillykke! Du har din Arduino i gang.

Starter -projekter

Nu hvor du kender det grundlæggende, lad os se på nogle nybegynderprojekter.

Du har tidligere brugt Arduino-prøvekoden til at blinke den indbyggede LED. Dette projekt vil blinke en ekstern LED ved hjælp af et brødbræt. Her er kredsløbet:

Tilslut LED's lange ben (positivt ben, kaldet anode ) til a 220 Ohm modstand og derefter til digital pin 7 . Tilslut det korte ben (negativt ben, kaldet katode ) direkte til jord (enhver af Arduino -portene med GND på, dit valg). Dette er et simpelt kredsløb. Arduino kan digitalt styre denne pin. Hvis du tænder for stiften, lyser LED'en, slukker den, slukker LED'en. Modstanden er nødvendig for at beskytte LED'en mod for meget strøm - den brænder ud uden en.

Her er den kode, du har brug for:

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 kode gør flere ting:

void setup (): Dette køres af Arduino en gang hver gang det starter. Det er her, du kan konfigurere variabler og alt, hvad din Arduino skal køre.

pinMode (7, OUTPUT): Dette fortæller Arduino at bruge denne pin som output, uden denne linje ville Arduino ikke vide, hvad de skulle gøre med hver pin. Dette skal kun konfigureres en gang pr. Pin, og du behøver kun at konfigurere pins, du har til hensigt at bruge.

void loop (): Enhver kode inde i denne sløjfe køres gentagne gange igen og igen, indtil Arduino er slukket. Dette kan gøre større projekter mere komplekse, men det fungerer fantastisk godt til simple projekter.

digitalWrite (7, HIGH): Dette bruges til at indstille stiften HØJ eller LAV - eller AF . Ligesom en lyskontakt, når tappen er HØJ, vil LED'en være tændt. Når stiften er LAV, er LED'en slukket. Inde i parenteserne skal du angive nogle yderligere oplysninger, for at dette kan fungere korrekt. Yderligere oplysninger kaldes parametre eller argumenter.

Den første (7) er pinkoden. Hvis du f.eks. Har tilsluttet din LED til en anden pin, ville du ændre dette fra syv til et andet nummer. Den anden parameter skal være HØJ eller LAV , som angiver, om LED'en skal tændes eller slukkes.

forsinkelse (1000): Den fortæller Arduino at vente i en bestemt mængde tid i millisekunder. 1000 millisekunder er lig med et sekund, så dette får Arduino til at vente et sekund.

Når LED'en er blevet tændt i et sekund, kører Arduino derefter den samme kode, kun den fortsætter med at slukke LED'en og vente endnu et sekund. Når denne proces er afsluttet, starter sløjfen igen, og LED'en tændes igen.

Udfordring: Prøv at justere tidsforsinkelsen mellem at tænde og slukke LED'en. Hvad observerer du? Hvad sker der, hvis du indstiller forsinkelsen til et meget lille antal, f.eks. Et eller to? Kan du ændre koden og kredsløbet til at blinke to Lysdioder?

Tilføjelse af en knap

Nu hvor du har en LED -funktion, lad os tilføje en knap til dit kredsløb:

Tilslut knappen, så der er bro mellem kanalen midt på brødbrættet. Tilslut øverst til højre ben til Pin 4 . Tilslut nederst til højre ben til a 10k ohm modstand og derefter til jord . Tilslut nederst til venstre ben til 5V .

Du undrer dig måske over, hvorfor en simpel knap har brug for en modstand. Dette tjener to formål. Det er en træk ned modstand - den binder stiften til jorden. Dette sikrer, at der ikke opdages falske værdier, og forhindrer Arduino tænker du trykkede på knappen, når du ikke gjorde det. Det andet formål med denne modstand er som en strømbegrænser. Uden det ville 5V gå direkte i jorden, den magisk røg ville blive frigivet, og din Arduino ville dø. Dette er kendt som en kortslutning, så brugen af ​​en modstand forhindrer dette i at ske.

Når der ikke trykkes på knappen, registrerer Arduino jorden ( pin 4 > modstand > jord ). Når du trykker på knappen, er 5V forbundet til jorden. Arduino pin 4 kan registrere denne ændring, da pin 4 nu er ændret fra jorden 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 kode bygger på, hvad du lærte i det foregående afsnit. Den hardware -knap, du har brugt, er en momentan handling. Det betyder, at det kun fungerer, mens du holder det nede. Alternativet er a låsning handling. Dette er ligesom dine lys- eller stikkontakter, tryk én gang for at tænde, tryk igen for at slukke. Heldigvis kan en låseadfærd implementeres i kode. Her er hvad den ekstra kode gør:

boolsk buttonOn = false: Denne variabel bruges til at gemme tastens tilstand - ON eller OFF, HIGH eller LOW. Det er givet en standardværdi på false.

pinMode (4, INPUT): Ligesom koden, der bruges til LED'en, fortæller denne linje til Arduinoen, at du har tilsluttet en indgang (din knap) til pin 4.

hvis (digitalRead (4)): På lignende måde til digitalWrite () , digitalRead () bruges til at aflæse tilstanden af ​​en nål. Du skal give det et pinkode (4, for din knap).

Når du har trykket på knappen, venter Arduino 25 ms og kontrollerer knappen igen. Dette er kendt som en software debounce . Dette sikrer, at det, Arduino mener, var et tryk på knappen, virkelig var et knap tryk, og ikke støj. Du behøver ikke at gøre dette, og i de fleste tilfælde vil ting fungere fint uden det. Det er mere en bedste praksis.

Hvis Arduino er sikker på, at du virkelig trykkede på knappen, ændrer den derefter værdien af knap Til variabel. Dette skifter staten:

ButtonOn er sandt: Indstillet til falsk.

ButtonOn er falsk: Indstil til sand.

Endelig slukkes LED'en i henhold til den tilstand, der er gemt i knap Til .

Lyssensor

Lad os gå videre til et avanceret projekt. Dette projekt vil bruge en Lysafhængig modstand (LDR) for at måle mængden af ​​tilgængeligt lys. Arduino vil derefter fortælle din computer nyttige meddelelser om det aktuelle lysniveau.

hvordan man får en snapchat streak tilbage

Her er kredsløbet:

Da LDR'er er en type modstand, er det ligegyldigt, hvilken vej de placeres - de har ikke en polaritet. Forbinde 5V til den ene side af LDR. Tilslut den anden side til jord via en 1k ohm modstand. Tilslut også denne side til analog indgang 0 .

Denne modstand virker som en nedtrapningsmodstand, ligesom i de tidligere projekter. En analog pin er nødvendig, da LDR'er er analoge enheder, og disse ben indeholder specielle kredsløb til nøjagtig aflæsning af analog hardware.

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 kode gør et par nye ting:

Serial.begin (9600): Dette fortæller Arduinoen, at du vil kommunikere over seriel med en hastighed på 9600. Arduinoen forbereder alt, hvad der er nødvendigt for dette. Prisen er ikke så vigtig, men både din Arduino og computer skal bruge den samme.

analogRead (A0): Dette bruges til at aflæse værdien fra LDR. En lavere værdi betyder, at der er mere lys tilgængeligt.

Serial.println (): Dette bruges til at skrive tekst til det serielle interface.

Det enkle hvis statement sender forskellige strenge (tekst) til din computer afhængigt af det tilgængelige lys.

Upload denne kode, og hold USB -kablet tilsluttet (sådan vil Arduino kommunikere, og hvor strømmen kommer fra). Åbn den serielle skærm ( øverst til højre > Seriel skærm ), Skal du se dine meddelelser ankomme hvert 0,5 sekund.

Hvad observerer du? Hvad sker der, hvis du dækker LDR eller skinner et skarpt lys på den? Kan du ændre koden for at udskrive værdien af ​​LDR over seriel?

Lav noget larm

Dette projekt bruger Piezo -højttaleren til at lave lyde. Her er kredsløbet:

Læg mærke til noget kendt? Dette kredsløb er næsten nøjagtigt det samme som LED -projektet. Piezoer er meget enkle komponenter - de afgiver en lyd, når de får et elektrisk signal. Tilslut positiv ben til digital pin 9 via en 220 ohm modstand. Tilslut negativ ben til jord .

Her er koden, det er meget enkelt for dette projekt:

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
}

Der er kun få nye kodefunktioner her:

tone (9, 1000): Dette får piezoen til at generere en lyd. Det kræver to argumenter. Den første er stiften, der skal bruges, og den anden er tonens frekvens.

noTone (9): Dette stopper med at producere enhver lyd på den medfølgende pin.

Prøv at ændre denne kode for at producere en anden frekvens. Skift forsinkelsen til 1 ms - hvad bemærker du?

Hvor skal man hen Herfra

Som du kan se, er Arduino en nem måde at komme ind på elektronik og software. Det er en af ​​de bedste mikrokontrollere til begyndere. Forhåbentlig har du set, at det er let at bygge simple elektroniske projekter med Arduino. Du kan bygge langt mere komplekse projekter, når du forstår de grundlæggende:

  • Lav julepynt til jul
  • Arduino Shields til at overmagtige dit projekt
  • Byg dit eget pongspil med en Arduino
  • Tilslut din Arduino til internettet
  • Opret et hjemmeautomatiseringssystem med din Arduino

Hvilken Arduino ejer du? Er der nogle sjove projekter, du kan lide at lave? Se mere om, hvordan du forbedrer din Arduino -kodning med VS Code og PlatformIO.

Del Del Tweet E -mail 15 Kommandoer i Windows -kommandoprompt (CMD), du skal kende

Kommandoprompten er stadig et kraftfuldt Windows -værktøj. Her er de mest nyttige CMD -kommandoer, som alle Windows -brugere skal kende.

Læs Næste
Relaterede emner
  • gør det selv
  • Arduino
  • Elektronik
Om forfatteren Joe Coburn(136 artikler udgivet)

Joe er uddannet i datalogi fra University of Lincoln, UK. Han er en professionel softwareudvikler, og når han ikke flyver med droner eller skriver musik, kan han ofte findes tage fotos eller producere videoer.

Mere fra Joe Coburn

Abonner på vores nyhedsbrev

Tilmeld dig vores nyhedsbrev for at få tekniske tips, anmeldelser, gratis e -bøger og eksklusive tilbud!

Klik her for at abonnere