LED & krets

Från elektroner och spänning till första blinkande lampan på pin 13. Ohms lag, breadboard-anatomi, polariserade komponenter — och Blink-sketchen.

Vad du lärde dig

De fem konkreta sakerna du tog med dig från första träffen:

Vad ström, spänning och resistans är Elektronflöde, tryck och strypning. Vatten-metaforen som funkar tillräckligt långt för det vi bygger.
Ohms lag — U = R · I Triangelmnemonic: täck variabeln du söker, läs av de andra två. Räcker för all dimensionering i kursen.
Breadboard-anatomin Fem hål i en rad = en nod. Power-rails längs sidorna. Gapet i mitten skiljer två sektioner.
Polariserade komponenter LED:en har riktning — långt ben (anod) → plus, kort ben (katod) → minus. Vänd fel = ingenting händer.
Din första Arduino-sketch setup() körs en gång. loop() körs om och om igen. Hela Blink på tre kommandon.

Hur en LED kopplas

Från Arduinons pin 13, genom en 220 Ω-resistor, in i LED:ens anod (långt ben), ut genom katoden, tillbaka till GND. Resistorn skyddar LED:en mot att brännas av Arduinons fulla 5 V.

Fritzing-diagram: Arduino UNO med en röd LED kopplad via en 220-ohm-resistor från pin 13 till GND via en breadboard.
Slutkopplingen: pin 13 → 220 Ω → LED-anod, LED-katod → GND.
Genomskärning av breadboard som visar hur fem hål i en kolumn är elektriskt sammankopplade.
Breadboardens insida — fem hål per rad är samma nod.
Närbild på en 220-ohm-resistor med 4-bands färgkod: röd, röd, brun, guld.
220 Ω-resistorn med 4-bands kod: röd · röd · brun  +  guld (tolerans). Kittet innehåller även 5-bands resistorer — då blir 220 Ω: röd · röd · svart · svart · brun.
Tips: Resistorn har ingen riktning — du kan vända den hur du vill. LED:en däremot har en strikt riktning. Vänd LED:en fel och kretsen blir helt korrekt elektriskt — men inget syns.

Ohms lag i praktiken

Varför just 220 Ω för en 5 V-LED? Lite räknande:

Illustration: U = R · I med tre gubbar som visar tryck, strypning och flöde.
Spänning är trycket. Resistans stryper. Ström är flödet som blir kvar.
U-R-I-triangel: täck variabeln du söker.
Mnemonic-triangeln — täck variabeln du söker.

En vanlig 5 mm röd LED tål upp till 20 mA som maxvärde. För att leva länge ska den köras under det — vi designar mot 15 mA som komfortström. LED:en "äter" själv ca 2 V, så resistorn ska sänka resten: Arduinons 5 V minus LED:ens 2 V = 3 V kvar för resistorn. Med Ohms lag: R = U/I = 3 V / 0,015 A = 200 Ω. Vi rundar upp till 220 Ω (standard E12-serien) — det lyser nästan lika starkt men LED:en lever längre. Bilaga F i kompendiet går igenom hela beräkningen.

Blink — koden bakom

Inbyggda LED:en på pin 13 (alias LED_BUILTIN) tänds och släcks en gång per sekund. setup() kör en gång vid uppstart; loop() körs om och om igen.

blink.ino Ladda ner ↓
void setup() {
  pinMode(LED_BUILTIN, OUTPUT);   // körs en gång vid uppstart
}

void loop() {
  digitalWrite(LED_BUILTIN, HIGH);  // tänd
  delay(1000);                      // vänta 1 sekund
  digitalWrite(LED_BUILTIN, LOW);   // släck
  delay(1000);                      // vänta 1 sekund
}

Tre kommandon räcker för att förstå hela skissen:

  • pinMode(LED_BUILTIN, OUTPUT) — säg till Arduinon att pin 13 är en utgång. Görs i setup().
  • digitalWrite(LED_BUILTIN, HIGH) — sätt pinnen till 5 V. HIGH = tänd, LOW = släckt.
  • delay(1000) — pausa allt i 1000 ms (= 1 sekund). Arduinon gör absolut ingenting under den tiden.

När du kopplade en extern LED via pin 13 kan du experimentera med tempot. Halv sekund på, halv sekund av blinkar dubbelt så fort — kortare delay = snabbare blink. Pröva 200, 50, 10 och se vad som händer:

blink-extern-led.ino Ladda ner ↓
const int ledPin = 13;

void setup() {
  pinMode(ledPin, OUTPUT);
}

void loop() {
  digitalWrite(ledPin, HIGH);
  delay(500);                       // halv sekund på
  digitalWrite(ledPin, LOW);
  delay(500);                       // halv sekund av
}
Varför const int? Pin-nummer ändras aldrig — markera det med const. Då skyddar kompilatorn dig om du råkar skriva över värdet av misstag.
Nästa
Träff 2 — PWM & RGB

Mjuka övergångar och alla färger av tre. Från digitalWrite till analogWrite.

Träff 2 →