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