arduino_foer_ungdomar

Lektion 6: Laddningsknapp

I den här lektionen kommer vi att använda en knapp, lysdioder och en funktion som returnerar ett värde.

6.1 Laddningsknapp: uppgift 1

const int vantetid = 1000;

void setup()
{
  Serial.begin(9600);
}

void loop()
{
  Serial.println("Hej");
  delay(vantetid);
}

Klicka på 'Serial Monitor'

Vad ser du?

\pagebreak

6.2 Laddningsknapp: Lösning 1

Du ser Arduino säga “Hej”!

6.3 Ladda knapp: vanta_lite och visar_knapp_varde, uppgift

\pagebreak

6.4 Laddningsknapp: vanta_lite och visar_knapp_varde, lösning

// ...

void setup()
{
  // ...
}

void visar_knapp_varde()
{
  Serial.println("Hej");
}


void vanta_lite()
{
  delay(vantetid);
}

void loop()
{
  visar_knapp_varde();
  vanta_lite();
}

\pagebreak

6.5 Laddningsknapp: Knapp, Uppgift

void visar_knapp_varde()
{
  if (digitalRead(knapp_stift) == HIGH)
  {
    Serial.println("Knappen ar druckit");
  }
}

\pagebreak

6.6 Laddningsknapp: Knapp, lösning

6.6 Ladda knapp: knapp, lösning

\pagebreak

// ...
const int knapp_stift = 2;

void setup()
{
  // ...
  pinMode(knapp_stift, INPUT);
}

void setup()
{
  // ...
}

void visar_knapp_varde()
{
  if (digitalRead(knapp_stift) == HIGH)
  {
    Serial.println("Knappen ar druckit");
  }
}

void loop()
{
  // ...
}

\pagebreak

6.7 Laddningsknapp: släppknapp, uppgift

\pagebreak

6.8 Laddningsknapp: släppknapp, lösning

const int vantetid = 100;
// ... [variabel knapp_stift]

// ...

void visar_knapp_varde()
{
  if (/* knappen är druckit */)
  {
    // ... [berättar knappen är druckit]
  }
  else
  {
    Serial.println("Knappen ar inte druckit");
  }
}

\pagebreak

6.9 Ladda knapp: lastning, uppgift

Serial.println(lastning);

\pagebreak

6.10 Ladda knapp: lastning, lösning

// ...
int lastning = 0;

void visar_lastning()
{
  Serial.println(lastning);
}

void loop()
{
  // ...
  visar_lastning();
  // ...
}

\pagebreak

6.11 Uppladdningsknapp: reagera_pa_knappen, uppgift

lastning = lastning + 1;

\pagebreak

6.12 Lösning

void reagera_pa_knappen()
{
  if (digitalRead(knapp_stift) == HIGH)
  {
    lastning = lastning + 1;
  }
}

void loop()
{
  // ...
  reagera_pa_knappen();
  // ...
}

\pagebreak

6.13: Slutuppgift

if (lastning > 10)
{
  // ...
}