Hoewel er verschillende waterniveau-indicatoren en apparaten beschikbaar zijn om het niveau in een bovengrondse watertank te controleren, hebben deze apparaten vaak een hoge prijs en beperkte functionaliteit. Bovendien hebben ze dompelelektroden of een schakelaar in het water nodig om te werken; dit kan het water verontreinigen en na verloop van tijd corroderen.
Maar wat als u een draadloze en contactloze Wi-Fi-gebaseerde waterniveausensor zou kunnen bouwen die het resterende water in uw tank rechtstreeks op uw smartphone meldt? In deze doe-het-zelfgids zullen we zo'n waterniveau-indicator bouwen met behulp van een NodeMCU-bord en een ultrasone sensor die aan de bovenkant van het deksel van het waterreservoir zit en de gegevens via Home naar je smartphone meldt Assistent.
Hoe werkt het?
Een ultrasone waterniveausensor werkt door geluidsgolven met een specifieke frequentie te verzenden (ook bekend als ultrasone golven) en de gereflecteerde golf van het beoogde object te ontvangen. De sensor berekent en rapporteert de afstand tussen de sensor en het object op basis van de tijd die de geluidsgolf of ultrasone golf nodig heeft om te reizen en te reflecteren.
De ultrasone sensor meldt standaard de afstandswaarde in centimeters (cm). Samen met de tankdiepte kan deze door de ultrasone sensor gerapporteerde waarde worden gebruikt om de resterende water in de tank door de afstand tussen het tankwaterniveau en de ultrasone. te berekenen sensor.
Dingen die je nodig hebt
Om deze slimme waterniveausensor te bouwen, heb je het volgende nodig:
- Een op ESP8266 gebaseerde MCU, zoals NodeMCU, D1 Mini, ESP01, enz.
- Een SR04 ultrasone sensor
- Doorverbindingsdraden
Voor dit project wordt aanbevolen om een JSN-SR04 waterdichte ultrasone sensor te gebruiken om schade aan de sensor door vocht te voorkomen.
Stappen om een slimme waterniveausensor te bouwen
U kunt de onderstaande stappen volgen om een slimme op Wi-Fi gebaseerde contactloze ultrasone waterniveausensor te bouwen om het waterverbruik te controleren en uzelf te behoeden voor traplopen of watertank om het te controleren handmatig. U kunt deze sensor ook gebruiken om het niveau van een zouttank te bewaken.
Stap 1: Home Assistant installeren en instellen
Home Assistant (HA) heeft de voorkeur, maar is niet vereist om een slimme wifi-gebaseerde waterniveausensor of -controller te bouwen. Als u echter meldingen wilt ontvangen, dagelijks/wekelijks/maandelijks verbruik wilt volgen of automatisering wilt toevoegen op basis van het tankniveau, moet u Home Assistant instellen.
U kunt onze vorige gids volgen om: installeer Home Assistant op Raspberry Pi of een oude laptop. Als je Home Assistant niet wilt installeren of instellen, kun je de Tasmota-firmware flashen en deze gebruiken om het waterpeil te controleren. Hoewel het niet zo intuïtief is als Home Assistant, doet het zijn werk en meldt het de onbewerkte waarde via een webpagina.
Stap 2: Meet de tankdiepte
U moet de tankdiepte meten. Dit kunt u doen door de hoogte van de tank van buitenaf of van binnenuit te meten met een meetlint.
Zodra u de meting hebt uitgevoerd, meet u de afstand tussen het tankdeksel waar de ultrasone sensor wordt geïnstalleerd en de rand van het waterreservoir. Dit is de afstand die u van de totale diepte moet aftrekken.
Als de tankhoogte bijvoorbeeld 120 cm is en de afstand tussen de sensor op het deksel en de rand van het water 10 cm, dan is de diepte 120 - 10 = 110 cm.
Stap 2: Compileer de firmware
Om firmware te compileren, opent u Home Assistant en installeert u de ESPHome add-on als je dat nog niet hebt gedaan. Volg dan deze stappen:
- Klik op de +Nieuw apparaat knop en klik vervolgens op Doorgaan.
- Voer de naam in voor het firmwarebestand, zoals: waterniveausensor, en klik Volgende.
- Selecteer de MCU die je hebt, zoals NodeMCU, ESP32 of D1 Mini, en klik op Volgende. Dan klikken Overslaan.
Zoek nu de waterniveausensor projecteer en klik op Bewerking. Dit opent de waterniveausensor.yamlhet dossier. Kopieer en plak in het bestand deze YAML-code. Bewerk het volgende in de code:
- Voer uw Wi-Fi SSID en wachtwoord in.
- Bewerk de waarden in de formules onder filters met de afstand tussen sensor en waterrand en de hoogte van de volle tank.
- Klik Opslaan.
- Sluit uw NodeMCU, ESP32 of D1 mini aan op uw pc met behulp van een micro-USB-kabel en klik vervolgens op Installeren.
- Kies de Sluit aan op deze computer optie. Dit zal beginnen met het compileren van de YAML-code en het genereren van een firmwarebestand (waterlevelsensor.bin). Dit kan even duren.
- Nadat de firmware is gecompileerd, klikt u op Project downloaden om de. te downloaden waterniveausensor.bin het dossier.
Stap 3: Flash de firmware op NodeMCU
Om de firmware van de waterlevelsensor.bin te flashen, kunt u de ESPHome-Flasher tool of gebruik het ESPHome-web. De stappen zijn als volgt:
Klik na het downloaden van de firmware op Open ESPHome-web.
Klik Aansluiten en selecteer vervolgens de USB seriële COM-poort waarop uw NodeMCU, D1 Mini of ESP32 is aangesloten.
Klik Installeren. Klik Kies bestand, blader naar de waterniveausensor.bin firmwarebestand en klik op Installeren. Zodra de firmware is geflitst, koppelt u de USB-kabel los.
Stap 4: sluit de ultrasone sensor aan op NodeMCU
Raadpleeg het onderstaande diagram om de SR04 ultrasone sensor aan te sluiten op de MCU-kaart.
NodeMCU/ESP32/D1 Mini | SR04 ultrasone sensor |
3V3 | Vcc |
D5 | trig |
D6 | Echo |
GND | GND |
Als u de waterdichte JSN SR04 M-2 ultrasone module gebruikt, sluit u de pinnen aan zoals weergegeven in het diagram.
NodeMCU/ESP32/D1 Mini | JSN-SR04 ultrasone sensor |
Vin | 5V |
D5 | trig |
D6 | Echo |
GND | GND |
Zodra de ultrasone sensor is aangesloten op de MCU, sluit u de USB-kabel opnieuw aan. Het apparaat maakt automatisch verbinding met het Wi-Fi-netwerk op basis van de gegevens die u in de code hebt ingevoerd en wordt weergegeven als: Online in de ESPHome-dashboard.
Klik Logboeken onder de waterniveausensor. Hierdoor worden de logs en gegevens weergegeven die door de sensor zijn ontvangen.
Als de logboeken de informatie weergeven zoals weergegeven in de schermafbeelding, kunt u doorgaan en de sensor configureren in Home Assistant.
Als u "Time-out afstandsmeting" ziet, doet u het volgende:
- Controleer of u de ultrasone sensorpinnen correct hebt aangesloten op de MCU.
- De JSN SR04 M-2 module kan 20-400cm meten. Houd het object dus minimaal 20 cm uit de buurt. U moet dienovereenkomstig ook wijzigingen in de code aanbrengen.
- De ultrasone sensor die we hebben gebruikt, kan de afstanden groter dan 400 cm mogelijk niet meten. Als uw tank dieper is dan 400 cm (ongebruikelijk), werkt dit mogelijk niet voor u.
Stap 5: Voeg Smart Water Level Sensor toe aan Home Assistant
Volg deze stappen om de ultrasone waterniveausensor toe te voegen aan Home Assistant voor bewaking:
- Ga in Home Assistant naar Configuratie > Apparaten en services.
- De waterniveausensor moet automatisch worden ontdekt en vermeld. Zo niet, klik dan op Integratie toevoegen.
- Zoek en selecteer ESPHome.
- Voer het IP-adres van de. in waterniveausensor. Je kunt dit vinden in de logs of je wifi-router. Klik na het invoeren van het IP-adres op Indienen.
- Selecteer een gebied en klik op Finish.
- CDe sensor wordt vermeld onder ESPHome. Klik waterniveausensor en selecteer de entiteit.
- Klik Toevoegen aan Lovelace.
- Kies een kamer en klik op Volgende.
- Dit zal de. toevoegen waterniveausensor naar het dashboard.
U kunt de standaardkaart verder aanpassen door het volgende toe te voegen in de code-editor:
type: meter
naam: Waterniveausensor
eenheid: '%'
entiteit: sensor.waterlevelsensor
groen: 0
geel: 45
rood: 85
Stap 6: installeer de sensor op het deksel van uw watertank
U kunt nu de sensor in uw watertank installeren. Voor het project hebben we de SR04-sensor gebruikt, die niet waterdicht is. Om het waterdicht te maken, hebben we een transparante behuizing en voldoende nagellak gebruikt om de elektrische componenten op het bord te isoleren.
We hebben twee kleine gaatjes geboord en een metaaldraad gebruikt om de SR04-module aan de kap te bevestigen. Er is nog een groter gat gemaakt voor de draden die op de ultrasone sensor zijn aangesloten. We hebben een lange 4-aderige draad gebruikt om de ultrasone sensor met de NodeMCU te verbinden, aangezien de tank zich op het dak bevindt en de temperatuur hier kan oplopen tot 40-45°C.
U kunt beide in één behuizing bewaren en de NodeMCU van stroom voorzien. Zorg ook voor een goede wifi-signaalsterkte wanneer u de NodeMCU of de sensor installeert. Lees onze gids op hoe u uw wifi-signaal kunt versterken om het wifi-bereik te vergroten.
Bedien de waterpomp om de tank vol te houden
Door de slimme waterniveausensor te integreren met Home Assistant, kun je automatisering toevoegen om waarschuwingen op je smartphone of via Alexa/Google Assistant te krijgen wanneer het tankniveau laag of vol is. Op dezelfde manier kunt u automatisering toevoegen om de waterpomp in te schakelen om de tank te vullen wanneer deze bijna leeg raakt en deze automatisch uit te schakelen zodra het tankniveau een bepaald niveau bereikt, zoals 90-100%.
Daarnaast kunt u een waterdichte temperatuursensorsonde, zoals een DS18B20, toevoegen aan uw slimme waterniveausensor om de tankwatertemperatuur te controleren en te bewaken.
Hoe een doe-het-zelf-huishoudelijke energiemonitor te bouwen met ESP8266
Lees volgende
Gerelateerde onderwerpen
- doe-het-zelf
- Slimme sensor
- Elektronica
- Zelfstudies voor doe-het-zelfprojecten
Over de auteur
Ravi is een deskundige technische uitleg, een IoT-enthousiasteling en Linux-liefhebber met een achtergrond in big data en app-ontwikkeling. Hij brengt de meeste van zijn weekenden door met het werken met IoT-apparaten en het spelen van games op de Xbox. Hij is ook een soloreiziger die houdt van wandelen en het verkennen van nieuwe paden.
Abonneer op onze nieuwsbrief
Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!
Klik hier om je te abonneren