Första steget med Arduino En närmare titt på kretskortet och strukturen i ett program
Sista gången jag lämnade dig med att starta med din Arduino Starter Kit - Installera drivrutiner och konfigurera styrelsen och porten Komma igång med ditt Arduino Starter Kit - Installera drivrutiner och konfigurera styrelsen och porten Så du har köpt dig en Arduino starter kit, och möjligen några andra slumpmässiga coola komponenter - nu vad? Hur kommer du faktiskt igång med att programmera denna Arduino sak? Hur ställer du upp det? Läs mer din Arduino att arbeta med Mac eller Windows, och ha laddat upp en enkel testapp som blinkade inbyggd LED. Idag kommer jag att förklara koden du laddat upp, strukturen i Arduino-programvaran, och lite mer om de elektroniska bitarna på brädet själv.
Denna artikel är en del av en introduktion till Arduino-serien. De övriga artiklarna i serien hittills är:
- Vad är Arduino och vad kan du göra med det Vad är Arduino & Vad kan du göra med det? Vad är Arduino och vad kan du göra med det? Arduino är en anmärkningsvärd liten elektronik enhet, men om du aldrig har använt en tidigare, precis vad exakt är de, och vad kan du göra med en? Läs mer ?
- Vad är en Arduino startpaket och vad innehåller den? Vad ingår i ett Arduino Starter Kit? [MakeUseOf Förklarar] Vad ingår i ett Arduino Starter Kit? [MakeUseOf Explains] Jag har tidigare introducerat Arduino open source-hårdvaran här på MakeUseOf, men du behöver mer än bara den verkliga Arduino att bygga något ut av det och faktiskt komma igång. Arduino "startpaket" är ... Läs mer
- Mer coola komponenter för att köpa med ditt startpaket 8 Fler kalla komponenter till dina Arduino-projekt 8 Fler coola komponenter för dina Arduino-projekt Så du tänker på att få en Arduino-startpaket, men undrar om några grundläggande lysdioder och motstånd kommer att bli tillräckligt för att hålla dig upptagen för helgen? Antagligen inte. Här är ytterligare 8 ... Läs mer
- Komma igång med ditt Arduino Starter Kit - Installera drivrutiner och ställa in styrningen och porten Komma igång med ditt Arduino Starter Kit - Installera drivrutiner och konfigurera styret och porten Komma igång med ditt Arduino Starter Kit - Installera drivrutiner och konfigurera styrelsen & Port Så du har köpt dig en Arduino startpaket, och eventuellt några andra slumpmässiga coola komponenter - nu vad? Hur kommer du faktiskt igång med att programmera denna Arduino sak? Hur ställer du upp det ... Läs mer
Hårdvaran
Låt oss titta närmare på vad Arduino Uno har när det gäller bitar på kretskortet.
Här är ett förstorat diagram för att hänvisa till:
- Längst upp finns 14 digitala ingångs- / utgångsstift (numrerade 0-13). Dessa är de mest mångsidiga pinnarna på din Arduino och kan fungera som antingen ingång eller utgång, och kommer att utgöra kärnan i dina projekt. Digital betyder att signalen som dessa stift kan skriva eller läsa kommer att vara på eller av.
- 6 av de digitala stiften, som är markerade med tilde-tecknet ~ kan göra vad det kallas Pulse Width Modulation. Jag är ingen elektrisk ingenjör så jag kommer inte skämma bort mig själv genom att förklara vetenskapen bakom det här, men för dig och jag betyder det att vi kan erbjuda en rad utgångsnivåer - till exempel dämpa en LED eller driva en motor med olika hastigheter.
- Pin 13 är speciellt eftersom den har en inbyggd LED. Detta är endast för bekvämlighet och testning. Du kan använda den inbyggda LED-lampan, som du gjorde i Blink-exemplet, genom att helt enkelt mata ut till stift 13 - eller det kan användas som standard I / O-stift.
- Nederst till höger finns 6 analoga ingångsstift. Dessa kommer att läsa värdet av analoga sensorer, såsom ljusmätare eller variabla motstånd.
- Längst ner till vänster bredvid de analoga ingångarna är spännen. De enda som du verkligen behöver oroa dig för är jordstiften (GND), 3.3v och 5v kraftledningar.
- Slutligen är den enda strömbrytaren som finns på Arduino en återställningsbrytare. Detta kommer att starta om vilket program det har i sitt minne.
- Arduino har en viss mängd minne och om ditt program går för stort kommer kompilatorn att ge dig ett fel.
Strukturen av ett Arduino-program
Varje Arduino-program består av minst två funktioner (om du inte vet vilken funktion som är, se till att läsa min grundläggande programmeringshandledning, del 2 - Funktions- och kontrollanvisningar. Den absoluta grunden för programmering för nybörjare (del 2) Den absoluta grunden för programmering för nybörjare (del 2) I del 2 av vår absoluta nybörjarguide till programmering kommer jag att täcka grunderna för funktioner, returvärden, loopar och villkor. Se till att du har läst del 1 innan du hanterar detta , där jag förklarade ... Läs mer och del 1 där vi diskuterade variabler Grundläggande för dataprogrammering 101 - Variabler och datatyper Grunderna för datorprogrammering 101 - Variabler och datatyper Efter att ha introducerat och pratat lite om objektorienterad programmering före och var dess namnet kommer från, jag trodde att det är dags att vi går igenom de absoluta grunderna för programmering på ett icke-språkligt sätt. Detta ... Läs mer innan du fortsätter).
Den första är inställningsfunktionen. Detta körs ursprungligen - enbart en gång - och används för att berätta för Arduino vad som är anslutet och var, såväl som att initiera eventuella variabler som du kanske behöver i ditt program.
För det andra är slingan. Detta är kärnan i varje Arduino-program. När Arduino körs, efter att inställningsfunktionen har slutförts, går slingan igenom hela koden och gör sedan det hela igen - tills antingen strömmen går förlorad eller återställningsomkopplaren trycks ned. Den tid som krävs för att slutföra en hel slinga beror på koden som finns. Du kan skriva en kod som säger “vänta 6 timmar”, i vilket fall slingan inte kommer att upprepas mycket ofta.
Här är ett snabbt tillståndschema för att illustrera:
Granskning av blinkprogrammet
Ta en titt tillbaka på Blink-programkoden och identifiera inställningarna och loop-funktionerna.
Här är inställningen:
tomrumsinställning () // initiera digitalpinnen som en utgång. // Pin 13 har en LED ansluten på de flesta Arduino-kort: pinMode (13, OUTPUT);
Linjerna som börjar med // är helt enkelt kommentarer för att förklara koden för en mänsklig läsare, och de laddas inte upp till Arduino. Så det finns faktiskt bara en rad inställningskoder i den här Arduino-appen. Den linjen säger “Ställ in pin 13 till utgångsläge”. 13, kom ihåg, är den inbyggda LED.
Sedan är det slingan:
tomrumsling () digitalWrite (13, HIGH); // Ställ in lysdioden vid fördröjning (1000); // vänta på en andra digitalWrite (13, LOW); // Ställ in LED-fördröjningen (1000); // vänta en sekund
Kommentarerna i slutet av varje kodlinje förklarar sin funktion ganska bra. HÖG och LÅG hänvisar till ON och OFF-läget för en digital utgång - i vårt fall LED. Du kan faktiskt skriva ON eller OFF i koden också, båda är synonymt (som är 0 och 1 också). Fördröjning berättar Arduino att vänta lite, i det här fallet 1000 millisekunder (eller 1 sekund).
Slutligen en anteckning om det programmeringsspråk som används här. Observera att både inställningar och loop-funktioner har ordet ogiltig före dem. Detta är ett speciellt ord för ingenting, eftersom funktionen returnerar ingenting när det heter - det körs helt enkelt koden i. För nu, låt oss lämna den därigenom genom att säga att funktionens kodblock är inneslutet av lockiga hängslen , och att varje kodlinje måste sluta med a; semikolon.
Försök ändra det grundläggande programmet på något sätt genom att ändra de exakta fördröjningsvärdena till något större eller mindre. Se hur liten du kan få ner den till innan blinkningen inte längre märks. Träna ut vilka värde som ska bytas för att få det att stanna längre eller att stanna längre. Försök lägga till lite mer digitalWrite och fördröja uttalanden i loop-funktionen för att skapa ett mer komplext blinkande mönster som morse-koden för SOS. Om du har en summer, försök ansluta den till stift 13 och GND också (tips: den röda ledningen går till 13, svart till jord).
Det är allt för idag. Nästa gång lägger vi till några fler lysdioder och skriver vår egen applikation från början. Som någonsin, kommentarer och aktier mycket uppskattade. Jag kan inte föreställa mig att du skulle ha några problem med koden som nämns idag, men om du har försökt att justera koden något och kör fel eller oväntat beteende, kan du skicka det i kommentarerna och vi får se om vi kan arbeta igenom det tillsammans.
Utforska mer om: Arduino.