Eines der häufigsten Einsatzgebiete für Microkontroller Boards ist das Einlesen der Werte von Sensoren / variablen Widerständen. Dazu gehören z.B:
- Mikrofone
- Photozellen
- Temperatursensoren
- Beuge- und Neigungssensoren
Dies setzt eine Wandlung von einer analogen Eingangsquelle in digitale Werte voraus. Ein gewöhnliches Arduino Duemilanove Board hat dafür 6 analoge Eingangspins. Die gebräuchlichsten Schaltkreise um analoge Spannungen einzulesen sind der Spannungsteiler und das RC-Glied.
Im folgenden wird zur Übersicht der Spannungsteiler Schaltkreis zum Einlesen einer Photozelle gezeigt. Das selbe Prinzip lässt sich auf viele andere Sensoren anwenden. Die Photozelle steuert die Geschwindigeit mit der die Leuchtdiode blinkt.
int photoZellenPin = 3;
int ledPin = 13;
int value = 0;
void setup()
{
// benutze PIN 13 für den Output
pinMode(ledPin, OUTPUT);
}
void loop()
{
// wert der Photozelle einlesen
value = analogRead(photoZellenPin);
// led anschalten
digitalWrite(ledPin, HIGH);
// value millisekunden warten
delay(value);
// led wieder ausschalten
digitalWrite(ledPin, LOW);
delay(value);
}