002 Arduino projekt 2

Sidorna 32 - 41.

Koppla enligt figur 1 och 2 på sidan 34.

Komponenter

  • LED 2 röd, 1 grön
  • switch
  • resistor 3 x 220 ohm, 10 kohm

Mål

Ett program styr dioderna.

Knapp uppsläppt - grön diod lyser, röda dioder släckta

Knapp nere - grön diod släckt, röda dioder lyser växelvis i 250 ms.

Program

Stor och liten bokstav är olika tecken och tolkas olika.

Kopiera inte koden utan skriv av den. Du lär dig mer om du skriver av.

Kod på GitHub

// för att spara om knappen är intryckt eller inte
// 0 - uppe
// 1 - nere
int switchState = 0;

// kod som körs en gång vid start
void setup()
{
  // digitalt stift 3 är output för grön LED
  pinMode(3, OUTPUT); 
  // digitalt stift 4 är output för röd LED
  pinMode(4, OUTPUT); 
  // digitalt stift 5 är output för röd LED
  pinMode(5, OUTPUT); 
  pinMode(2, INPUT);
}

// kod som körs om och om igen
void loop()
{
  switchState = digitalRead(2);

  // LOW har värdet 0
  // HIGH har värdet 1
  if (switchState == LOW)
  {
    // knapp uppe
    digitalWrite(3, HIGH); // grön LED lyser
    digitalWrite(4, LOW); // röd LED släckt
    digitalWrite(5, LOW); // röd LED släckt
  }
  else
  {
    // knapp nere
    digitalWrite(3, LOW); // grön LED släckt
    digitalWrite(4, LOW); // röd LED släckt
    digitalWrite(5, HIGH); // röd LED tänd

    // pausa programkörningen här i 250 ms 
    delay(250);   

    digitalWrite(3, LOW); // grön LED släckt
    digitalWrite(4, HIGH); // röd LED tänd
    digitalWrite(5, LOW); // röd LED släckt

    // pausa programkörningen här i 250 ms 
    delay(250);       
  }
}

Testa

Testa att det fungerar som tänkt. Ändra gärna på koden och se om du kan förutsäga vad som händer. Kanske kan du få de röda dioderna att blinka på ett annat sätt, eller kanske få den gröna dioden att blinka.

Teori - spänningsdelning