// Einlesen analoger Werte
//
// Die Funktion analogRead (PIN) liefert die Spannung,
// die an PIN angeschlossen ist.
// Sie funktioniert nur an den Pins A0 bis A5
//
// Ist die Spannung 0V, liefert die Funktion 0
// Ist die Spannung 5V, liefert die Funktion 1023
//
// In diesem Beispiel wird die Spannung von einem
// Schiebe-Potentiometer geliefert
// Mit der seriellen Schnittstelle werden die Werte
// ausgegeben
//
// Der eingelesene Wert wird in Spannung umgerechnet und steuert
// eine LED (als Ersatz für den Motor) an
// Definition der Anschlüsse (Pins)
#define SIGNAL A1
#define MOTOR 6
#define SCHWELLE 500 // analoger Wert, bei dem der Motor einschalten soll
int signal; // Variable zum Zwischenspeichern des Messwerts
// Beachte: Kleinbuchstaben, das ist etwas anderes als SIGNAL
// Im setup werden die benutzen Pins aus Ausgang bzw. Eingang konfiguriert
void setup() {
// Aktivieren der seriellen Schnittstelle
Serial.begin(9600);
// fuer analoge Eingaenge ist kein pinMode notwendig
pinMode ( MOTOR, OUTPUT);
}
void loop() {
signal = analogRead ( SIGNAL );
Serial.print( signal ); // eingelesener Wert 0..1023
Serial.print( "\t" ); // Tabulator, um Platz zu machen
Serial.print( signal * 5.0 / 1023 ); // Umrechnung in Spannung
Serial.println ( "V" );
if ( signal > SCHWELLE ) {
digitalWrite ( MOTOR, HIGH );
} else {
digitalWrite ( MOTOR, LOW );
}
}