← Zurück zum Kapitel

Musterlösung Batterietester

Der erste Schritt bei der Übungsaufgabe ist die Berechnung der Schwellwerte. Nur so können wir danach entscheiden, welche Werte in den if-Bedingungen abgefragt werden.

Der erste Wert ist 1,3V:

$ Wandlerwert = \dfrac{1,3V}{0,00488V}-1 = 265 $

Der zweite Wert ist 1,4V:

$ Wandlerwert = \dfrac{1,4V}{0,00488V}-1 = 285 $

Nun können wir unseren Code schreiben:

kapitel09_schwellwertschalter.ino
#define LED_ROT 13
#define LED_GELB 12
#define LED_GRUEN 11
#define ANALOGPIN A0
 
int analogwert = 0;
 
void setup()
{
  pinMode(LED_ROT, OUTPUT);   // Pin auf Ausgang
  pinMode(LED_GELB, OUTPUT);  // Pin auf Ausgang
  pinMode(LED_GRUEN, OUTPUT); // Pin auf Ausgang
  pinMode(ANALOGPIN, INPUT);  // Pin auf Eingang
}
 
void loop()
{
  analogwert = analogRead(ANALOGPIN);
  if(analogwert<265)
  {
    digitalWrite(LED_ROT, HIGH);
    digitalWrite(LED_GELB, LOW);
    digitalWrite(LED_GRUEN, LOW);
  }
  else if(analogwert<285)
  {
    digitalWrite(LED_ROT, LOW);
    digitalWrite(LED_GELB, HIGH);
    digitalWrite(LED_GRUEN, LOW);
  }
  else
  {
    digitalWrite(LED_ROT, LOW);
    digitalWrite(LED_GELB, LOW);
    digitalWrite(LED_GRUEN, HIGH);
  }
}