ESP8266 - SW520D Neigungs-Sensor

Das SW520D Neigungs-Sensormodul hat die Fähigkeit, Neigungen oder Orientierungsänderungen in seiner Umgebung zu erkennen. Es kann verwendet werden, um Projekte zu erstellen, die auf Neigung reagieren, wie einen Alarm, der aktiviert wird, wenn ein Objekt gestört wird, oder einen Servomotor, der auf Orientierungsänderungen reagiert.

Dieses Tutorial zeigt Ihnen, wie Sie den ESP8266 und einen SW520D-Neigungs-Sensor verwenden, um Neigung zu erkennen. Wir werden folgende Themen untersuchen:

ESP8266 NodeMCU NodeMCU SW520D Neigungs-Sensor

Danach können Sie den Code ändern, um bei Neigungserkennung die Aktivierung einer LED oder eines Lichts (mit Hilfe eines Relais) auszulösen, oder sogar einen Servomotor zum Drehen bringen.

Hardware erforderlich

1×ESP8266 NodeMCU ESP-12E
1×Empfohlen: ESP8266 NodeMCU ESP-12E (Uno-form)
1×USB-Kabel Typ-C
1×SW520D Neigungs-Sensormodul
1×Verbindungskabel
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für ESP8266
1×(Empfohlen) Stromverteiler für ESP8266 Typ-C

Oder Sie können die folgenden Kits kaufen:

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 Neigungs-Sensor

Das SW520D Neigungs-Sensormodul 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 Elektrokontakten rollt. Das Modul gibt ein einfaches digitales Signal (AN/AUS) aus, das eine einfache Verbindung mit dem ESP8266 ermöglicht.

Der Pinbelegung des SW520D Neigungs-Sensors

Der SW520D Neigungs-Sensor hat drei Pins:

  • VCC-Pin: muss mit VCC (3,3V bis 5V) verbunden werden
  • GND-Pin: muss mit GND (0V) verbunden werden
  • DO-Pin: ist ein Ausgabe-Pin: HIGH, wenn der Sensor aufrecht ist, und LOW, wenn der Sensor geneigt ist. Dieser Pin muss mit einem Eingangspin des ESP8266 verbunden werden.
SW520D Neigungs-Sensor Pinbelegung
image source: diyables.io

Das SW520D Neigungs-Sensormodul wird mit zwei LED-Anzeigen geliefert:

  • Eine LED zeigt den Stromversorgungsstatus an.
  • Eine weitere LED zeigt den Neigungszustand an: Sie leuchtet auf, wenn der Sensor aufrecht ist, und schaltet sich aus, wenn er geneigt ist.

Funktionsweise

So verhalten sich der Sensor:

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

Schaltplan

  • Der Schaltplan zwischen ESP8266 und SW520D Neigungs-Sensor beim Stromversorgung über USB-Anschluss
ESP8266 NodeMCU SW520D Neigungs-Sensor Schaltplan

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

Weitere Informationen finden Sie unter ESP8266-Pinbelegung und wie man ESP8266 und andere Komponenten mit Strom versorgt.

  • Der Schaltplan zwischen ESP8266 und SW520D Neigungs-Sensor beim Stromversorgung über Vin
ESP8266 NodeMCU SW520D Neigungs-Sensor Vin Schaltplan

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

Wie man den SW520D Neigungs-Sensor programmiert

  • Initialisiert den ESP8266-Pin in den Digitaleingabemodus mit Hilfe der pinMode() Funktion. Zum Beispiel Pin D7
pinMode(D7, INPUT);
  • Liest den Zustand des ESP8266-Pins mit Hilfe der digitalRead() Funktion.
int tiltState = digitalRead(D7);

ESP8266 Code - Neigung erkennen

/* * Dieser ESP8266 NodeMCU Code wurde von newbiely.de entwickelt * Dieser ESP8266 NodeMCU 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/esp8266/esp8266-sw520d-tilt-sensor */ #define SENSOR_PIN D7 // The ESP8266 pin D7 connected to the DO pin of the SW520D tilt sensor int prev_state = HIGH; // The previous state from the input pin int tilt_state; // The current reading from the input pin void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(9600); // initialize the ESP8266's pin as an input pinMode(SENSOR_PIN, INPUT); } void loop() { // read the state of the ESP8266's input pin tilt_state = digitalRead(SENSOR_PIN); if (prev_state == HIGH && tilt_state == LOW) Serial.println("The tilt has been detected"); else if (prev_state == LOW && tilt_state == HIGH) Serial.println("The tilt has disappeared"); // save the the last state prev_state = tilt_state; }

Schnelle Schritte

Um mit ESP8266 auf der Arduino IDE zu beginnen, führen Sie diese Schritte aus:

  • Sehen Sie sich das Tutorial Wie man die Umgebung für ESP8266 auf Arduino IDE einrichtet an, wenn Sie ESP8266 zum ersten Mal verwenden.
  • Verbinden Sie die Komponenten wie in dem Schaltplan gezeigt.
  • Verbinden Sie das ESP8266-Board mit Ihrem Computer über ein USB-Kabel.
  • Öffnen Sie Arduino IDE auf Ihrem Computer.
  • Wählen Sie das richtige ESP8266-Board (z. B. NodeMCU 1.0 (ESP-12E Module)) und seinen jeweiligen COM-Anschluss.
  • Kopieren Sie den obigen Code und öffnen Sie ihn mit Arduino IDE
  • Klicken Sie auf die Schaltfläche Upload in der Arduino IDE, um den Code auf den ESP8266 hochzuladen
  • Neigen Sie den SW520D-Sensor hin und her
  • Überprüfen Sie das Ergebnis auf dem Serial Monitor.
Newbiely | Arduino IDE 2.3.8
──
File
Edit
Sketch
Tools
Help
Nodemcu 1.0 (ESP-12E Module)
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Nodemcu 1.0 (ESP-12E 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
Nodemcu 1.0 (ESP-12E Module) on COM15
2

Nun können wir mit dem angepassten Code eine LED oder ein Licht aktivieren, wenn eine Neigung erkannt wird. Wir können sogar einen Servomotor zum Drehen bringen. Detaillierte Anweisungen und weitere Informationen finden Sie in den Tutorials am Ende dieser Anleitung.

Fehlerbehebung

Wenn Sie Probleme mit dem SW520D Neigungs-Sensor haben, der nicht korrekt funktioniert, versuchen Sie die folgenden Fehlerbehebungsschritte:

  • Überprüfen Sie die Ausrichtung: Der SW520D ist empfindlich für seine Montagausrichtung. 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 Neigungs-Sensors beeinträchtigen. Das Anbringen auf einer stabilen Oberfläche kann dazu beitragen, Fehlauslösungen zu minimieren.
  • Überprüfen Sie die Verdrahtung: Stellen Sie sicher, dass die VCC-, GND- und DO-Pins korrekt verbunden sind.
  • Überprüfen Sie die Stromversorgung: Stellen Sie sicher, dass die Stromversorgung sauber und 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!