Kopplingen
Ett mycket bra projekt att börja med om man är helt ny på Arduino är att få en lysdiod att blinka. Det första man behöver göra är att koppla in lysdioden fysiskt till Arduino-kortet. Detta görs enligt schemat nedan. Tänk på att lysdioden bara fungerar på ett håll. Det långa benet kopplas till plus (motståndet) och det korta benet kopplas till minus (GND). En lysdiod får aldrig kopplas in direkt till ett batteri eller annan strömkälla utan måste alltid ha ett lagom stort motstånd eller annan skyddsmekanism. I det här fallet använder vi ett motstånd på 220 ohm (röd-röd-svart-svart) vilket är en bra kompromiss för de flesta lysdioder kopplade till 5 Volt. Vita och blåa lysdioder kan behöva ett mindre motstånd, typ 100 ohm för att lysa med full styrka, men kommer att fungera även med 220 ohm.
Beskrivning
Kopiera koden nedan till Arduinos utvecklingsmiljö, kompilera och ladda upp till Arduino-kortet. När kortet får ström kommer processorn att först köra setup(). Det enda som setup() gör är att tala om för processorn att vi vill att anslutning 2 ska vara en utgång. Alla digitala anslutningar på Arduino-kortet är inställda att vara ingångar vid uppstart.
Därefter tar funktionen loop() över. Denna funktion kommer att anropas om och om igen i oändligheten tills strömmen till kortet bryts eller du trycker på reset-knappen. I loop() så tänder vi först lysdioden genom att sätta anslutning 2 till hög (5 Volt). Därefter väntar vi en halv sekund (500 ms). Sedan släcker vi lysdioden igenom genom att skriva en nolla på anslutning 2 och sedan väntar vi en halv sekund igen. Efter det är programmet slut, men som vi precis påpekade så kommer loop() automatiskt att anropas igen och programmet startar alltså om från början med att tända lydioden igen. Detta leder till att lysdioden kommer att blinka en gång i sekunden.
Koden
void setup() {
// Ställ om pinne 2 till till att vara en utgång.
pinMode(2, OUTPUT);
}
void loop() {
// Tänd lysdioden
digitalWrite(2, HIGH);
// Vänta en halv sekund (500ms)
delay(500);
// Släck lysdioden
digitalWrite(2, LOW);
// Vänta ytterligare en halv sekund innan programmet börjar om
delay(500);
}