Sensor de inclinación SW-520D con Arduino

FunduinoÚltima actualización el

Mit zwei Metallkugeln erkennen, ob etwas gekippt wurde

Manchmal reicht eine einzige Information völlig aus: gekippt oder nicht gekippt. Genau dafür gibt es den Neigungssensor SW-520D – ein Bauteil, in dem zwei Metallkugeln rollen und dabei zwei Kontakte öffnen oder schließen.

Für den Arduino verhält er sich damit wie ein Taster, den die Schwerkraft bedient. In dieser Anleitung lässt du eine LED aufleuchten, sobald der Sensor um mehr als etwa 45 Grad geneigt wird.

Kleines zylindrisches Bauteil mit zwei Anschlussdrähten
Der Neigungssensor SW-520D
Foto des Steckbretts mit Arduino, Neigungssensor und LED
Der fertige Aufbau auf dem Steckbrett
1 / 2

Material

Für dieses Projekt brauchst du:

  • 1× Mikrocontroller mit passendem USB-Kabel
  • 1× Steckbrett
  • 1× Neigungssensor SW-520D
  • 1× LED
  • 1× Vorwiderstand 220 Ohm für die LED
  • 1× Widerstand 10 kOhm als Pull-down für den Sensor
  • Steckkabel männlich/männlich

Wie der Sensor arbeitet

Neigungen lassen sich am Arduino auf mehrere Arten messen. Ein Beschleunigungssensor liefert nahezu jeden Winkel genau. Viel einfacher geht es mit einem Neigungssensor – im Englischen Tilt Switch –, der allerdings nur zwei Zustände kennt: gekippt oder nicht gekippt.

Im Inneren des Gehäuses rollen zwei kleine Metallkugeln. Steht der Sensor aufrecht, liegen sie auf den beiden Kontakten und verbinden sie – als wäre ein Taster gedrückt, der Strom fließt. Kippst du den Sensor um mehr als etwa 45 Grad, rollen die Kugeln weg und die Verbindung ist unterbrochen.

Aufbau und Sketch ähneln deshalb stark dem Projekt mit einem einfachen Taster.

Kleines zylindrisches Bauteil mit zwei Anschlussdrähten
Der Neigungssensor SW-520D
Schnittzeichnung des Neigungssensors mit zwei Kugeln und zwei Kontakten
Im Inneren rollen zwei Metallkugeln – stehen sie auf den Kontakten, ist der Stromkreis geschlossen
1 / 2

Aufbau

Steck den Sensor aufrecht ins Steckbrett. Ein Anschluss geht an 5V, der andere an Pin 7. Von Pin 7 führst du zusätzlich einen 10-kOhm-Widerstand nach GND.

Die LED kommt mit ihrem 220-Ohm-Vorwiderstand an Pin 6, der kurze Anschluss der LED an GND.

Der 10-kOhm-Widerstand ist nicht optional. Sobald die Kugeln den Kontakt öffnen, hängt Pin 7 sonst in der Luft und liest zufällige Werte – die LED würde dann flackern, ohne dass du etwas kippst. Der Widerstand zieht den Pin in diesem Moment sauber auf LOW.

Schaltplan mit Arduino, Neigungssensor, Pull-down-Widerstand und LED
Schaltplan: Sensor an Pin 7, LED mit Vorwiderstand an Pin 6
Foto des Steckbretts mit Arduino, Neigungssensor und LED
Der fertige Aufbau auf dem Steckbrett
1 / 2

Die LED bei Neigung schalten

Die Aufgabe: Die LED soll leuchten, sobald der Sensor um mehr als etwa 45 Grad geneigt wird.

Der Sketch liest Pin 7 aus. Steht der Sensor aufrecht, liefert digitalRead ein HIGH – dann bleibt die LED aus. Wird er gekippt, kippt auch der Wert auf LOW und die LED geht an.

Kipp das Steckbrett vorsichtig zur Seite und beobachte, ab welchem Winkel die LED umschaltet.

Sketch: LED bei Neigung einschalten
int LED = 6;       // Das Wort "LED" steht jetzt fuer den Wert 6.
int TILT = 7;      // Der Neigungssensor wird an Pin 7 angeschlossen.
int NEIGUNG = 0;   // Hier wird spaeter gespeichert, ob eine Neigung vorliegt.

void setup()
{
  pinMode(LED, OUTPUT);   // Der Pin mit der LED ist ein Ausgang.
  pinMode(TILT, INPUT);   // Der Pin mit dem Neigungssensor ist ein Eingang.
}

void loop()
{
  // Pin 7 auslesen. Steht der Sensor aufrecht, verbinden die Kugeln
  // seine beiden Kontakte: am Pin liegt Spannung an, der Wert ist HIGH.
  // Wird der Sensor gekippt, rollen die Kugeln weg, die Verbindung
  // ist unterbrochen und der Wert ist LOW.
  NEIGUNG = digitalRead(TILT);

  if (NEIGUNG == HIGH)        // Sensor steht aufrecht ...
  {
    digitalWrite(LED, LOW);   // ... dann bleibt die LED aus.
  }
  else                        // Ansonsten ist der Sensor gekippt ...
  {
    digitalWrite(LED, HIGH);  // ... und die LED leuchtet.
  }
}
Calificar la guía

Comentarios

Haz una pregunta o comparte tu experiencia

Schreib uns, wenn etwas nicht funktioniert. Nenne dabei dein Board und die Fehlermeldung.

Revisamos cada comentario antes de publicarlo. Tu dirección de correo electrónico permanece con nosotros.