Level 1Lærerveiledning - RGB-lysdiode

Skrevet av: Morten Minde Neergaard, Martin Ertsås og Susanne Rynning Seip

Kurs: Arduino
Tema: Elektronikk, Tekstbasert
Fag: Naturfag, Teknologi
Klassetrinn: 5.-7. klasse, 8.-10. klasse, Videregående skole
Til oppgave

Om oppgaven

I denne oppgaven skal elevene få en RGB-lysdiode til å lyse.

checkOppgaven passer til:

Fag: Naturfag, Teknologi og Design, Teknologi og forskningslære

Anbefalte trinn: 5. trinn - VG3

Tema: Arduino, Kretser, RGB-lysiode, Løkker

Tidsbruk: Dobbelttime

Kompetansemål

Forslag til læringsmål

Forslag til vurderingskriterier

Oppgaven er grunnleggende, og kan ikke brukes alene for vurdering av kompetansemålet.

Forutsetninger og utstyr

    utstyr

Fremgangsmåte

Her kommer tips, erfaring og utfordringer til de ulike stegene i den faktiske oppgaven. Klikk her for å se oppgaveteksten.

Løsningsforslag for fargekombinasjonssykling

const auto roed_pinne = 9;
const auto groenn_pinne = 10;
const auto blaa_pinne = 11;

const auto roed_styrke = 255 * 0.7;
const auto groenn_styrke = 255 * 0.85;
const auto blaa_styrke = 255;

void setup() {
  for (auto led = 9; led <= 11; ++led) {
    pinMode(led, OUTPUT);
    digitalWrite(led, LOW);
  }
}

void loop() {
  for (auto roed = 0; roed <= 1; ++roed) {
    analogWrite(roed_pinne, roed * roed_styrke);

    for (auto groenn = 0; groenn <= 1; ++groenn) {
      analogWrite(groenn_pinne, groenn * groenn_styrke);

      for (auto blaa = 0; blaa <= 1; ++blaa) {
        analogWrite(blaa_pinne, blaa * blaa_styrke);
        delay(1000);
      }
    }
  }
}

Kommentar

Vi har testet dette med RGB-lysdioden som er med i kodegenet sin pakke. For å kunne se blå og grønn mens rød hadde full intensitet måtte vi skalere intensiteten til rød med 0.7. Det er også grunnen til at vi har skalert grønn med 0.85, denne gangen for å kunne se blå.

Skaleringsfaktorene kan variere mellom lysdioder, så hvis disse faktorene ikke fungerer må en prøve seg frem.

Variasjoner

Eksterne ressurser

Lisens: CC BY-SA 4.0

Forbedre denne siden

Funnet en feil? Kunne noe vært bedre?
Hvis ja, vennligst gi oss tilbakemelding ved å lage en sak på Github eller fiks feilen selv om du kan. Vi er takknemlige for enhver tilbakemelding!