Erfassen von digitalen und analogen Werten
Wir haben bisher einzelne Ports nur zur Ausgabe von Signalen verwendet. Das Arduino-Board ermöglicht uns aber auch das Einlesen / Erfassen von digitalen und analogen Werten.
Inhaltsverzeichnis
Digitale Werte erfassen
Digitale Ports können wahlweise als Ein- oder Ausgang festgelegt werden. Benutze folgendes Programm, um einen Wert einzulesen:
/*
Die Daten an Port 2 werden eingelesen und auf dem Serial Monitor ausgegeben.
*/
void setup() {
Serial.begin(9600);
pinMode(2, INPUT);
}
void loop() {
int sensorValue = digitalRead(2);
Serial.println(sensorValue, DEC);
}
Den eingelesenen Wert kann man im Serial Monitor anzeigen lassen. Dieser kann über das Menu Tools -> Serial Monitor aufgerufen werden.
Aufgabe 1
- Welche Werte nimmt die Variable sensorValue an? Teste, indem du ein Patchkabel mit Port2 und wahlweise +5V oder GND verbindest.
- Was passiert, wenn du das in Port2 eingesteckte Kabel in der Luft hängen lässt und dabei ggf. bewegst?
Bemerkung: Um das auftrende, störende Verhalten zu beseitigen verwendet man pull-down-Widerstände.
Analoge Werte erfassen
Der Mikrocontroller hat einen Analog-Digitalwandler an Board. Werte, die auf den analogen Ports (z.B. A0) eingelesen werden, werden in digitale Werte gewandelt. Die Auflösung beträgt dabei 10 bit, d.h. die Messwerte liegen zwischen 0 und 1023.
Beachte: Die analogen Ports werden nicht als Ein- bzw. Ausgang definiert!
In einem Beispiel sollen analoge Werte in einer Potentiometerschaltung gemessen werden.
Aufgabe 2
Baue eine Spannungsteilerschaltung mittels Potentiometer (veränderbarer Widerstand) so auf, dass du das Potenzial an A2 variieren kannst.