Till innehållet
Teknik åk 7–9

Lampprojektet: programmera en lampa med Arduino

Tryck på skylten för att gå till kapitlet.

Kapitel 7 av 10

Koden

Nu kör du Albins kod.

Se

Koden i filmen

Skärmbild: Albins Arduinokod, rad 16–37, i editorn till vänster. Till höger kretssimulatorn innan något är kopplat.
Peka på en ring för att se vad det är.

Rad 1–15 och slutet syns inte i filmen. Början hämtar biblioteket för LED-slingan och beskriver activate(). Slutet släcker lampan.

Pröva

Förutsäg och kör

Förutsäg
Du trycker kort på knappen en gång. Hur länge tror du att lampan lyser?

Blocken och koden är samma program.

Kodlabb

Kör Albins program

Tryck på Kör och sedan på knappen.

Visa ledtråd
  1. Knappen sitter på bänken under koden. Håll den nere med musen, fingret eller mellanslag.
  2. Titta på raden ”Nu körs rad …” medan lampan lyser.
Vy
Hastighet
när Arduinon startar som när gröna flaggan klickas
använd tilläggetLED-slinga
sättLED_PINtill konstant
Kommentar:LED-slingan: data i pin 6 och fyra lampor
sättANTALtill konstant
skapa LED-slingastripmedANTALlampor på pinLED_PIN
sättknappPintill
Kommentar:KnappPin
starta LED-slingan
visa färgerna på slingan
släck alla lampor i minnet
för alltid
omläs digital pinknappPin=då
activate
visa färgerna på slingan
väntamillisekunder
Kommentar:debouncing delay
släck alla lampor i minnet
visa färgerna på slingan
definieraactivatevantargb
Kommentar:Tänder lamporna en i taget i färgen (r, g, b)
upprepa förifråntillANTAL−1
sätt lampaitill färgfärgrödrgröngblåb
visa färgerna på slingan
väntavantamillisekunder

Tryck Esc och sedan Tabb för att lämna kodrutan.

Inga fel i koden.

Så läser du raden

Peka på ett block eller en rad i koden, eller tryck på Stega.

Konsol

Koden går att köra. Tryck på Kör för att ladda upp den.

Tidslinje

Kör programmet för att se tidslinjen.

Programmet är stoppat

Varv 00,00 s

  • D40knappen
  • D6data till slingan
  • A0 0
  • Lsläckt

Pröva

Undersök

Titta på vilken rad som körs och vad pin 4 läser.

Kodlabb

Stega genom ett varv

Lås knappen nere och stega genom ett helt varv i loop(): rad 30, 31 och 37.

Visa ledtråd
  1. Tryck på Lås knappen nere och sedan på Stega flera gånger.
  2. Stega över kör activate i ett svep i stället för att gå in i den.
Vy
Hastighet
när Arduinon startar som när gröna flaggan klickas
använd tilläggetLED-slinga
sättLED_PINtill konstant
Kommentar:LED-slingan: data i pin 6 och fyra lampor
sättANTALtill konstant
skapa LED-slingastripmedANTALlampor på pinLED_PIN
sättknappPintill
Kommentar:KnappPin
starta LED-slingan
visa färgerna på slingan
släck alla lampor i minnet
för alltid
omläs digital pinknappPin=då
activate
visa färgerna på slingan
väntamillisekunder
Kommentar:debouncing delay
släck alla lampor i minnet
visa färgerna på slingan
definieraactivatevantargb
Kommentar:Tänder lamporna en i taget i färgen (r, g, b)
upprepa förifråntillANTAL−1
sätt lampaitill färgfärgrödrgröngblåb
visa färgerna på slingan
väntavantamillisekunder

Tryck Esc och sedan Tabb för att lämna kodrutan.

Inga fel i koden.

Så läser du raden

Peka på ett block eller en rad i koden, eller tryck på Stega.

Konsol

Koden går att köra. Tryck på Kör för att ladda upp den.

Tidslinje

Kör programmet för att se tidslinjen.

Programmet är stoppat

Varv 00,00 s

  • D40knappen
  • D6data till slingan
  • A0 0
  • Lsläckt
Fråga
Vad finns i variabeln knappPin?

Fråga
Vad är skillnaden mellan = och ==?

Fråga
Hur många gånger körs setup()?

Fråga
Lampan lyser, och programmet väntar på rad 37. Du trycker snabbt en gång till. Märker programmet det?

Pröva

Bygg loop() igen

Pussel

Tre av raderna i högen hör inte hemma i programmet.

Dra raderna i ordning. Dra åt höger för indrag. Med tangentbordet: mellanslag lyfter och släpper, pilarna upp och ned flyttar, vänster och höger ändrar indraget och Enter byter yta.

Rader 12

  1. strip.show();
  2. strip.show();
  3. }
  4. delay(2000);
  5. }
  6. void loop() {
  7. if (digitalRead(knappPin) = 1) {
  8. delay(2);
  9. activate(0, 255, 0, 0);
  10. strip.clear();
  11. if (digitalRead(knappPin) == 1) {
  12. if (knappPin == 1) {

Ditt program 0

Dra rader hit, eller tryck på pilen vid en rad.

Förklara

Med egna ord

Förklara
Börja med

Filmen är gjord av Albin Holmqvist. Det du skriver och bygger sparas bara i din webbläsare.