Erfassen von digitalen und analogen Werten

Aus Informatik
Wechseln zu: Navigation, Suche

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.

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

  1. Welche Werte nimmt die Variable sensorValue an? Teste, indem du ein Patchkabel mit Port2 und wahlweise +5V oder GND verbindest.
  2. 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.

Schaltung schaltung potentiometer.png