Innholdsfortegnelse:

Frakoblet værstasjon Arduino: 18 trinn (med bilder)
Frakoblet værstasjon Arduino: 18 trinn (med bilder)

Video: Frakoblet værstasjon Arduino: 18 trinn (med bilder)

Video: Frakoblet værstasjon Arduino: 18 trinn (med bilder)
Video: DIY Weather Station using Arduino #arduino #engineering #electronics 2024, Juli
Anonim
Frakoblet værstasjon Arduino
Frakoblet værstasjon Arduino
Frakoblet værstasjon Arduino
Frakoblet værstasjon Arduino
Frakoblet værstasjon Arduino
Frakoblet værstasjon Arduino
Frakoblet værstasjon Arduino
Frakoblet værstasjon Arduino

Sammendrag

Sist flere ganger da jeg kjøpte termometer, så jeg at det nesten alltid er forskjell i verdiene. Min oppgave var å følge temperaturen og fuktigheten inne på babyens rom. Det var også et problem å lese verdiene fra 2-3 meters rekkevidde på de fleste termometre, og jeg trengte å stå opp for å se temp-verdien, problemet jeg hadde med de fleste termometre var lyset. Et annet problem var at jeg ikke kan se temperaturverdien fordi den er uten bakgrunnsbelysning for å spare energi. Jeg vil ikke spare energi, jeg trenger bare et par timers energilagring for at denne enheten skal fungere hvis hovedledningen slås av.

Så jeg kom med en idé:

- For å lage termometer med tillatelse til å endre temperaturverdien.

- Som kan være med bakgrunnsbelysning og farger.- For å kombinere alle tingene som vanlige termometre har: (RTC, batteri, min maks t, osv.)- Og for å ha tilleggsfunksjoner som årstider og helligdager

Så jeg startet prosjektet før 1 år. Programvaredelen tok meg flere måneder å fullføre. Jeg har laget flere versjoner av programvaren, og de siste 2 ukene har jeg fullført prosjektet.

Informasjon om enhetsprogramvare

Arduino -kode og biblioteker:

Koden lastes også opp på kode trinn.

https://github.com/stlevkov/KT2_144

https://github.com/stlevkov/Arduino-Libraries

Enhetsfunksjoner

  • Oppstartside - viser dato og klokkeslett for siste fastvareopplasting.
  • Hjemmeside - viser tid, dato, batteriikon, temperaturikon, temperaturverdi, fuktighetsverdi, Tmax, Tmin, årstider, helligdager, USB -indikator når den er tilkoblet.
  • Menyside - med Temp, Klokke, Batteri, Om, Tilbake menyer
  • Temp Page - lar deg kalibrere DHT -sensoren
  • Klokke side - gjør det mulig å redigere tid og dato
  • Batteriside - viser batteriinformasjon, % prosent, mV spenning, ladestatus
  • Om side - viser informasjon for forfatteren
  • Tilbake -funksjon for å gå ut av menyen
  • Gjennomsiktige paneler
  • RTC lang levetid
  • Litiumbatteri - opptil ~ 9 timer (450mAh)
  • Indikator for lavt batteri - viser ikonet i rødt ~ gjenværende 5 min.
  • Ulike farger for - Lav, Middels, Høy temperatur
  • Hellig- og sesongmeldinger
  • Programmerbar kontakt - på baksiden
  • Brukergrensesnitt - ved hjelp av Rotary Encoder

Baksiden med brettet vil ikke bli dekket, fordi jeg vil at babyen skal se og ta på brettet, mens enheten ikke er slått på. Du kan lage et slags deksel for baksiden av brettet.

Trinn 1: Tegn enheten, tegn den første ideen

Tegn enheten, tegn den første ideen
Tegn enheten, tegn den første ideen
Tegn enheten, tegn den første ideen
Tegn enheten, tegn den første ideen
Tegn enheten, tegn den første ideen
Tegn enheten, tegn den første ideen

Bestem hva du skal ha - hvor mange sider, menyer, hvordan du endrer menyene og sidene.

Hvis du har andre ideer, kan du endre den med arduino -koden.

Bestem hvilken form du vil ha og hva som kan gjøres enkelt. Jeg velger først 3D -utskrift, men etter det bestemmer jeg meg for å bruke enkelt materiale.

Tanken er å ha transparente vegger på toppen og på undersiden, også kan du lage en mer fin boks.

Så hoveddelene i esken er:

  1. Front - med display og roterende encoder
  2. Høyre - med RTC -modulen
  3. Venstre - med DHT -modulen
  4. Baksiden - med den motsatte siden av brettet
  5. Topp - Gjennomsiktig med 3,7V batteri og PÅ/AV skyvebryter
  6. Bunn - Gjennomsiktig

Trinn 2: Velg de riktige komponentene

  1. TP4056 Micro USB -lader 5V 1A 18650 litiumbatterilader - Ebay
  2. 1,44 "128x128 SPI 65K TFT LCD -skjermmodul i full farge ST7735 - Ebay
  3. KY -040 Rotary Encoder Module for Arduino - Ebay
  4. DHT22 AM2302 Digital temperatur- og fuktighetssensor - Ebay
  5. Tiny RTC I2C Modules 24C32 Memory DS1307 Real Time Clock RTC Module Board - Ebay
  6. Pro Micro Controller Board ATmega328P 16MHz Arduino Pro Mini Module - Ebay
  7. 3,7V 450mAh Lipo oppladbart batteri - Ebay
  8. 6 pins 2 posisjoner DPDT On/On Mini Slide Switch - Ebay

  9. CR2032 CR 2032 3V knappecellebatteri - Ebay
  10. 10x22cm loddeprototype kobber PCB -plate enkeltsidig universal - Ebay
  11. Mann og kvinne 40pin 2,54 mm toppstikkontakt enkelt rad stripe - Ebay

Trinn 3: Utarbeid koblingsskjema

Utarbeid koblingsskjema
Utarbeid koblingsskjema

Diagrammet viser tilkobling av lignende sensorer, mens displayet er nesten det samme.

For riktig pin -bruk, se Arduino -koden i kode -trinnet.

Last ned fritzing -filen for mer informasjon om pinout. Hold markørene fra diagrammet for å se de eksakte pinnene på modulene.

Trinn 4: Tilleggsinformasjon før start - Strømforbruk

Tilleggsinformasjon før start - Strømforbruk
Tilleggsinformasjon før start - Strømforbruk

Prosjektet bruker 450mAh batteri, men du kan bruke større. Bare se på strømforbruket for å velge og beregne riktig batteri for spesifikk bruk av timer. Når du bruker 450mAh, kan enheten kjøre ca. 9 timer.

I hvilemodus kjører enheten med rundt 0,102A - Ingen energibesparende optimalisering er utført her

Når du trykker på knappen, blir høy strøm påført og den er rundt 0,177A.

Trinn 5: Koble til skjermen

Koble til skjermen
Koble til skjermen
Koble til skjermen
Koble til skjermen

Displayet bruker SPI for tilkobling.

Det er adafruit -bibliotek for denne driveren ST7735.

Trinn 6: Koble til RTC -modulen

Koble til RTC -modulen
Koble til RTC -modulen

Lag PCB -modifikasjon For å bruke CR2032 -batteri.

  • Fjern D1
  • Fjern R4
  • Fjern R5
  • Fjern R6
  • Kort R6

Mer informasjon om denne endringen finnes her.

Trinn 7: Fest frontveggen med skjermen, RTC, batteri, roterende encoder

Fest frontveggen med displayet, RTC, batteri, roterende encoder
Fest frontveggen med displayet, RTC, batteri, roterende encoder
Fest frontveggen med displayet, RTC, batteri, roterende encoder
Fest frontveggen med displayet, RTC, batteri, roterende encoder
Fest frontveggen med displayet, RTC, batteri, roterende encoder
Fest frontveggen med displayet, RTC, batteri, roterende encoder

Hvis du vil starte opp enheten, er det bare å laste opp koden fra kode -trinnet og følge de andre trinnene mens du endrer og fester de nye delene.

Trinn 8: Forbered transparente vegger

Forbered transparente vegger
Forbered transparente vegger

Jeg bruker 3 mm plexi. Du kan bruke lignende gjennomsiktig materiale. Jeg bruker bare en til undersiden.

Trinn 9: Lag høyre vegg

Lag høyre vegg
Lag høyre vegg
Lag høyre vegg
Lag høyre vegg

Lag høyre sidevegg. Bruk CR2032 -størrelsen til hullet.

Trinn 10: Lag venstre sidevegg

Lag venstre sidevegg
Lag venstre sidevegg
Lag venstre sidevegg
Lag venstre sidevegg
Lag venstre sidevegg
Lag venstre sidevegg

Lag venstre sidevegg. Bruk størrelsen på DHT -modulen for hullet.

Trinn 11: Lag kontakten med universalbordet og skinnene, koble til RTC, encoder, display og display

Lag kontakten med universalbordet og skinnene, koble til RTC, encoder, display og display
Lag kontakten med universalbordet og skinnene, koble til RTC, encoder, display og display
Lag kontakten med universalbordet og skinnene, koble til RTC, encoder, display og display
Lag kontakten med universalbordet og skinnene, koble til RTC, encoder, display og display
Lag kontakten med universalbordet og skinnene, koble til RTC, encoder, display og display
Lag kontakten med universalbordet og skinnene, koble til RTC, encoder, display og display

Koble til og lodd alle pinnene etter tråddiagrammet. Du kan bruke Arduino UNO med tom skisse installert for å programmere Arduino Mini. Nødvendige pinner:

  • VCC 5V
  • GND
  • RX
  • TX
  • NULLSTILLE

Ikke glem å koble fra batteriet 3.7V ved disse trinnene hvis du laster opp skissen før du er ferdig med delene.

Trinn 12: Slå den på før du fortsetter

Image
Image

På dette tidspunktet vil du kunne slå på enheten og bruke alle funksjonene.

Bruk forhåndsvisningen av videoen for å se hva som var programvaren på versjon 1.1. Det er også github -kobling i sammendragstrinnet for å se den siste oppdateringen.

Slå på enheten før du fortsetter med de andre trinnene før du lukker toppdekselet. Sørg for at den fungerer normalt.

Trinn 13: Legg til TP4056 og batteriet, lodd skyvebryteren, legg til ladetråd til pin 5, lodd den bakre programmerbare kontakten

Legg til TP4056 og batteriet, lodd glidebryteren, legg til ladetråd til pin 5, lodd den bakre programmerbare kontakten
Legg til TP4056 og batteriet, lodd glidebryteren, legg til ladetråd til pin 5, lodd den bakre programmerbare kontakten
Legg til TP4056 og batteriet, lodd skyvebryteren, legg til ladetråd til pin 5, lodd den bakre programmerbare kontakten
Legg til TP4056 og batteriet, lodd skyvebryteren, legg til ladetråd til pin 5, lodd den bakre programmerbare kontakten
Legg til TP4056 og batteriet, lodd glidebryteren, legg til ladetråd til pin 5, lodd den bakre programmerbare kontakten
Legg til TP4056 og batteriet, lodd glidebryteren, legg til ladetråd til pin 5, lodd den bakre programmerbare kontakten

Etter hver lodding, test systemet, kontroller at delene fungerer som de skal før du fortsetter.

Trinn 14: Lag toppdekselet

Lag toppdekselet
Lag toppdekselet
Lag toppdekselet
Lag toppdekselet
Lag toppdekselet
Lag toppdekselet

Jeg bruker 0,5 mm plexi -ark fra powerbank -boksen.

Trinn 15: Kode

Bruk parameterne i init -delen for å definere dine preferanser.

I ferien bruker jeg bulgarsk. Du kan redigere matrisen ved å bruke høytider i ditt land.

Enheten viser 4 sesonger. Rediger dem i koden, foretrekk for din plassering.

Hvis sensorene dine er forskjellige, følg pins -definisjonene og rediger dem i koden. Jeg har forlatt nesten alle linjens kommentarer for bedre forståelse av koden.

Testede plattformer:

  • Arduino UNO
  • Arduino Pro Mini

Ta bibliotekene du trenger fra depotet, bruk de som er definert i skissen.

Trinn 16: Test enheten før siste berøring

Test enheten før siste berøring
Test enheten før siste berøring
Test enheten før siste berøring
Test enheten før siste berøring
Test enheten før siste berøring
Test enheten før siste berøring

Enheten er perfekt, min er kalibrert -4*C, jeg brukte mitt Toshiba klimaanlegg, to enkle vegger og to digitale termometre for å kalibrere det. Hvis sensoren din måler forskjellige verdier, kan du nå endre den.

Trinn 17: Grensesnittforhåndsvisning

Grensesnittforhåndsvisning
Grensesnittforhåndsvisning
Grensesnittforhåndsvisning
Grensesnittforhåndsvisning
Grensesnittforhåndsvisning
Grensesnittforhåndsvisning

Ikke glem å redigere fastvareinformasjonen i init -delen av koden for å vise legitimasjonen din eller la den være som den er.

Anbefalt: