Arduino - Digitaleingang
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
Arduino - Digitalausgang
Dieses Beispiel zeigt die Verwendung eines digitalen Ausgangsmoduls (M5S-BOT05750D1b) zum Schalten einer Last mit einer maximalen Spannung von 24 V DC und einem maximalen Strom von 750 mA. Mittels der Funktion digitalWrite wird ein Wert (HIGH/LOW) auf einen digitalen Pin geschrieben. Dieser Wert wird auch auf dem seriellen Monitor ausgegeben.
Schaltung
- Extern: M5S-Digitalausgangsmodul schaltet eine Last mit einer maximalen Spannung von 24 V DC und einem maximalen Strom von 750 mA
- Intern: M5S-Digitalausgangsmodul verbunden mit Arduino-Digitalpin 3
Eigenschaften verschiedener Ausgangsmodule
- M5S-BOT05750D1b
Arduino-Wert 0 (LOW) -> Arduino-Pin-Spannung 0 V -> M5S AN -> M5S-Ausgang Uext
Arduino-Wert 1 (HIGH) -> Arduino-Pin-Spannung 5 V -> M5S AUS -> M5S-Ausgang passiv - M5S-BOT05750C1b
Arduino-Wert 0 (LOW) -> Arduino-Pin-Spannung 0 V -> M5S AN -> M5S-Ausgang GND
Arduino-Wert 1 (HIGH) -> Arduino-Pin-Spannung 5 V -> M5S AUS -> M5S-Ausgang passiv
Code
void setup() {
Serial.begin(9600); // start serial connection
pinMode(3, OUTPUT); // configure pin 3 as an output
}
void loop() {
writeAndPrint(HIGH);
delay(1000); // wait 1 second
writeAndPrint(LOW);
delay(3000); // wait 3 seonds
}
void writeAndPrint(int value) {
digitalWrite(3, value); // write the value to pin 3
Serial.println(value); // print the value to the Serial Monitor
}
Dieser Beispielcode basiert auf dem Arduino-Standardbeispiel:
http://www.arduino.cc/en/Tutorial/InputPullupSerial
Arduino - Analogeingang
Dieses Beispiel zeigt die Verwendung von M5S-Analogeingangsmodulen zum Lesen von 0-20 mA / 0-10 V-Signalen. Mittels der Funktion analogRead wird ein analoger Eingangspin ausgelesen, was zu einem Wert zwischen 0 und 1023 führt. Dieser Wert wird dann auf dem seriellen Monitor ausgegeben.
Schaltung
- Extern: M5S-Analogeingangsmodul verbunden mit einem 0-20 mA / 0-10 V-Signal
- Intern: M5S-Analogeingangsmodul verbunden mit Arduino-Analogpin A4
Eigenschaften verschiedener Eingangsmodule
- M5S-AIA05020B3
M5S-Eingang 0 mA -> Arduino-Pin-Spannung 0 V -> Arduino-Wert 0
M5S-Eingang 20 mA -> Arduino-Pin-Spannung 5 V -> Arduino-Wert 1023 - M5S-AIV05010B3
M5S-Eingang 0 V -> Arduino-Pin-Spannung 0 V -> Arduino-Wert 0
M5S-Eingang 10 V -> Arduino-Pin-Spannung 5 V -> Arduino-Wert 1023
Code
const int analogInPin = A4; // analogue input pin
void setup() {
Serial.begin(9600); // start serial connection
}
void loop() {
int sensorValue = analogRead(analogInPin); // read the value of analogInPin into a variable
Serial.println(sensorValue); // print the value to the Serial Monitor
// wait 2 milliseconds before the next loop for the analogue-to-digital
// converter to settle after the last reading
delay(2);
}
Dieser Beispielcode basiert auf dem Arduino-Standardbeispiel:
http://www.arduino.cc/en/Tutorial/AnalogInOutSerial
Arduino - Analogausgang
Dieses Beispiel zeigt die Verwendung von M5S-Analogausgangsmodulen zur Ausgabe von 0-20 mA / 0-10 V-Signalen. Mittels der Funktion analogWrite wird der Wert der Pulsweitenmodulation (PWM) eines digitalen Ausgangspins gesetzt. Der Wert muss zwischen 0 und 255 liegen. Dieser Wert wird dann auch auf dem seriellen Monitor ausgegeben.
Schaltung
- Extern: M5S-Analogausgangsmodul gibt ein Signal von 0-10 mA / 0-10 V aus.
- Intern: M5S-Analogausgangsmodul verbunden mit Arduino-Digitalpin 5
Eigenschaften verschiedener Ausgangsmodule
- M5S-AOA05020D3Ab
Arduino-Wert 0 -> Arduino-Pin-Spannung immer 0 V -> M5S AN -> M5S-Ausgang 20 mA
Arduino-Wert 255 -> Arduino-Pin-Spannung immer 5 V -> M5S AUS -> M5S-Ausgang 0 mA - M5S-AOV05010D3Ab
Arduino-Wert 0 -> Arduino-Pin-Spannung immer 0 V -> M5S AN -> M5S-Ausgang 10 V
Arduino-Wert 255 -> Arduino-Pin-Spannung immer 5 V -> M5S AUS -> M5S-Ausgang 0 V
Code
const int analogOutPin = 5; // analogue output pin
void setup() {
Serial.begin(9600); // start serial connection
}
void loop() {
writeAndPrint(0);
delay(1000); // wait 1 second
writeAndPrint(127);
delay(1000); // wait 1 second
writeAndPrint(255);
delay(3000); // wait 3 seconds
}
void writeAndPrint(int value) {
analogWrite(analogOutPin, value); // change the value of analogOutPin
Serial.println(value); // print the value to the Serial Monitor
}
Dieser Beispielcode basiert auf dem Arduino-Standardbeispiel:
http://www.arduino.cc/en/Tutorial/AnalogInOutSerial