Komma igång med Arduino: En nybörjarguide

Komma igång med Arduino: En nybörjarguide

Arduino är en prototypplattform med öppen källkod och är en av de mest populära i världen-med möjliga undantag för Raspberry Pi. Efter att ha sålt över 3 miljoner enheter (och många fler i form av tredjepartsklonenheter): vad gör det så bra, och vad kan du göra med en?





Vad är Arduino?

Arduino är baserat på lättanvänd, flexibel, hårdvara och programvara. Den är gjord för konstnärer, designers, ingenjörer, hobbyister och alla som har det minsta intresset för programmerbar elektronik.





Arduino känner av miljön genom att läsa data från olika knappar, komponenter och sensorer. De kan påverka miljön genom att styra lysdioder, motorer , servon, reläer och mycket mer.





Arduino-projekt kan vara fristående, eller de kan kommunicera med programvara som körs på en dator ( Bearbetning är den mest populära programvaran för detta). De kan prata med andra Arduinos, Raspberry Pis, NodeMCU eller nästan vad som helst annat. Se till att du läser vår jämförelse av $ 5 mikrokontroller för en grundlig jämförelse av skillnaderna mellan dessa mikrokontroller.

Du kanske frågar, varför välja Arduino? Arduino förenklar verkligen processen med att bygga ett programmerbart elektronikprojekt, vilket gör det till en bra plattform för nybörjare. Du kan enkelt börja arbeta med en utan tidigare elektronikupplevelse. Det finns tusentals självstudier tillgängliga, och dessa varierar i svårighetsgrad, så du kan vara säker på en utmaning när du väl behärskar grunderna.



Förutom Arduinos enkelhet är det också billigt, plattformsoberoende och öppen källkod. Arduino Uno (den mest populära modellen) är baserad på Atmels ATMEGA 16U2 mikrokontroller. Det finns många olika modeller som produceras, som varierar i storlek, effekt och specifikationer, så ta en titt på vår köpguide för alla skillnader.

Planerna för styrelserna publiceras under a Creative Commons licens, så är erfarna hobbyister och andra tillverkare fria att göra sin egen version av Arduino, eventuellt förlänga den och förbättra den (eller helt enkelt kopiera den, vilket leder till en utbredning av billiga Arduino -brädor vi hittar idag).





Vad kan du göra med en Arduino?

En Arduino kan göra häpnadsväckande många saker. De är hjärnan i valet för de flesta 3D -skrivare. Deras låga kostnad och användarvänlighet innebär att tusentals tillverkare, designers, hackare och skapare har gjort fantastiska projekt. Här är bara några av de Arduino -projekt vi har gjort här på MakeUseOf:

Vad finns i en Arduino?

Även om det finns många olika typer av Arduino -kort, fokuserar denna manual på Arduino uno modell. Detta är den mest populära Arduino -brädan som finns. Så vad är det som får det här att ticka? Här är specifikationerna:





  • Processor: 16 Mhz ATmega16U2
  • Flashminne: 32KB
  • Bagge: 2KB
  • Driftspänning: 5V
  • Inspänning: 7-12V
  • Antal analoga ingångar: 6
  • Antal digitala I/O: 14 (6 av dem pulsbreddsmodulering - PWM )

Specifikationerna kan verka skräp jämfört med din stationära dator, men kom ihåg att Arduino är en inbäddad enhet, med mycket mindre information att bearbeta än ditt skrivbord. Det är mer än kapabelt för de flesta elektronikprojekt.

En annan underbar egenskap hos Arduino är möjligheten att använda det som kallas 'sköldar' eller tilläggskort. Även om sköldar inte kommer att täckas i denna handbok, är de ett riktigt snyggt sätt att utöka funktionerna och funktionaliteten i din Arduino.

Vad du behöver för den här guiden

Nedan hittar du en inköpslista över de komponenter du behöver för denna nybörjarguide. Alla dessa komponenter bör komma under $ 50 totalt. Den här listan bör räcka för att ge dig en god förståelse för grundläggande elektronik och ha tillräckligt med komponenter för att bygga några ganska coola projekt med denna eller någon annan Arduino -guide. Om du inte vill välja varje komponent kan du överväga att köpa ett startpaket istället.

Om du inte kan få ett specifikt motståndsvärde brukar något så nära som möjligt vanligtvis fungera bra.

Översikt över elektriska komponenter

Låt oss titta på vad alla dessa komponenter är exakt, vad de gör och hur de ser ut.

Bakbord

Används för att prototypa elektroniska kretsar, de ger ett tillfälligt sätt att ansluta komponenter tillsammans. Brödbrädor är plastblock med hål i, som trådar kan sättas in i. Hålen är ordnade i rader, i grupper om fem. När du vill omorganisera en krets, dra ut tråden eller delen ur hålet och flytta den. Många brödbrädor innehåller två eller fyra hålgrupper som löper längs skivan längs sidorna och är alla anslutna - dessa är vanligtvis för energidistribution och kan vara märkta med en röd och blå linje.

Brödbrädor är utmärkta för att snabbt producera en krets. De kan bli mycket röriga för en stor krets, och billigare modeller kan vara notoriskt opålitliga, så det är värt att spendera lite mer pengar på en bra.

Lysdioder

LED står för Ljusdiod . De är en mycket billig ljuskälla och kan vara väldigt ljusa - särskilt när de grupperas ihop. De kan köpas i en mängd olika färger, blir inte särskilt heta och håller länge. Du kan ha lysdioder i din TV, bilens instrumentbräda eller i dina Philips Hue -lampor.

Din Arduino-mikrokontroller har också en inbyggd LED på stift 13 som ofta används för att indikera en handling eller händelse, eller bara för att testa.

Foto motstånd

Ett fotomotstånd ( sid hotocell eller Ljusberoende motstånd ) tillåter din Arduino att mäta ljusförändringar. Du kan till exempel slå på datorn när det är dagsljus.

Taktil omkopplare

hur man gör ett standard Google -konto

En taktil omkopplare är i grunden en knapp. Genom att trycka på den avslutas kretsen och (vanligtvis) ändras från 0V till +5V. Arduinos kan upptäcka denna förändring och svara därefter. Dessa är ofta tillfällig - vilket betyder att de bara 'trycks' när ditt finger håller dem nedtryckta. När du släpper, kommer de att återgå till standardläget ('avtryckt' eller av).

Piezo -högtalare

En piezohögtalare är en liten liten högtalare som producerar ljud från elektriska signaler. De är ofta hårda och tunna och låter ingenting som en riktig högtalare. Som sagt, de är väldigt billiga och lätta att programmera. Vårt Buzz Wire Game använder en för att spela Monty Python 'Flying Circus' temasång .

Motstånd

Ett motstånd begränsar flödet av elektricitet. De är mycket billiga komponenter och en häftklammer av amatör- och professionella elektroniska kretsar. De krävs nästan alltid för att skydda komponenter från överbelastning. De behövs också för att förhindra kortslutning om Arduino +5V ansluts rakt i marken. Kort sagt: mycket praktiskt och absolut nödvändigt.

Jumper Wires

Bygeltrådar används för att skapa tillfälliga anslutningar mellan komponenter på din brödbräda.

Konfigurera din Arduino

Innan du påbörjar något projekt måste du få din Arduino att prata med din dator. Detta låter dig skriva och sammanställa kod för Arduino att köra, samt ge ett sätt för din Arduino att arbeta tillsammans med din dator.

Installera Arduino -programvarupaketet på Windows

Gå till Arduinos webbplats och ladda ner en version av Arduino -programvaran som passar din version av Windows. Efter nedladdning följer du instruktionerna för att installera Arduino Integrerad utvecklingsmiljö (HÄR).

Installationen inkluderar drivrutiner, så i teorin borde du vara bra att gå direkt. Om det av någon anledning misslyckas, försök med dessa steg för att installera drivrutinerna manuellt:

  • Anslut ditt kort och vänta tills Windows startar installationsprocessen för drivrutinen. Efter några ögonblick misslyckas processen, trots sina bästa ansträngningar.
  • Klicka på Start meny > Kontrollpanel .
  • Navigera till System och säkerhet > Systemet . När systemfönstret är öppet öppnar du Enhetshanteraren .
  • Under Hamnar (COM & LPT), bör du se en öppen port med namnet Arduino UNO (COMxx) .
  • Högerklicka på Arduino UNO (COMxx) > Uppdatera drivrutinsprogramvara .
  • Välja Bläddra i min dator efter drivrutinsprogram .
  • Navigera till och välj Unos drivrutinsfil, namngiven ArduinoUNO.inf , som ligger i Drivrutiner mapp för nedladdning av Arduino -programvara.

Windows slutför installationen av drivrutinen därifrån.

Installera Arduino Software Package på Mac OS

Ladda ner Arduino -programvaran för Mac från Arduinos webbplats . Extrahera innehållet i .blixtlås fil och kör appen. Du kan kopiera den till din applikationsmapp, men den fungerar bra från din skrivbord eller Nedladdningar mappar. Du behöver inte installera några ytterligare drivrutiner för Arduino UNO.

Installera Arduino -programvaran på paketet Ubuntu/Linux

Installera gcc-avr och avr-libc :

sudo apt-get install gcc-avr avr-libc

Om du inte redan har openjdk-6-jre, installera och konfigurera det också:

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

Välj rätt JRE om du har mer än en installerad.

Gå till Arduinos webbplats och ladda ner Arduino -programvaran för Linux. Du kan spridning och kör det med följande kommando:

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

Oavsett vilket operativsystem du kör antar instruktionerna ovan att du har ett originalt, märkt Arduino Uno -kort. Om du köpte en klon behöver du nästan säkert tredjepartsdrivrutiner innan kortet känns igen via USB.

Kör Arduino -programvaran

Nu när programvaran är installerad och din Arduino är konfigurerad, låt oss verifiera att allt fungerar. Det enklaste sättet att göra detta är genom att använda 'Blink' -applikationen.

Öppna Arduino-programvaran genom att dubbelklicka på Arduino-applikationen ( ./arduino på Linux ). Kontrollera att kortet är anslutet till din dator och öppna sedan LED blinkar exempel skiss: Fil > Exempel > 1. grunder > Blinka . Du bör se koden för programmet öppen:

För att ladda upp den här koden till din Arduino, välj posten i Verktyg > Styrelse meny som motsvarar din modell - Arduino uno I detta fall.

Välj den seriella enheten på ditt kort från Verktyg > Serieport meny. I Windows är det troligtvis så COM3 eller högre. På Mac eller Linux borde detta vara något med /dev/tty.usbmodem i det.

Slutligen, klicka på Ladda upp -knappen längst upp till vänster i din miljö. Vänta några sekunder, så ska du se RX och TX Lysdioderna på Arduino blinkar. Om överföringen lyckas visas meddelandet 'Klar överföring' i statusfältet.

Några sekunder efter att uppladdningen är klar bör du se stift 13 Lysdioden på kortet börjar blinka. Grattis! Du har din Arduino igång.

Startprojekt

Nu när du känner till grunderna, låt oss titta på några nybörjarprojekt.

Du använde tidigare Arduino-provkoden för att blinka den inbyggda lysdioden. Detta projekt kommer att blinka med en extern lysdiod med en brödbräda. Här är kretsen:

Anslut lysdiodens långa ben (positivt ben, kallat anod ) till a 220 Ohm motstånd och sedan till digital stift 7 . Anslut det korta benet (negativa benet, kallat katod ) direkt till jord (någon av Arduino -portarna med GND på, ditt val). Detta är en enkel krets. Arduino kan digitalt styra denna pin. Om du sätter på stiftet tänds lysdioden, när du stänger av den släcks lysdioden. Motståndet är nödvändigt för att skydda lysdioden från för mycket ström - det brinner ut utan en.

Här är koden du behöver:

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
}

Denna kod gör flera saker:

void setup (): Detta drivs av Arduino en gång varje gång det startar. Det är här du kan konfigurera variabler och allt som din Arduino behöver köra.

pinMode (7, OUTPUT): Detta berättar för Arduino att använda denna stift som en utgång, utan den här raden skulle Arduino inte veta vad de ska göra med varje stift. Detta behöver bara konfigureras en gång per pin, och du behöver bara konfigurera pins som du tänker använda.

void loop (): Varje kod i den här slingan körs upprepade gånger om och om igen tills Arduino stängs av. Detta kan göra större projekt mer komplexa, men det fungerar fantastiskt bra för enkla projekt.

digitalWrite (7, HIGH): Detta används för att ställa in stiftet HÖG eller LÅG - eller AV . Precis som en strömbrytare, när stiftet är HÖG, kommer lysdioden att lysa. När stiften är LÅG kommer lampan att vara släckt. Inuti parenteserna måste du ange ytterligare information för att detta ska fungera korrekt. Ytterligare information kallas parametrar eller argument.

Den första (7) är pin -numret. Om du till exempel har anslutit din LED till en annan stift, skulle du ändra detta från sju till ett annat nummer. Den andra parametern måste vara HÖG eller LÅG , som anger om lysdioden ska slås på eller av.

fördröjning (1000): Den berättar för Arduino att vänta en viss tid i millisekunder. 1000 millisekunder är lika med en sekund, så detta får Arduino att vänta en sekund.

När lysdioden har tänts i en sekund kör Arduino samma kod, bara den fortsätter att stänga av lysdioden och vänta ytterligare en sekund. När denna process har slutförts startar slingan igen och lysdioden tänds igen.

Utmaning: Prova att justera tidsfördröjningen mellan att slå på och av lysdioden. Vad observerar du? Vad händer om du ställer in fördröjningen till ett mycket litet antal, till exempel en eller två? Kan du ändra koden och kretsen för att blinka två Lysdioder?

Lägger till en knapp

Nu när du har en LED som fungerar, låt oss lägga till en knapp i din krets:

Anslut knappen så att den överbryggar kanalen mitt på panelen. Anslut överst till höger ben till Stift 4 . Anslut nere till höger ben till a 10k Ohm motstånd och sedan till jord . Anslut nedre vänstra ben till 5V .

Du kanske undrar varför en enkel knapp behöver ett motstånd. Detta tjänar två syften. Det är en dra ner motstånd - det binder stiftet till marken. Detta säkerställer att inga falska värden detekteras och förhindrar Arduino tänkande du tryckte på knappen när du inte gjorde det. Det andra syftet med detta motstånd är som en strömbegränsare. Utan det skulle 5V gå direkt i marken magisk rök skulle släppas, och din Arduino skulle dö. Detta är känt som en kortslutning, så användningen av ett motstånd förhindrar att detta händer.

När du inte trycker på knappen upptäcker Arduino mark ( stift 4 > motstånd > jord ). När du trycker på knappen är 5V ansluten till jord. Arduino pin 4 kan upptäcka denna förändring, eftersom pin 4 nu har ändrats från mark till 5V;

Här är 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
}

Denna kod bygger på vad du lärde dig i föregående avsnitt. Hårdvaruknappen du har använt är en tillfällig handling. Det betyder att det bara fungerar medan du håller det intryckt. Alternativet är a låsning handling. Det här är precis som dina lampor eller uttag, tryck en gång för att slå på, tryck igen för att stänga av. Lyckligtvis kan ett låsningsbeteende implementeras i kod. Här är vad den extra koden gör:

boolean buttonOn = false: Denna variabel används för att lagra knappens tillstånd - PÅ eller AV, HÖG eller LÅG. Den har ett standardvärde på false.

pinMode (4, INPUT): Ungefär som koden som används för lysdioden, berättar den här raden för Arduino att du har anslutit en ingång (din knapp) till stift 4.

if (digitalRead (4)): På liknande sätt som digitalWrite () , digitalRead () används för att läsa tillståndet för en nål. Du måste ange det med ett pin -nummer (4, för din knapp).

När du har tryckt på knappen väntar Arduino 25 ms och kontrollerar knappen igen. Detta är känt som en mjukvara debounce . Detta säkerställer att det som Arduino tror var ett knapptryck, verkligen var ett knapptryck, och inte brus. Du behöver inte göra detta, och i de flesta fall kommer saker att fungera bra utan det. Det är mer en bästa praxis.

Om Arduino är säker på att du verkligen tryckte på knappen ändras värdet på knapp På variabel. Detta växlar staten:

ButtonOn är sant: Ställ in på false.

ButtonOn är falskt: Ställ in på true.

Slutligen släcks lysdioden enligt tillståndet som lagras i knapp På .

Ljussensor

Låt oss gå vidare till ett avancerat projekt. Detta projekt kommer att använda en Ljusberoende motstånd (LDR) för att mäta mängden tillgängligt ljus. Arduino berättar sedan för din dator användbara meddelanden om den aktuella ljusnivån.

varför går Firefox så långsamt

Här är kretsen:

Eftersom LDR är en typ av motstånd spelar det ingen roll vilken väg de placeras - de har ingen polaritet. Ansluta 5V till ena sidan av LDR. Anslut den andra sidan till jord via en 1k Ohm motstånd. Anslut också denna sida till analog ingång 0 .

Detta motstånd fungerar som ett nedrullningsmotstånd, precis som i tidigare projekt. En analog stift behövs, eftersom LDR är analoga enheter, och dessa stift innehåller speciella kretsar för att exakt läsa analog hårdvara.

Här är 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!
}

Denna kod gör några nya saker:

Serial.begin (9600): Detta berättar för Arduino att du vill kommunicera över serie med en hastighet av 9600. Arduino kommer att förbereda allt som är nödvändigt för detta. Hastigheten är inte så viktig, men både din Arduino och din dator måste använda samma.

analogRead (A0): Detta används för att läsa värdet som kommer från LDR. Ett lägre värde betyder att det finns mer ljus tillgängligt.

Serial.println (): Detta används för att skriva text till det seriella gränssnittet.

Den enkla om statement skickar olika strängar (text) till din dator beroende på tillgängligt ljus.

Ladda upp den här koden och håll USB -kabeln ansluten (så kommer Arduino att kommunicera och varifrån strömmen kommer). Öppna seriell bildskärm ( Överst till höger > Seriell bildskärm ), Bör du se dina meddelanden komma var 0,5 sekund.

Vad observerar du? Vad händer om du täcker LDR eller lyser ett starkt ljus på den? Kan du ändra koden för att skriva ut värdet på LDR över serien?

Gör lite buller

Detta projekt använder Piezo -högtalaren för att göra ljud. Här är kretsen:

Märker du något bekant? Denna krets är nästan exakt densamma som LED -projektet. Piezos är mycket enkla komponenter - de ger ett ljud när de får en elektrisk signal. Anslut positiv ben till digital stift 9 via en 220 Ohm motstånd. Anslut negativ ben till jord .

Här är koden, det är väldigt enkelt för det här projektet:

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 finns bara några nya kodfunktioner här:

ton (9, 1000): Detta gör att piezot genererar ett ljud. Det krävs två argument. Den första är stiftet som ska användas, och det andra är tonens frekvens.

noTone (9): Detta slutar producera något ljud på den medföljande stiftet.

Försök ändra den här koden för att få en annan frekvens. Ändra fördröjningen till 1 ms - vad märker du?

Vart ska man gå härifrån

Som du kan se är Arduino ett enkelt sätt att komma in på elektronik och programvara. Det är en av de bästa mikrokontrollerna för nybörjare. Förhoppningsvis har du sett att det är enkelt att bygga enkla elektroniska projekt med Arduino. Du kan bygga mycket mer komplexa projekt när du förstår de grundläggande:

  • Skapa jullampor
  • Arduino Shields för att övermakta ditt projekt
  • Bygg ditt eget pongspel med en Arduino
  • Anslut din Arduino till internet
  • Skapa ett hemautomatiseringssystem med din Arduino

Vilken Arduino äger du? Finns det några roliga projekt du gillar att göra? För mer, ta en titt på hur du kan förbättra din Arduino -kodning med VS Code och PlatformIO.

Dela med sig Dela med sig Tweet E-post 15 Windows -kommandotolks (CMD) kommandon du måste veta

Kommandotolken är fortfarande ett kraftfullt Windows -verktyg. Här är de mest användbara CMD -kommandon som alla Windows -användare behöver veta.

Läs Nästa
Relaterade ämnen
  • DIY
  • Arduino
  • Elektronik
Om författaren Joe Coburn(136 artiklar publicerade)

Joe är utbildad i datavetenskap från University of Lincoln, Storbritannien. Han är en professionell mjukvaruutvecklare, och när han inte flyger drönare eller skriver musik, kan han ofta hittas ta foton eller producera videor.

Mer från Joe Coburn

Prenumerera på vårt nyhetsbrev

Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e -böcker och exklusiva erbjudanden!

Klicka här för att prenumerera