Även om det finns flera vattennivåindikatorer och enheter tillgängliga för att övervaka nivån i en överliggande vattentank, kommer dessa enheter ofta till ett rejält pris och med begränsad funktionalitet. Dessutom kräver de doppning av elektroder eller en omkopplare i vattnet för att fungera; detta kan förorena vattnet och korrodera med tiden.

Men tänk om du kunde bygga en trådlös och kontaktlös Wi-Fi-baserad vattennivåsensor som rapporterar det återstående vattnet i din tank direkt på din smartphone? I den här DIY-guiden kommer vi att bygga en sådan vattennivåindikator med hjälp av ett NodeMCU-kort och ett ultraljud sensor som sitter på toppen av vattentankens lock och rapporterar data till din smartphone via Home Assistent.

Hur fungerar det?

En ultraljudsvattennivåsensor fungerar genom att sända ljudvågor med en specifik frekvens (även känd som ultraljudsvågor) och ta emot den reflekterade vågen från målobjektet. Sensorn beräknar och rapporterar avståndet mellan sensorn och objektet baserat på den tid det tar för ljudvågen eller ultraljudsvågen att färdas och reflektera.

instagram viewer

Ultraljudssensorn rapporterar avståndsvärdet i centimeter (cm) som standard. Tillsammans med tankdjupet kan detta värde som rapporteras av ultraljudssensorn användas för att hitta återstående vatten i tanken genom att beräkna avståndet mellan tankens vattennivå och ultraljud sensor.

Saker du behöver

För att bygga denna smarta vattennivåsensor behöver du följande:

  • En ESP8266-baserad MCU, såsom NodeMCU, D1 Mini, ESP01, etc.
  • En SR04 ultraljudssensor
  • Bygeltrådar

För detta projekt rekommenderas det att du använder en JSN-SR04 vattentät ultraljudssensor för att förhindra sensorskador på grund av fukt.

Steg för att bygga en smart vattennivåsensor

Du kan följa stegen nedan för att bygga en smart Wi-Fi-baserad kontaktlös ultraljudsvattennivåsensor för att övervaka vattenförbrukningen och rädda dig själv från att klättra upp för trappan eller vattentanken för att kontrollera det manuellt. Du kan också använda den här sensorn för att övervaka en salttanksnivå.

Steg 1: Installera och konfigurera Home Assistant

Home Assistant (HA) är att föredra men krävs inte för att bygga en smart Wi-Fi-baserad vattennivåsensor eller kontroller. Men om du vill få aviseringar, spåra daglig/veckovis/månadsförbrukning eller lägga till automatisering baserat på tanknivån måste du ställa in Home Assistant.

Du kan följa vår tidigare guide till installera Home Assistant på Raspberry Pi eller en gammal bärbar dator. Om du inte vill installera eller ställa in Home Assistant kan du flasha Tasmotas firmware och använda den för att kontrollera vattennivån. Även om det inte är lika intuitivt som Home Assistant, gör det jobbet och rapporterar råvärdet via en webbsida.

Steg 2: Mät tankdjupet

Du måste mäta tankdjupet. Du kan göra det genom att mäta höjden på tanken från utsidan eller insidan med hjälp av ett måttband.

När du har mätt mäter du avståndet mellan tanklocket där ultraljudssensorn ska installeras och vattentankens kant. Detta är avståndet som du behöver subtrahera från det totala djupet.

Till exempel, om tankhöjden är 120 cm och avståndet mellan sensorn på locket och vattnets kant är 10 cm, då är djupet 120 - 10 = 110 cm.

Steg 2: Kompilera firmware

För att kompilera firmware, öppna Home Assistant och installera ESPHome tillägg om du inte redan har gjort det. Följ sedan dessa steg:

  1. Klicka på +Ny enhet knapp och klicka sedan Fortsätta.
  2. Ange namnet på firmwarefilen, t.ex vattennivåsensor, och klicka Nästa.
  3. Välj den MCU du har, till exempel NodeMCU, ESP32 eller D1 Mini, och klicka Nästa. Klicka sedan Hoppa.

Hitta nu vattennivåsensor projekt och klicka Redigera. Detta öppnar vattennivåsensor.yamlfil. Kopiera och klistra in i filen denna YAML-kod. Redigera följande i koden:

  • Ange ditt Wi-Fi SSID och lösenord.
  • Redigera värdena i formlerna under filter med avståndet mellan sensor och vattenkant och full tankhöjd.
  • Klick Spara.
  • Anslut din NodeMCU, ESP32 eller D1 mini till din PC med en mikro-USB-kabel och klicka sedan Installera.
  • Välj den Anslut till den här datorn alternativ. Detta kommer att börja kompilera YAML-koden och generera en firmware-fil (waterlevelsensor.bin). Detta kan ta ett tag.
  • Klicka på när den fasta programvaran har kompilerats Ladda ner projekt för att ladda ner vattennivåsensor.bin fil.

Steg 3: Flasha firmware på NodeMCU

För att flasha den fasta programvaran för waterlevelsensor.bin kan du ladda ner ESPHome-Flasher verktyg eller använd ESPHome-webben. Stegen är som följer:

När du har laddat ner firmware, klicka Öppna ESPHome Web.

Klick Ansluta och välj sedan den seriella USB-COM-porten där din NodeMCU, D1 Mini eller ESP32 är ansluten.

Klick Installera. Klick Välj FIL, bläddra till vattennivåsensor.bin firmware-fil och klicka Installera. Koppla bort USB-kabeln när den fasta programvaran blinkar.

Steg 4: Anslut ultraljudssensorn med NodeMCU

Se diagrammet nedan för att ansluta ultraljudssensorn SR04 till MCU-kortet.

NodeMCU/ESP32/D1 Mini SR04 ultraljudssensor
3V3 Vcc
D5 Trig
D6 Eko
GND GND

Om du använder den vattentäta JSN SR04 M-2 ultraljudsmodulen, anslut stiften som visas i diagrammet.

NodeMCU/ESP32/D1 Mini JSN-SR04 ultraljudssensor
Vin 5V
D5 Trig
D6 Eko
GND GND

När ultraljudssensorn är ansluten till MCU: n ansluter du USB-kabeln igen. Enheten kommer automatiskt att ansluta till Wi-Fi-nätverket baserat på de uppgifter du angav i koden och kommer att visas som Uppkopplad i ESPHome Dashboard.

Klick Loggar under vattennivåsensor. Detta kommer att visa loggar och data som tas emot av sensorn.

Om loggarna visar informationen som visas på skärmdumpen kan du gå vidare och konfigurera sensorn i Home Assistant.

Om du ser "Avståndsmätningens timeout" gör du följande:

  • Kontrollera att du har anslutit ultraljudssensorns stift med MCU: n korrekt.
  • JSN SR04 M-2-modulen kan mäta 20-400 cm. Så håll föremålet minst 20 cm bort. Du måste också göra ändringar i koden i enlighet med detta.
  • Ultraljudssensorn vi har använt kan misslyckas med att mäta avstånd över 400 cm. Om din tank är djupare än 400 cm (ovanligt), kanske det inte fungerar för dig.

Steg 5: Lägg till Smart vattennivåsensor till Home Assistant

För att lägga till ultraljudsvattennivåsensorn till Home Assistant för övervakning, följ dessa steg:

  1. Gå till i Home Assistant Konfiguration > Enheter och tjänster.
  2. De vattennivåsensor bör automatiskt upptäckas och listas. Om inte, klicka Lägg till integration.
  3. Sök efter och välj ESPHome.
  4. Ange IP-adressen för vattennivåsensor. Du kan hitta detta från loggarna eller din Wi-Fi-router. Klicka på när du har angett IP-adressen Skicka in.
  5. Välj ett område och klicka Avsluta.
  6. CSensorn kommer att listas under ESPHome. Klick vattennivåsensor och välj enheten.
  7. Klick Lägg till Lovelace.
  8. Välj ett rum och klicka Nästa.
  9. Detta kommer att lägga till vattennivåsensor till instrumentpanelen.

Du kan anpassa standardkortet ytterligare genom att lägga till följande i kodredigeraren:

typ: mätare
namn: Vattennivågivare
enhet: '%'
enhet: sensor.waterlevelsensor
grönt: 0
gul: 45
röd: 85

Steg 6: Installera sensorn på ditt vattentanklock

Du kan nu installera sensorn i din vattentank. För projektet använde vi SR04-sensorn, som inte är vattentät. För att göra den vattentät använde vi ett genomskinligt fodral och tillräckligt med nagellack för att isolera de elektriska komponenterna på brädan.

Vi borrade två små hål och använde en metalltråd för att hålla SR04-modulen fäst vid locket. Ett annat större hål gjordes för kablarna som var anslutna till ultraljudssensorn. Vi använde en lång 4-kärnig tråd för att koppla ihop ultraljudssensorn med NodeMCU eftersom tanken är placerad på taket och temperaturen här kan stiga till 40-45°C.

Du kan behålla båda i ett fall och mata ström till NodeMCU. Se också till att Wi-Fi-signalstyrkan är bra när du installerar NodeMCU eller sensorn. Läs vår guide på hur du förstärker din Wi-Fi-signal för att utöka Wi-Fi-räckvidden.

Styr vattenpumpen för att hålla tanken full

Genom att integrera den smarta vattennivåsensorn med Home Assistant kan du lägga till automatisering för att få varningar på din smartphone eller via Alexa/Google Assistant när tanknivån är låg eller full. På samma sätt kan du lägga till automatisering för att slå på vattenpumpen för att fylla tanken när den börjar ta slut och stänga av den automatiskt när tanknivån når en viss nivå, till exempel 90-100 %.

Dessutom kan du lägga till en vattentät temperatursensorsond, till exempel en DS18B20, till din smarta vattennivåsensor för att kontrollera och övervaka tankens vattentemperatur.

Hur man bygger en DIY-hushållsenergimonitor med ESP8266

Läs Nästa

Dela med sigTweetDela med sigE-post

Relaterade ämnen

  • DIY
  • Smart sensor
  • Elektronik
  • Självstudier för DIY-projekt

Om författaren

Ravi Singh (5 artiklar publicerade)

Ravi är en expert på teknikförklaring, en IoT-entusiast och Linux-älskare med en bakgrund inom big data och apputveckling. Han tillbringar större delen av sina helger med att arbeta med IoT-enheter och spela spel på Xbox. Han är också en ensamresenär som älskar att vandra och utforska nya stigar.

Mer från Ravi Singh

Prenumerera på vårt nyhetsbrev

Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e-böcker och exklusiva erbjudanden!

Klicka här för att prenumerera