Bilder | ||
.gitignore | ||
Abstandssensor.yaml | ||
Abstandssensor_Case.stl | ||
Abstandssensor_Complete.f3d | ||
Abstandssensor_Lid.stl | ||
LICENSE | ||
README.md |
Abstandssensor
Ein Wemos D1 Mini Abstandssensor der beim Einparken in die Garage helfen soll.
Der Sensor nutzt einen Ultraschallsensor zur Abstandsmessung. Feedback zur verbleidenen Entfernung wird über einen RGB-LED Ring gegeben. Außerdem kann der gewünschte Minimalabstand mit einem Potentiometer eingestellt werden.
Hardware
Benötigt werden:
- ein Wemos D1 Mini
- ein WS2812b LED Ring (mit 8 LEDs)
- ein Ultraschallsensor HC-SR04 (oder kompatibel)
- ein Potentiometer (zB. 10k Ohm)
- einige Kabel und ggfs. ein Lötkolben
- einige kleine Schrauben um das Gehäuse zusammen zu schrauben (2,0x12 oder 2,0x16)
- Kabelbinder zur Zugentlastung
- USB Kabel und USB Netzteil zur Stromversorgung
Für das Gehäuse gibt es 3D-Drucker-Modelle in diesem Repository.
Aufbau
Der Aufbau ist relativ einfach. Die Ein- und Ausgänge des Wemos D1 Mini werden wie folgt mit der restlichen Hardware verbunden:
Wemos D1 Mini | Hardware |
---|---|
D0 (GPIO16) | HC-SR04 "Trigger" |
D1 (GPIO5) | HC-SR04 "Echo" |
A0 (ADC0) | Poti-Schleifer |
RX (GPIO3) | D-in des LED Ring |
Außerdem natürlich GND mit den entsprechenden Kontakten am HC-SR04, Potentiometer und des LED Ringes. Der LED Ring wird mit 5V verbunden, das Potentiometer sowie der HC-SR04 mit 3,3V.
Der LED Ring kann mit Heißkleber ins Gehäuse geklebt werden. Für den Ultraschallsensor gibt es Befestigungssockel an denen der Sensor festgeschraubt werden kann.
Programmieren
Zuerst müssen in der .yaml Datei die WiFi Zugangsdaten sowie einige andere Einstellungen eingetragen werden (siehe die div. "YOUR...." Einträge). Ferner muss ggfs. das MQTT Topic angepasst werden. Alternativ kann der "on_json_message" Abschnitt komplett entfernt/auskommentiert werden. In dem Fall muss in dem "globals" Abschnitt der "initial_value: "false" auf "true" geändert werden damit der Sensor ständig aktiv ist.
Sind alle Einstellungen vorgenommen kann die Firmware mit:
esphome run Abstandssensor.yaml
übersetzt und übertragen werden.
Betrieb
Das espHome Skript aktiviert den LED Ring nur nachdem es eine entsprechende Nachricht via MQTT erhalten hat. Ebenso deaktiviert sich der LED Ring bei einer anderen Nachricht bzw. Payload. Zweck des ganzen: der LED Ring soll nur leuchten wenn auch das Garagenlicht leuchtet. Entsprechend wird dabei das dazugehörige Homematic MQTT Topic aboniert und ausgewertet.