Inhaltsverzeichnis:

1,50 m soziales Distanzierungsbandmaß - Gunook
1,50 m soziales Distanzierungsbandmaß - Gunook

Video: 1,50 m soziales Distanzierungsbandmaß - Gunook

Video: 1,50 m soziales Distanzierungsbandmaß - Gunook
Video: Fatshaming ist auch im Flugzeug nicht ok! 2024, November
Anonim
Image
Image
Schaltplan
Schaltplan

In diesem Build passe ich ein normales Maßband an, um zu messen, wenn eine Entfernung von 1,5 m zurückgelegt wurde. Ich sage dann "eineinhalb Meter". Es zeigt auch mit einem grünen oder roten Licht an, ob Sie sich über oder unter dieser Entfernung befinden.

Dieses Projekt wurde aufgrund einer Herausforderung durchgeführt, die Henk Rijckaert in seiner Youtube-Serie De Koterij gestartet hat und ich wollte es mit den aktuellen Problemen von COVID19 und sozialer Distanzierung verknüpfen (Englische Untertitel werden hinzugefügt).

Verwendete Materialien:

  1. Ein Maßband
  2. Optischer Encoder: e4p-100-079
  3. Audio: DFPlayer Mini + SD-Karte
  4. Leistung: PowerBoost 1000C
  5. MCU: Adafruit HUZZAH32 - ESP32 Feather (jedes andere Arduino kann auch verwendet werden, da ich die BLE- oder Wi-Fi-Funktionen in diesem Build nicht verwende)
  6. Neopixel
  7. Lautsprecher
  8. Batterie
  9. Ein / Aus Schalter

Schritt 1: Schaltplan

Schaltplan
Schaltplan

Verbinden Sie die Komponenten wie im Schaltplan angegeben. Das Gehäuse wurde wiederverwendet und von einem anderen Build angepasst, aber Sie können jede rechteckige Box verwenden, die groß genug für die Komponenten ist. Sie benötigen ein Ganzes für Ihren Lautsprecher, das Maßband und den Ein/Aus-Knopf (und idealerweise für die USB-Minute zum Aufladen des Akkus).

Befestigen Sie die Metallplatte mit Indikatoren am rotierenden Teil des Maßbandes und achten Sie darauf, dass Sie es so gut wie möglich zentrieren.

Auf die SD-Karte für den DFPlayer müssen Sie die mp3 kopieren, die abgespielt werden soll, wenn die eingestellte Distanz zurückgelegt wurde.

Schritt 2: Code

Code
Code

Der gesamte Code ist auf github zu finden.

Der ESP32 (jedes andere Arduino kann auch verwendet werden) fragt kontinuierlich den A- und B-Ausgang des Encoders ab und erhöht oder verringert einen Zähler. Wenn es -2150 überschreitet, weiß ich, dass es bei meinem Maßband 1,5 Meter überschritten hat. Sie müssen dies für Ihr Messgerät kalibrieren. Abhängig vom Wert ändert sich die LED-Farbe und der DFPlayer wird angewiesen, die mp3 abzuspielen, die sich auf der SD-Karte befindet.

Schritt 3: Der Encoder erklärt

Der Encoder erklärt
Der Encoder erklärt

Wie können wir messen, wie weit wir das Messgerät ausgerollt haben?

Diese Erklärung ist das Transkript des Videos:

Dafür verwende ich einen optischen Encoder, nämlich einen inkrementalen Drehgeber. Sie haben auch andere, zum Beispiel Absolutwertgeber. Sie sind sehr gut geeignet, um die genaue Position innerhalb einer Umdrehung zu kennen. Ein Inkremental hingegen liefert feste Impulse während einer Verschiebung, sodass Sie die Drehung selbst messen können, auch über einen Bereich verschiedener Drehungen. Auf diese Weise können Sie die Drehung selbst messen, auch über verschiedene Drehungen hinweg. Ich verwende einen Quadratur-Encoder, der zwei Signale liefert, damit auch die Richtung bestimmt werden kann.

Wie funktioniert das genau?

Auf der runden Scheibe befinden sich schwarze Markierungen. Diese Scheibe ist am Maßband befestigt und dreht sich daher mit. Der Sensor selbst besteht aus einer LED und zwei Fotodetektoren, die messen, ob das Licht reflektiert wird. Leuchtet die LED auf der schwarzen Linie, wird weniger oder kein Licht reflektiert, als wenn es auf das Metall zwischen der schwarzen Markierung scheint. Dieses Signal wird dann am Ausgang in eine Rechteckwelle umgewandelt. Die Ausgänge A und B sind so platziert, dass Sie sehen können, aus welcher Kombination der 2 die Richtung gedreht wird.

Schauen wir uns das im Detail an

Mit jedem Kantenwechsel von A können Sie den Wert von B ändern, in welche Richtung wir uns drehen. In dem von mir verwendeten Encoder beginnt der A-Impuls vor dem B-Impuls, wenn wir im Uhrzeigersinn drehen. Und umgekehrt, wenn wir gegen den Uhrzeigersinn drehen. So können wir 3 Impulse erkennen, die uns etwas darüber sagen, wie viel gedreht wurde. Mein Encoder hat 100 Zyklen pro Umdrehung (CPR). in diesem Fall hat er sich um fast 10,8 Grad gedreht. Wenn Sie sich Datenblätter ansehen, achten Sie genau darauf, was mit CPR gemeint ist. Manchmal sind dies die Anzahl der Zyklen pro Umdrehung, manchmal die Anzahl der Zählungen pro Umdrehung (oder individuell verschiedene Zustände pro Umdrehung). Jeder Puls enthält 4 verschiedene Zustände. Hoch oder niedrig bei A und B. Das ist 4-mal mehr als bei Zyklen pro Umdrehung. PPR oder Pulse pro Umdrehung werden typischerweise verwendet, um die Anzahl der Pulse pro voller Umdrehung zu messen. Einige Datenblätter bedeuten hier aber die Anzahl der verschiedenen Pulszustände pro Umdrehung. Also auch hier genau im Datenblatt nachschauen was gemeint ist. Wir sehen hier, dass der A-Puls vor dem B-Puls kommt.

Eine einfache Möglichkeit, dies im Code zu verarbeiten, besteht darin, dass sich das A-Signal ändert, um den Wert des B-Signals zu sehen. Wenn das B-Signal nicht den Wert des A-Signals hat, drehen wir im Uhrzeigersinn und können jedes Mal einen Zähler inkrementieren oder inkrementieren.

Wir bekommen jetzt 200 Flankenwechsel pro voller Umdrehung, weil wir 2 pro Impuls haben. Wenn der Zähler also bei 200 steht, haben wir eine volle Umdrehung gedreht. Oder um 360 Grad gedreht Umgekehrt, wenn wir uns in die entgegengesetzte Richtung drehen, können Sie sehen, dass das A-Signal die gleichen 3 Impulse erzeugt.

Wir haben also auch hier, dass es sich um 10,8 Grad gedreht hat. Aber dieses Mal hat das B-Signal den gleichen Wert wie das A-Signal, also wissen wir, dass das B-Signal dem A-Signal bereits voraus ist. Und deshalb drehen wir uns gegen den Uhrzeigersinn. In diesem Fall können wir daher den Zähler verringern. Jetzt wissen wir, wie oft das Maßband geschnitten wurde. Wenn wir eine feste Entfernung wissen wollen, ist es ziemlich einfach.

Hier sollte der Zähler beispielsweise für eineinhalb Meter -2150 sein. Mit anderen Worten, 3870 Grad gegen den Uhrzeigersinn.

Wenn Sie immer wissen wollen, wie viel abgerollt wurde, müssen Sie berücksichtigen, dass der Durchmesser kleiner wird, d. h. pro voller Umdrehung wird der Abstand auf dem Maßband immer geringer.

Empfohlen: