Dieses Beispiel zeigt die Verwendung eines digitalen Eingangsmoduls (M5S-BID0524B1) zur Erkennung einer Spannung von 24 V DC. Mittels der Funktion digitalRead wird ein digitaler Eingangspin ausgelesen. Das Ergebnis wird auf dem seriellen Monitor ausgegeben.

Da im Code pinMode(INPUT_PULLUP) statt pinMode(INPUT) verwendet wird, ist kein externer Pull-Up-Widerstand erforderlich. Ein interner Widerstand von 20 kΩ im Arduino zieht den Eingangspin im passiven Zustand auf 5 V. Diese Konfiguration bewirkt, dass am Eingang HIGH gelesen wird, wenn das Eingangsmodul AUS ist, und LOW, wenn es AN ist.


Schaltung

  • Extern: M5S-Digitaleingangsmodul erkennt eine Spannung von 24 V DC
  • Intern: M5S-Digitaleingangsmodul verbunden mit Arduino-Digitalpin 2


Eigenschaften verschiedener Eingangsmodule

  • M5S-BID0524B1
    M5S-Eingang Uext   -> M5S AN  -> Arduino-Pin-Spannung 0 V -> Arduino-Wert 0 (LOW)
    M5S-Eingang passiv -> M5S AUS -> Arduino-Pin-Spannung 5 V -> Arduino-Wert 1 (HIGH)
  • M5S-BID0524A1
    M5S-Eingang GND    -> M5S AN  -> Arduino-Pin-Spannung 0 V -> Arduino-Wert 0 (LOW)
    M5S-Eingang passiv -> M5S AUS -> Arduino-Pin-Spannung 5 V -> Arduino-Wert 1 (HIGH)


Code

void setup() {  
  Serial.begin(9600);       // start serial connection
  pinMode(2, INPUT_PULLUP); // configure pin 2 as an input and enable the internal pull-up resistor  
}

void loop() {
  int sensorVal = digitalRead(2); // read the value of pin 2 into a variable
  Serial.println(sensorVal);      // print the value to the Serial Monitor
}

Dieser Beispielcode basiert auf dem Arduino-Standardbeispiel:
http://www.arduino.cc/en/Tutorial/InputPullupSerial