Selv om det er flere vannstandsindikatorer og enheter tilgjengelig for å overvåke nivået i en overliggende vanntank, kommer disse enhetene ofte til en heftig pris og med begrenset funksjonalitet. Dessuten krever de å dyppe elektroder eller en bryter i vannet for å fungere; dette kan forurense vannet og korrodere over tid.
Men hva om du kunne bygge en trådløs og kontaktløs Wi-Fi-basert vannstandssensor som rapporterer gjenværende vann i tanken din direkte på smarttelefonen? I denne DIY-guiden vil vi bygge en slik vannstandsindikator ved hjelp av et NodeMCU-kort og en ultralyd sensor som sitter på toppen av vanntankdekselet og rapporterer dataene til smarttelefonen din via Home Assistent.
Hvordan virker det?
En ultrasonisk vannstandssensor fungerer ved å sende lydbølger med en bestemt frekvens (også kjent som ultralydbølger) og motta den reflekterte bølgen fra målobjektet. Sensoren beregner og rapporterer avstanden mellom sensoren og objektet basert på tiden det tar lydbølgen eller ultralydbølgen å bevege seg og reflektere.
Ultralydsensoren rapporterer avstandsverdien i centimeter (cm) som standard. Sammen med tankdybden kan denne verdien rapportert av ultralydsensoren brukes til å finne gjenværende vann i tanken ved å beregne avstanden mellom tankvannstanden og ultralyden sensor.
Ting du trenger
For å bygge denne smarte vannstandssensoren trenger du følgende:
- En ESP8266-basert MCU, som NodeMCU, D1 Mini, ESP01, etc.
- En SR04 ultralydsensor
- Jumper ledninger
For dette prosjektet anbefales det at du bruker en JSN-SR04 vanntett ultralydsensor for å forhindre sensorskader på grunn av fuktighet.
Trinn for å bygge en smart vannstandssensor
Du kan følge trinnene nedenfor for å bygge en smart Wi-Fi-basert kontaktløs ultrasonisk vannnivåsensor for å overvåke vannforbruket og spare deg selv fra å gå opp trappene eller vanntanken for å sjekke det manuelt. Du kan også bruke denne sensoren til å overvåke et salttanknivå.
Trinn 1: Installer og konfigurer Home Assistant
Home Assistant (HA) er foretrukket, men ikke nødvendig for å bygge en smart Wi-Fi-basert vannnivåsensor eller kontroller. Men hvis du ønsker å motta varsler, spore daglig/ukentlig/månedlig forbruk, eller legge til automatisering basert på tanknivået, må du sette opp Home Assistant.
Du kan følge vår forrige guide for å installer Home Assistant på Raspberry Pi eller en gammel bærbar PC. Hvis du ikke vil installere eller sette opp Home Assistant, kan du flashe Tasmota-fastvaren og bruke den til å sjekke vannstanden. Selv om den ikke er så intuitiv som Home Assistant, gjør den jobben og rapporterer råverdien via en nettside.
Trinn 2: Mål tankdybden
Du må måle tankdybden. Det kan du gjøre ved å måle høyden på tanken fra utsiden eller innsiden ved hjelp av et målebånd.
Når du har målt, mål avstanden mellom tankdekselet der ultralydsensoren skal installeres og kanten på vanntanken. Dette er avstanden du må trekke fra den totale dybden.
Hvis for eksempel tankhøyden er 120 cm og avstanden mellom sensoren på dekselet og kanten av vannet er 10 cm, er dybden 120 - 10 = 110 cm.
Trinn 2: Kompiler fastvaren
For å kompilere fastvare, åpne Home Assistant og installer ESPHome tillegg hvis du ikke allerede har gjort det. Følg deretter disse trinnene:
- Klikk på +Ny enhet knapp og klikk deretter Fortsette.
- Skriv inn navnet på fastvarefilen, for eksempel vannstandssensor, og klikk Neste.
- Velg MCU du har, for eksempel NodeMCU, ESP32 eller D1 Mini, og klikk Neste. Klikk deretter Hopp over.
Finn nå vannstandssensor prosjekt og klikk Redigere. Dette åpner vannnivåsensor.yamlfil. Kopier og lim inn i filen denne YAML-koden. Rediger følgende i koden:
- Skriv inn Wi-Fi SSID og passord.
- Rediger verdiene i formlene under filtre med avstanden mellom sensor og vannkant og full tankhøyde.
- Klikk Lagre.
- Koble NodeMCU, ESP32 eller D1 mini til PC-en med en mikro-USB-kabel og klikk deretter Installere.
- Velg Koble til denne datamaskinen alternativ. Dette vil begynne å kompilere YAML-koden og generere en fastvarefil (waterlevelsensor.bin). Dette kan ta en stund.
- Etter at fastvaren er kompilert, klikk Last ned prosjektet for å laste ned vannstandsensor.bin fil.
Trinn 3: Flash fastvaren på NodeMCU
For å flashe waterlevelsensor.bin-fastvaren kan du laste ned ESPHome-Flasher verktøyet eller bruk ESPHome-nettet. Fremgangsmåten er som følger:
Etter å ha lastet ned fastvaren, klikk Åpne ESPHome Web.
Klikk Koble og velg deretter USB-seriell COM-porten der NodeMCU, D1 Mini eller ESP32 er tilkoblet.
Klikk Installere. Klikk Velg Fil, bla til vannstandsensor.bin fastvarefil, og klikk Installere. Når fastvaren blinker, kobler du fra USB-kabelen.
Trinn 4: Koble til ultralydsensor med NodeMCU
Se diagrammet nedenfor for å koble SR04 ultralydsensoren til MCU-kortet.
NodeMCU/ESP32/D1 Mini | SR04 ultralydsensor |
3V3 | Vcc |
D5 | Trig |
D6 | Ekko |
GND | GND |
Hvis du bruker den vanntette JSN SR04 M-2 ultralydmodulen, koble til pinnene som vist i diagrammet.
NodeMCU/ESP32/D1 Mini | JSN-SR04 ultralydsensor |
Vin | 5V |
D5 | Trig |
D6 | Ekko |
GND | GND |
Når ultralydsensoren er koblet til MCU, kobler du til USB-kabelen igjen. Enheten vil automatisk koble til Wi-Fi-nettverket basert på detaljene du skrev inn i koden og vises som på nett i ESPHome Dashboard.
Klikk Tømmerstokker under vannstandssensor. Dette vil vise loggene og dataene mottatt av sensoren.
Hvis loggene viser informasjonen som vist på skjermbildet, kan du gå videre og konfigurere sensoren i Home Assistant.
Hvis du ser «Avstandsmåling ble tidsavbrutt», gjør du følgende:
- Sjekk at du har koblet ultralydsensorpinnene til MCU-en riktig.
- JSN SR04 M-2-modulen kan måle 20-400 cm. Så hold objektet minst 20 cm unna. Du må også gjøre endringer i koden tilsvarende.
- Ultralydsensoren vi har brukt kan mislykkes i å måle avstand utover 400 cm. Hvis tanken din er dypere enn 400 cm (uvanlig), kan det hende at dette ikke fungerer for deg.
Trinn 5: Legg til Smart vannnivåsensor til Home Assistant
Følg disse trinnene for å legge til ultralydvannnivåsensoren til Home Assistant for overvåking:
- I Home Assistant, gå til Konfigurasjon > Enheter og tjenester.
- De vannstandssensor bør automatisk oppdages og listes opp. Hvis ikke, klikk Legg til integrasjon.
- Søk etter og velg ESPHome.
- Skriv inn IP-adressen til vannstandssensor. Du finner dette fra loggene eller Wi-Fi-ruteren. Etter å ha angitt IP-adressen, klikk Sende inn.
- Velg et område og klikk Bli ferdig.
- C Sensoren vil bli oppført under ESPHome. Klikk vannstandssensor og velg enheten.
- Klikk Legg til Lovelace.
- Velg et rom og klikk Neste.
- Dette vil legge til vannstandssensor til dashbordet.
Du kan tilpasse standardkortet ytterligere ved å legge til følgende i kodeeditoren:
type: måler
navn: Vannnivåsensor
enhet: '%'
enhet: sensor.vannnivåsensor
grønn: 0
gul: 45
rød: 85
Trinn 6: Installer sensoren på vanntankdekselet
Du kan nå installere sensoren i vanntanken. For prosjektet brukte vi SR04-sensoren, som ikke er vanntett. For å gjøre den vanntett brukte vi en gjennomsiktig kasse og tilstrekkelig neglelakk til å isolere de elektriske komponentene på brettet.
Vi boret to bittesmå hull og brukte en metalltråd for å holde SR04-modulen festet til dekselet. Et annet større hull ble laget for ledningene koblet til ultralydsensoren. Vi brukte en lang 4-kjerners ledning for å koble ultralydsensoren til NodeMCU ettersom tanken er plassert på taket og temperaturen her kan stige til 40-45°C.
Du kan beholde begge i ett tilfelle og gi strøm til NodeMCU. Sørg også for god Wi-Fi-signalstyrke når du installerer NodeMCU eller sensoren. Les vår guide på hvordan øke Wi-Fi-signalet for å utvide Wi-Fi-rekkevidden.
Kontroller vannpumpen for å holde tanken full
Ved å integrere den smarte vannnivåsensoren med Home Assistant kan du legge til automatisering for å få varsler på smarttelefonen eller via Alexa/Google Assistant når tanknivået er lavt eller fullt. På samme måte kan du legge til automatisering for å slå på vannpumpen for å fylle tanken når den begynner å bli tom og slå den av automatisk når tanknivået når et visst nivå, for eksempel 90-100 %.
I tillegg kan du legge til en vanntett temperatursensorprobe, for eksempel en DS18B20, til den smarte vannnivåsensoren for å sjekke og overvåke tankens vanntemperatur.
Hvordan bygge en DIY husholdningsenergimonitor ved hjelp av ESP8266
Les Neste
Relaterte temaer
- DIY
- Smart sensor
- Elektronikk
- DIY-prosjektveiledninger
Om forfatteren
Ravi er en teknisk ekspert, en IoT-entusiast og Linux-elsker med bakgrunn innen big data og apputvikling. Han bruker mesteparten av helgene på å jobbe med IoT-enheter og spille spill på Xbox. Han er også en alenereisende som elsker fotturer og å utforske nye stier.
Abonner på vårt nyhetsbrev
Bli med i vårt nyhetsbrev for tekniske tips, anmeldelser, gratis e-bøker og eksklusive tilbud!
Klikk her for å abonnere