Crocodile Solar Pool Sensor: 7 trinn (med bilder)
Crocodile Solar Pool Sensor: 7 trinn (med bilder)
Anonim
Krokodille Solar Pool Sensor
Krokodille Solar Pool Sensor
Krokodille Solar Pool Sensor
Krokodille Solar Pool Sensor
Krokodille Solar Pool Sensor
Krokodille Solar Pool Sensor

Denne instruksen viser hvordan du bygger en ganske spesiell bassengsensor som måler bassengets temperatur og overfører den via WiFi til Blynk App og til en MQTT -megler. Jeg kaller det "Crocodile Solar Pool Sensor". Den bruker Arduino programmeringsmiljø og et ESP8266 -kort (Wemos D1 mini pro).

Hva er så spesielt med dette prosjektet?

  • Utseendet er bare flott
  • Helt uavhengig av strømkilder (solcellepanel mater LiPo -batteriet)
  • ESP8266 WiFi -tilkoblet sensor med lav effekt
  • Ganske høy presisjons temperatursensor
  • Dataoverføring av temp og spenning til Blynk APP for mobiltelefonen
  • Sender også et "sist oppdatert" tidsstempel til Blynk APP
  • Dataoverføring av temp og spenning til en MQTT -megler
  • Celsius og Fahrenheit kan byttes
  • Kan programmeres på nytt

Ditt ferdighetsnivå: middels til erfaren

Rekvisita

For denne bygningen må du vite hvordan du arbeider med:

  • Arduino IDE (programmeringsmiljø)
  • et loddejern
  • en drill
  • en skarp kniv
  • epoksy lim
  • varmt lim
  • industrielt sprayskum
  • spray farge

Trinn 1: Komponenter som trengs

Komponenter som trengs
Komponenter som trengs
Komponenter som trengs
Komponenter som trengs

Disse tingene er nødvendige for å bygge denne fine bassengføleren:

  • Krokodillehodet (skumplast) funnet her: Amazon: Crocodile Head
  • ELLER alternativt: Båtskall (Aliexpress). Se trinn 6 for dette.
  • ESP8266 Wemos D1 mini pro: (Aliexpress)
  • Solcellepanel 0.25W 45x45mm: (Aliexpress)
  • ** EDIT etter ett års bruk: Jeg anbefaler på det sterkeste å bruke et sterkere batteri som en 18650 (eksempel: Aliexpress)
  • Batterilader modul TP4056: (Aliexpress)
  • Vanntett temperatursensor DS 18b20: (Aliexpress)
  • 22 AWG wire (Aliexpress)
  • Prototype kretskort 5x7cm (Aliexpress)
  • 220 Ohm og 4,7 kOhm motstander
  • en kort USB til MicroUSB kabel

i tillegg:

  • Isolerende skumforsegling @ DIY -markedet eller her: (Amazon)
  • Vanntett maling @ DIY -markedet eller her: (Amazon)
  • Filler primer spray @ DIY market eller her: (Amazon)
  • Flytende epoksy for et vanntett belegg @ DIY -marked
  • Varmt lim

Du må kanskje bruke en 3D -skriver for å skrive ut et vanntett deksel for USB -porten.

Trinn 2: Elektronikk

Elektronikk
Elektronikk
Elektronikk
Elektronikk
Elektronikk
Elektronikk
Elektronikk
Elektronikk

Jeg trodde det var lettest å starte med noen av disse DIY universelle prototypen PCB, og jeg fant ut at en 5x7cm bare er perfekt for dette formålet.

Byggetrinn:

  1. Forbered D1 mini pro for bruk av ekstern antenne:

    1. Usolder 0 Ohm motstand ved siden av keramisk antenne
    2. Vri 0 Ohm motstand nedover og lodd tilkoblingen til ekstern antenne (god forklaring finnes her - Trinn 5)
  2. Plasser delene og bestem layoutet på prototypen PCB før du begynner å lodde
  3. Lodd pinnene til D1 mini pro
  4. Lodd avstandspinnene til prototypebrettet
  5. Lodd pinnene til laderkortet til prototypen PCB
  6. Lodde laderkortet til pinnene
  7. Klipp kabelen til temperatursensoren til en lengde på 20 cm
  8. Se bildet ovenfor for tilkobling av temperatursensoren
  9. Lodd kabelen til solcellepanelet
  10. IKKE lodd solcellepanelkablene til brettet - disse må limes først til krokodillens hode
  11. Følg Fritzing -skjemaet ovenfor for å lodde alle gjenværende tilkoblinger til PCB
  12. Når alle komponentene er koblet til og loddet, bruk litt varmt lim for å fikse batteriet. Merk: For å sette ESP8266 i dvale er det nødvendig å koble pin D1 med pin RST. Noen ganger forårsaker D1 mini pro problemer med serieporten hvis port D0 og RST er tilkoblet. Den jeg brukte (se Aliexpress -lenken ovenfor) hadde ikke dette problemet. Hvis du står overfor dette problemet, må du kanskje bruke en jumper eller en bryter for å koble fra de to pinnene for å laste opp ny kode. Men (!) Så har du ingen sjanse til å omprogrammere når krokodillehodet er forseglet. I dette tilfellet trenger du heller ikke å bringe USB -porten til utsiden (f.eks. For å bore et tredje hull).

Trinn 3: Maskinvare Del 1 (Forberedelse av krokodillehodet)

Maskinvare Del 1 (Forberedelse av krokodillehodet)
Maskinvare Del 1 (Forberedelse av krokodillehodet)
Maskinvare Del 1 (Forberedelse av krokodillehodet)
Maskinvare Del 1 (Forberedelse av krokodillehodet)
Maskinvare Del 1 (Forberedelse av krokodillehodet)
Maskinvare Del 1 (Forberedelse av krokodillehodet)

I dette trinnet forbereder vi baksiden av krokodillehodet for å få nok plass til elektronikken. Og vi borer noen hull for antennen, solcellepanelet og USB -porten. Jeg planla prosjektet mitt først uten USB -porten. Men så tenkte jeg at det ville være umulig for meg å gjøre noen programvareoppdateringer når krokodillen er forseglet igjen. Derfor bestemte jeg meg for å bruke en kort USB-kabel mikro-USB til USB for å gi ekstern tilgang til ESP8266-kortet. Neste trinn å gjøre:

  • Bruk en skarp kniv til å skjære litt mer enn 7x5 cm (størrelse på prototypebrettet) av den harde overflaten
  • Bruk en skje for å fjerne det mykere skummet fra innsiden
  • Bare sørg for at du har nok plass til kablene og brettet
  • Prøv om den passer og at det fortsatt er plass til å dekke den senere

Bor nå to eller tre hull i hodet:

  • for solcellepanelet
  • for antennen
  • (valgfritt) for USB -porten for å aktivere senere programmering

Bruk 2 -komponent epoksy (5 minutter) til å lime og tette hullene igjen. Bruk nok epoxylim! Sørg for at den blir vanntett etterpå!

  1. Lim solcellepanelkabelen til hodet og tett hullet ordentlig
  2. Lim solcellepanelet mellom øynene
  3. Lim antennekontakten til hodet og tett hullet ordentlig
  4. Lim USB -kontakten og forsegl hullet

For å unngå at vann forårsaker korrosjon på USB-porten, 3D-trykte jeg en liten beskyttelseshette.

Trinn 4: Programvare

Programvare
Programvare
Programvare
Programvare
Programvare
Programvare

Du må ha et kjørende Arduino -miljø. Hvis ikke, vennligst sjekk dette.

Maskinvareoppsettet er rett frem (på min Mac):

LOLIN (WEMOS) D1 mini Pro, 80 MHz, Flash, 16M (14M SPIFFS), v2 Nedre minne, Deaktiver, Ingen, Bare skisse, 921600 på /dev/cu. SLAB_USBtoUART

Få Arduino -koden her: Arduino -koden på Github

Koden sender temperaturen og spenningen til batteriet til Blynk. Bare last Blynk -appen til mobiltelefonen din og lag et nytt prosjekt. Blynk sender deg et Auth Token for dette prosjektet. Skriv inn dette tokenet i filen Settings.h. Standardinnstillingene sendes

  • temperaturen til VIRTUAL PIN 11
  • spenningen til VIRTUAL PIN 12
  • siste oppdaterte tidsstempel til VIRTUAL PIN 13

men det er enkelt å endre disse pinnene i koden. Bare lek med alle Blynk -widgets med V11, V12 og V13 - det er morsomt. Hvis du er ny på dette, kan du bare lese min venn Debasishs instruerbare - det meste blir forklart der i trinn 19.

Programvaren er også forberedt på å bruke en MQTT -megler.

I Settings.h er det en global variabel kalt MQTT. Dette må settes til true eller false, avhengig av om du bruker MQTT eller ikke.

I mitt tilfelle bruker jeg en MQTT-megler (Orange PI Zero, Mosquitto, Node-Red) og et dashbord der alle sensordataene mine kommer sammen. Hvis du er ny på MQTT, kan du la Google hjelpe deg med å konfigurere det.

Hvis du er kjent med MQTT, er jeg ganske sikker på at du forstår koden.

Trinn 5: Maskinvare del 2 (forsegling igjen)

Maskinvare del 2 (forsegling igjen)
Maskinvare del 2 (forsegling igjen)
Maskinvare del 2 (forsegling igjen)
Maskinvare del 2 (forsegling igjen)
Maskinvare del 2 (forsegling igjen)
Maskinvare del 2 (forsegling igjen)

I dette trinnet må vi pakke all elektronikk (programvare lastet og testet) og forsegle magen til krokodillen vår igjen. Jeg ser personlig to mulige løsninger:

  1. Bruk et akrylglass og lim det med vanntett epoksylim på magen. Bruk en vanntett kabelkanal for temperatursensorkabelen (jeg beklager at jeg ikke valgte dette alternativet - tross alt jeg gikk gjennom vil jeg anbefale å gå denne veien.)
  2. Bruk et industrielt skum og fyll hullene igjen, og bruk deretter vanntett maling for å forsegle. Og avslutt det med fyllstoff og maling.

Så jeg bestemte meg for alternativ 2. Trinnene er som følger:

  1. Lodde solcellepanelkabel til brettet
  2. Koble til antennekabelen
  3. Koble USB -kabelen til ESP8266 -kortet (OG IKKE til ladekortet)
  4. Klem all kabel og brettet inn i hullet
  5. La 5-10 cm av temperatursensorkabelen henge ut
  6. Bruk industriskummet til å fylle alle hullene (Pass på - skummet ekspanderer kraftig)
  7. La det tørke og kutt skummet etterpå med en skarp kniv
  8. Bruk nå litt vanntett maling (brukes til å fikse tak) og male det hele
  9. La det tørke og bruk fyllmaling for å lage en hard skorpe (du må gjøre dette om og om igjen)
  10. VIKTIG REDIGERING (etter noen uker i vannet): Påfør to eller tre belegg over flytende epoxy for å gi et virkelig vanntett belegg.
  11. La det tørke - FERDIG!

Trinn 6: Alternativ bygg

Alternativ bygg
Alternativ bygg
Alternativ bygg
Alternativ bygg
Alternativ bygg
Alternativ bygg
Alternativ bygg
Alternativ bygg

Siden den første bygningen med krokodillen fremdeles er min favoritt, må jeg innrømme at jeg valgte feil batteri (for svakt). Dessverre kan jeg ikke bytte batteri lenger fordi det er forseglet i crocs -kroppen.

Derfor bestemte jeg meg for å gjøre en annen løsning med en båt som karosseri for å få bedre tilgang til elektronikken og batteriet om nødvendig.

Endringer:

  • Shell (https://www.aliexpress.com/item/32891355836.html)
  • LiIon -batteri 18650
  • 3D -trykt innsats for montering av de to kortene (ESP8266 og ladermodul)

Trinn 7: Vedlegg: Ytterligere skjermer/sensorer

Tillegg: Ytterligere skjermer/sensorer
Tillegg: Ytterligere skjermer/sensorer
Tillegg: Ytterligere skjermer/sensorer
Tillegg: Ytterligere skjermer/sensorer
Tillegg: Ytterligere skjermer/sensorer
Tillegg: Ytterligere skjermer/sensorer

Hvis du vil gå utover å vise bassengdataene bare på Blynk App, kan du også sende dem til en MQTT -megler. Dette lar deg bruke flere flere muligheter til å vise bassengdataene dine (eller andre) data på forskjellige enheter. Det ene vil være Node Red Dashboard på en Raspberry Pi (se bildet ovenfor) eller en LED -matriseskjerm. Hvis du er interessert i LED Matrix, kan du finne koden her:

Forresten, jeg kombinerte dette prosjektet med Solar Weather Station inkludert en Zambretti -værmelding fra dette prosjektet:

Inspirasjonen til denne solværsstasjonen kom fra min indiske venn Debasish. Vennligst finn hans instruerbare her:

Sensorkonkurranse
Sensorkonkurranse
Sensorkonkurranse
Sensorkonkurranse

Førstepremie i sensorkonkurransen