Any sufficiently advanced technology is indistinguishable from magic.
– Arthur C. Clarke
De flesta människor som första gången ser en avancerad teknik får ofta en känsla av att det fungerar på något magiskt sätt eftersom vi inte förstår hur det kan fungera. Men alla kan lära sig hur exempelvis en självkörande bil fungerar, bara man börjar från grunden och tar det stegvis. Det här är ditt första steg i att förstå den där magin bakom mycket av den teknik du har runtomkring dig idag.
Det steget du kommer ta idag, att kontrollera en LED-diod med en Arduino må verka litet men är det första många gjort som senare gått vidare och byggt saker som verkligen gjort världen bättre. Nu är det din tur!
Arduino är en serie mikrokontrollerkort som man Med hjälp av kan göra en väldigt stor mängd häftiga saker, exempelvis små självkörande bilar, drönare eller varför inte en maskin som matar dig med popcorn automatiskt.
Hur kan du bygga Arduino utan fysisk hårdvara?
Innan vi börjar behöver du registrera ett konto på tinkercad.com. Tinkercad är ett vanligt enkelt CAD-verktyg där även möjlighet finns att simulera elektriska kretsar. Exempelvis kan du som vi ska göra nu, simulera Arduino med olika tillbehör såsom skärmar, LED-dioder, Knappar osv.
Dags att börja bygga
Anledningen till att vi väljer just Arduino UNO R3 är i huvudsak att nästan alla guider använder den vilket gör att du enkelt kan experimentera vidare efter denna guide. Samt att det råkar vara en av de korten som finns i Tinkercad. Detta kort är ungefär i storleken av en mobiltelefon i verkligheten. För den som vill bygga mindre saker finns även betydligt mindre Arduino varianter, exempelvis MKR Zero som är ungefär lika stor som en överstrykningspenna.
Vad gör koden egentligen?
Det du nu ser i kodrutan är programkoden som Arduino använder, vilket är C++. Det är väldigt enkelt att börja med. Koden du ser i rutan från början är för att kontrollera den inbyggda LED-dioden att blinka varje sekund. Testa att trycka på knappen “Start Simulation” så kommer du se att lampan på Arduinon med bokstaven L bredvid sig kommer att blinka.
Kodraden "digitalWrite(LED_BUILTIN, HIGH);" innebär att LED_BUILTIN matas med spänning medans "digitalWrite(LED_BUILTIN, LOW);" innebär motsatsen, alltså att LED-dioden inte får någon spänning.
Testa att leka lite med delaytiden, du gör detta genom att ändra koden "delay(1000);" till "delay(valfri siffra);". Experimentera lite och se vad som händer. Märker du någon skillnad i hur länge lampan är tänd eller släckt?
Varför behövs resistorn?
Anledningen till att resistorn behövs är för att begränsa strömmen som går igenom led-dioden. Om du vill får du gärna prova att strunta i resistorn och koppla LED-dioden direkt till GND och 5V så kan du se vad som händer. Gör endast detta i Tinkercad då det sannolikt kommer orsaka skador på LED-diod i verkligheten. Var inte orolig om du känner att du inte förstår exakt varför resistorn begränsar strömmen i LED-dioden, det tar ofta tid att greppa helt och inget man egentligen måste förstå.
Nu kan du starta simulationen med en lysande LED-diod. Du kan sen dra kabeln som går till 5V till valfri pin på övre raden på Arduinon istället. Sedan ändrar du koden genom att ersätta LED_BUILTIN med den siffran du satt kabeln på, exempelvis 8 om du satt kabeln på pin 8. Startar du nu programmet borde du få LED-dioden att blinka i samma takt som den inbyggda gjorde. Anledningen till detta är att du nu ändrat vad som ska spänningsmatas från den inbyggda LED-dioden till den Pinnen du valt istället.
Bra jobbat!
Grattis! Nu har du tagit första steget i att skapa dina egna häftiga innovationer. Det finns ingen gräns nu för vad du kan skapa, våga drömma, våga bygga och våga testa alla de idéer du har i huvudet även om de verkar omöjliga. Du får lite hjälp på traven här med några förslag ifall du inte har några egna idéer än.
Stort lycka till i ditt framtida skapande och bra gjort att du orkat läsa igenom och följt denna guide!
Har du byggt något häftigt med Arduino? Dela gärna med dig och låt oss inspireras!