Mein Versuchsaufbau besteht aus:
- 1 x Arduino Nano
- 1 x rote LED
- 2 x kleines Breadboard
- 1 x 220 Ohm-Widerstand
- 1 x Vibrationsmodul SW420 von AZ-Delivery
- Kabel
Verwendete Software:
- Arduino IDE 1.8.16
- angepasster Quellcode aus dem Tutorial von AZ-Delivery
ACHTUNG:
Datenblatt für das Modul auf der Seite von AZ-Delivery durchlesen!
Bei einigen Microcontrollern kann eine falsche Spannungsversorgung Schäden anrichten!
Anschlussplan:

Folgender Quellcode wurde verwendet:
#define DIGITAL_PIN 2
boolean vibrate = false;
String vib;
int LED = 3;
void setup() {
Serial.begin(115200);
pinMode(DIGITAL_PIN, INPUT);
pinMode(LED, OUTPUT);
}
void loop() {
vibrate = digitalRead(DIGITAL_PIN);
if (vibrate) {
vib = "Yes";
analogWrite(LED, 255);
}
else {
vib = "No";
analogWrite(LED, 0);
}
Serial.print("Vibration detected: ");
Serial.println(vib);
if (vibrate) {
delay(2000);
}
}
Ergebnis:
Tut, was er soll. Durch das delay(2000) am Ende des Codes wird die LED erst nach 2000 ms wieder ausgeschaltet.
Vibrationen werden durch die von mir vorgenommenen Modifikationen genauer erkannt.