ESP32 - SW520D Neigungssensor

Das SW520D-Neigungssensormodul ist in der Lage, Neigungen oder Orientierungsänderungen in seiner Umgebung zu erkennen. Es kann verwendet werden, um neigungsreaktive Projekte wie einen Alarm zu erstellen, der aktiviert wird, wenn ein Objekt gestört wird, oder einen Servomotor, der auf Orientierungsänderungen reagiert.

In diesem Tutorial erfahren Sie, wie Sie den ESP32 und einen SW520D-Neigungssensor zur Erkennung von Neigung verwenden. Wir werden auf folgende Punkte eingehen:

ESP32 SW520D tilt sensor

Danach haben Sie die Flexibilität, den Code zu ändern, um eine LED oder ein Licht (mit einem Relais) bei Neigungserkennung zu aktivieren, oder sogar einen Servomotor zum Drehen zu aktivieren.

Über den SW520D Neigungssensor

Das SW520D-Neigungssensormodul kann verwendet werden, um Neigungen oder Orientierungsänderungen in der Umgebung zu erkennen. 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 Schnittstelle mit dem ESP32 erleichtert.

Der SW520D Neigungssensor Anschlussbelegung

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 Ausgangsanschluss: HIGH wenn der Sensor aufrecht ist und LOW wenn der Sensor geneigt ist. Dieser Anschluss muss mit einem Eingabeanschluss des ESP32 verbunden werden.
SW520D Tilt Sensor Pinout
image source: diyables.io

Das SW520D-Neigungssensormodul hat zwei LED-Indikatoren:

  • Ein LED-Indikator zeigt den Stromversorgungsstatus an.
  • Ein weiterer LED-Indikator zeigt den Neigungszustand an und leuchtet auf, wenn der Sensor aufrecht ist, und schaltet aus, wenn er geneigt ist.

Wie es funktioniert

So verhält sich der Ausgangsanschluss des Sensors:

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

Schaltplan

  • Wie man ESP32 und SW520D Neigungssensor mit Breadboard verbindet
ESP32 SW520D Tilt Sensor Wiring Diagram

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

Wenn Sie nicht wissen, wie Sie ESP32 und andere Komponenten mit Strom versorgen, finden Sie Anleitungen im folgenden Tutorial: Wie man ESP32 mit Strom versorgt.

How to connect ESP32 and SW520D tilt sensor

Programmierung des SW520D Neigungssensors

  • Initialisiert den ESP32-Anschluss im digitalen Eingabemodus mit der Funktion pinMode(). Zum Beispiel Anschluss GPIO18
pinMode(18, INPUT);
  • Liest den Status des ESP32-Anschlusses mit der Funktion digitalRead().
int tiltState = digitalRead(18);

ESP32 Code - Neigungserkennung

/* * Dieser ESP32 Code wurde von newbiely.de entwickelt * Dieser ESP32 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/esp32/esp32-sw520d-tilt-sensor */ #define SENSOR_PIN 18 // ESP32 pin GPIO18 connected to the DO pin of the SW520D tilt sensor 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 ESP32's pin as an input pinMode(SENSOR_PIN, INPUT); } void loop() { // read the state of the ESP32's 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

  • Wenn Sie ESP32 zum ersten Mal verwenden, lesen Sie wie Sie die Umgebung für ESP32 in der Arduino IDE einrichten.
  • 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 ESP32 hochzuladen
  • Neigen Sie den SW520D Sensor hin und her
  • Sehen Sie das Ergebnis auf dem Seriellen Monitor.
Newbiely | Arduino IDE 2.3.8
──
File
Edit
Sketch
Tools
Help
ESP32 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32 Dev Module' 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
ESP32 Dev Module on COM15
2

Jetzt haben wir die Freiheit, den Code zu personalisieren und ihn so zu gestalten, dass eine LED oder ein Licht bei Neigungserkennung aktiviert wird. Wir können sogar einen Servomotor je nach Neigungseingabe drehen lassen. Für detailliertere Anleitungen und Schritt-für-Schritt-Anweisungen können Sie sich auf die Tutorials beziehen, die am Ende dieses Tutorials bereitgestellt werden.

Fehlerbehebung

Wenn Sie Probleme mit der Funktionalität des SW520D-Neigungssensors haben, beachten Sie bitte die folgenden Schritte zur Fehlerbehebung:

  • Überprüfen Sie die Ausrichtung: Der SW520D reagiert empfindlich auf seine Montageausrichtung. Stellen Sie sicher, dass er in der korrekten aufrechten Position installiert ist, um eine zuverlässige Erkennung zu gewährleisten.
  • Vibrationen reduzieren: Mechanische Vibrationen können die Leistung des Neigungssensors beeinflussen. Um falsche Auslösungen zu minimieren, montieren Sie den Sensor auf einer stabilen Oberfläche.
  • Überprüfen Sie die Verdrahtung: Stellen Sie sicher, dass die VCC-, GND- und DO-Anschlüsse korrekt verbunden sind.
  • Überprüfen Sie die Stromversorgung: Stellen Sie sicher, dass die Stromversorgung sauber und stabil ist für konsistente Messwerte.

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!