Arduino - SW520D Neigungssensor

Das SW520D-Neigungssensormodul (auch als Kugel-Schalter oder Winkelsensor bekannt) kann Neigungsänderungen oder Orientierungsänderungen erkennen. Es kann für Neigungsreaktivprojekte verwendet werden, wie z.B. einen Alarm, der ausgelöst wird, wenn ein Objekt bewegt wird, oder einen Servomotor, der auf die Orientierung reagiert.

In diesem Tutorial lernen wir, wie man Arduino und einen SW520D-Neigungssensor verwendet, um Neigung zu erkennen. Im Detail werden wir lernen:

Arduino SW520D Neigungssensor

Danach können Sie den Code anpassen, um eine LED oder ein Licht (über ein Relais) zu aktivieren, wenn er eine Neigung erkennt, oder sogar einen Servomotor rotieren lassen.

Benötigte Hardware

1×Arduino Uno R3
1×USB 2.0 Kabel Typ A/B (für USB-A PC)
1×USB 2.0 Kabel Typ C/B (für USB-C PC)
1×SW520D Tilt Sensor Module
1×Verbindungskabel
1×(Empfohlen) Schraubklemmenblock-Shield für Arduino Uno
1×(Empfohlen) Sensors/Servo Expansion Shield for Arduino Uno
1×(Empfohlen) Breadboard-Shield für Arduino Uno
1×(Empfohlen) Gehäuse für Arduino Uno
1×(Empfohlen) Prototyping-Grundplatte & Breadboard-Kit für Arduino Uno

Oder Sie können die folgenden Kits kaufen:

1×DIYables STEM V3 Starter-Kit (Arduino enthalten)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Über den SW520D-Neigungssensor

Das SW520D-Neigungssensormodul kann zur Erkennung von Neigungsänderungen oder Orientierungsänderungen in der Umgebung verwendet werden. Innerhalb des Moduls befindet sich eine kleine Metallkugel, die je nach Neigungswinkel zwischen zwei elektrischen Kontakten rollt. Das Modul gibt ein einfaches digitales Signal (EIN/AUS) aus, was die Verbindung mit Arduino erleichtert.

Die SW520D-Neigungssensor-Pinbelegung

Der SW520D-Neigungssensor hat drei Anschlüsse:

  • VCC-Anschluss: muss mit VCC (3,3V bis 5V) verbunden werden
  • GND-Anschluss: muss mit GND (0V) verbunden werden
  • DO-Anschluss: ist ein Ausgabeanschluss: HIGH, wenn der Sensor aufrecht ist, und LOW, wenn der Sensor geneigt ist. Dieser Anschluss muss mit einem Eingangsanschluss von Arduino verbunden werden.
SW520D Neigungssensor Pinbelegung
image source: diyables.io

Das SW520D-Neigungssensormodul hat auch zwei LED-Indikatoren:

  • Ein LED-Indikator für die Stromversorgung
  • Ein LED-Indikator für den Neigungsstatus: leuchtet, wenn der Sensor aufrecht ist, erlischt, wenn er geneigt ist

Wie es funktioniert

  • Wenn der Sensor aufrecht ist, schließt die Metallkugel im Inneren den Kontakt, und der Ausgabeanschluss ist HIGH.
  • Wenn der Sensor geneigt ist, öffnet die Metallkugel im Inneren den Kontakt, und der Ausgabeanschluss ist LOW.

Verdrahtungsdiagramm

Arduino SW520D Neigungssensor Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Programmieren für den SW520D-Neigungssensor

  • Initialisiert den Arduino-Anschluss im digitalen Eingabemodus mit der Funktion pinMode(). Beispiel: Pin 5
pinMode(5, INPUT);
  • Liest den Zustand des Arduino-Anschlusses mit der Funktion digitalRead().
int tiltState = digitalRead(5);

Arduino-Code - Neigung erkennen

/* * Dieser Arduino Code wurde von newbiely.de entwickelt * Dieser Arduino Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino/arduino-sw520d-tilt-sensor */ // Arduino's pin connected to DO pin of the SW520D tilt sensor #define SENSOR_PIN 5 int lastState = HIGH; // the previous state from the input pin int currentState; // the current reading from the input pin void setup() { // initialize serial communication at 9600 bits per second: Serial.begin(9600); // initialize the Arduino's pin as an input pinMode(SENSOR_PIN, INPUT); } void loop() { // read the state of the the input pin: currentState = digitalRead(SENSOR_PIN); if (lastState == HIGH && currentState == LOW) Serial.println("The tilt has been detected"); else if (lastState == LOW && currentState == HIGH) Serial.println("The tilt has disappeared"); // save the the last state lastState = currentState; }

Schnelle Schritte

  • Kopieren Sie den obigen Code und öffnen Sie ihn mit der Arduino IDE
  • Klicken Sie auf die Schaltfläche Upload in der Arduino IDE, um den Code auf Arduino hochzuladen
  • Kippen Sie den SW520D-Sensor hin und her
  • Sehen Sie sich das Ergebnis im Serial Monitor an.
Newbiely | Arduino IDE 2.3.8
──
File
Edit
Sketch
Tools
Help
Arduino Uno
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Uno' on 'COM15')
New Line
9600 baud
The tilt has been detected The tilt has disappeared The tilt has been detected The tilt has disappeared
Ln 11, Col 1
Arduino Uno on COM15
2

Jetzt können wir den Code anpassen, um eine LED oder ein Licht zu aktivieren, wenn eine Neigung erkannt wird, oder sogar um einen Servomotor zu drehen. Sie können weitere Informationen und Schritt-für-Schritt-Anweisungen in den am Ende dieses Tutorials bereitgestellten Tutorials finden.

Fehlerbehebung

Wenn der SW520D-Neigungssensor nicht richtig funktioniert, versuchen Sie die folgenden Schritte:

  • Überprüfen Sie die Ausrichtung: Der SW520D ist empfindlich gegenüber seiner Montageausrichtung. Stellen Sie sicher, dass er in der korrekten aufrechten Position installiert ist, um eine zuverlässige Erkennung zu gewährleisten.
  • Vibrationen reduzieren: Der Neigungssensor kann auch mechanische Vibrationen aufnehmen. Die Montage auf einer festen Oberfläche kann dazu beitragen, Fehlauslösungen zu minimieren.
  • Überprüfen Sie die Verdrahtung: Stellen Sie sicher, dass die Anschlüsse VCC, GND und DO korrekt verbunden sind.
  • Überprüfen Sie die Stromversorgung: Stellen Sie sicher, dass die Stromversorgung stabil ist, um konsistente Messwerte zu erhalten.

Video Tutorial

Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.

Funktionsreferenzen

Kommentare

Verwandte Tutorials

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!