Innholdsfortegnelse:
- Trinn 1: Demonter alt
- Trinn 2: Knapper for digitale innstillinger
- Trinn 3: Kondensator for motoren
- Trinn 4: Nytt ansikt for klokken
- Trinn 5: Digital skjerm fra gammel mobiltelefon
- Trinn 6: Koble til kretsene
- Trinn 7: Koblingsplate for enkle tilkoblinger
- Trinn 8: Konfigurere strømmen
- Trinn 9: Micro USB for lading og oppdatering av fastvare
- Trinn 10: Sluttmontering
- Trinn 11: Koden
- Trinn 12: Trinn-for-trinn video
- Trinn 13: Siste ord
Video: Værmeldingsklokke ved bruk av gammel alarm og Arduino: 13 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:24
Jeg hadde en ødelagt vekkerklokke liggende og kom på en idé om å konvertere den til klokke- og værmeldingsstasjon.
For dette prosjektet trenger du:
- Gammel sirkulær vekkerklokke
- Arduino Nano
- BME280 sensormodul (temp, fuktighet, trykk)
- LCD -displaymodul fra Nokia 5110
- DS1307 RTC klokke
- TP4056 litiumbatterilader
- Gammelt Li-ion-batteri berget fra mobiltelefonen
- Liten 3,7v til 5v booster -modul
- Lysavhengig motstand (LDR - lysmåler)
- Summer (brukt reddet fra gammel PC)
- 3 trykknapper
- En haug med motstander (2x10k, 270 ohm) og en transistor (2N2222A eller lignende)
- Noen brede krympeslanger
- skrap -PCB som dekorasjon på frontplaten
- Mikro-USB-forlengelseskabel (både hunn- og hannsiden er mikro-USB)
- 2x8cm prototypebrett og noen ledninger
Trinn 1: Demonter alt
Først demonterte jeg den gamle klokken. Klokker, motor, ødelagt klokkemekanisme …
Trinn 2: Knapper for digitale innstillinger
Siden den nye klokken vil være helt digital med en minidatamaskin inne, la jeg til 3 enkle knapper på siden.
Ved å bruke et stykke aluminiumsbit, kuttet jeg ut et overlegg for å lage en etikett. Bokstavene for etikettene ble opprettet ved hjelp av bokstavstansene og en svart markør.
Trinn 3: Kondensator for motoren
Jeg beholder de gamle klokkene for å slå på alarmen med motoren. Den gamle ødelagte klokkemekanismen hadde en keramisk kondensator med etiketten 104. Jeg fjernet den fra kretskortet og loddet den direkte til motoren - dette vil bidra til å forhindre strømspiker når motoren slås på under alarm. Det er også viktig å merke seg at motoren vil bli styrt gjennom transistor, men mer om dette senere.
Trinn 4: Nytt ansikt for klokken
Siden jeg bestemte meg for å lage et nytt ansikt for klokken - tok jeg et kretskort fra min søppelbunke og brukte en bygningsvarme til raskt å fjerne alle komponenter. Hullet i midten er laget for den digitale skjermen til den nye klokken.
Trinn 5: Digital skjerm fra gammel mobiltelefon
Til dette prosjektet bestemte jeg meg for å bruke en LCD -skjerm fra en gammel Nokia 5110 mobiltelefon. Disse skjermene er allment tilgjengelige for salg som en modul, de trekker veldig lite strøm og det er gode biblioteker for Arduino. Hvis du kjøper en ny modul med 5110 -skjerm - du redder planeten fordi alle nye moduler er laget av bergede 5110-, 3110- og 3210 -telefoner!
Trinn 6: Koble til kretsene
Du har kanskje allerede gjettet at jeg planla å bruke Arduino -brettet til å kontrollere denne klokken. Prosjektet kan lett gjentas selv for nybegynnere av Arduino -fansen fordi jeg ikke har laget mine egne kretskort. Det er et Arduino Nano -kort med moduler koblet til det - BME280 temperatur-, trykk- og fuktighetssensor, DS1307 RTC -klokke, TP4056 litiumbatterilader, liten 3,7v til 5v booster -modul, lysavhengig motstand (LDR - lysmåler) og en summer (hentet fra den gamle PC -en).
Se også på skissene - de viser alle sammenhenger. Jeg tror alt er veldig lett å lese og forstå, men hvis du har spørsmål, kan du bare spørre i kommentarene nedenfor.
Noen notater om oppsettet:
- Motoren er koblet direkte fra batteriet gjennom transistoren. Arduino styrer transistoren gjennom motstand og PWM -pinne D5.
- Pins D7-12 brukes til LCD-kontakt. Ground og VCC er koblet til skinnen på koblingsbordet.
- LDR ble installert på klokkeflaten og motstand + 3 utgående ledninger ble loddet rett på baksiden av urskiven.
- For tilkobling av knapper brukte jeg intern PULLUP -funksjon inne i Arduino. Menyknappen er festet til avbruddet, og jeg innså først senere at du også kan bruke intern PULLUP for avbruddet. Avbrudd for menyknappen er nødvendig for at koden ikke skal skanne tilstanden til knappene hele tiden.
- Klokken overvåker og viser også batteriets tilstand, slik at batteriet er direkte koblet til pin A0. Batterispenningen er aldri høyere enn 4,2V, så det er trygt å koble batteriet direkte til den analoge Arduino -pinnen.
- Summer er direkte koblet til PWM pin D6. Selv om dette ikke er en god praksis, slapp jeg unna med det fordi Arduino Nano kunne håndtere høyere spesifikasjoner enn oppgitt, og også fordi summeren ikke vil fungere kontinuerlig. Det samme oppsettet ville lett brenne pinnene på ESP -kort, så i de tilfellene anbefaler jeg å bruke transistorkontrollen.
- Klokken hadde allerede en bryter, så jeg bestemte meg for å bruke den. Det ser naturlig ut på baksiden.
Trinn 7: Koblingsplate for enkle tilkoblinger
Alle modulene krever positive og jordede tilkoblinger, så jeg bestemte meg for å bruke 2x8cm prototypekort og loddet 5V og jordskinner til det. Jeg har også laget en liten I2C -skinne der siden jeg hadde flere moduler ved hjelp av I2C -grensesnitt.
På den andre siden loddet jeg standard pins slik at jeg kunne koble til og fra modulene når det var nødvendig.
Noen av tilleggskomponentene ble også loddet der, for eksempel transistor og motstand for motorstyring og en motstand for Menyknapp som bruker Interrupt. Jeg viste skjemaene i forrige seksjon.
btw Kan du se LDR -sensoren som allerede er installert på urskiven på det første bildet?
Trinn 8: Konfigurere strømmen
Jeg brukte et gammelt litiumionbatteri fra mobilen min for å drive denne klokken. Vanligvis har mobiltelefonbatteriene som er byttet ut fortsatt god kapasitet (minst halvparten av det den var da den var ny). Fordelen deres er at de har en innebygd utladningsbeskyttelseskrets, og de er også veldig tynne, så de kan brukes i små romscenarier.
For å koble til batteriet lodder du bare ledningene til + og - pinner på batteriet. Ikke bekymre deg, du vil ikke skade cellen fordi det er en kontroller og noe tomt mellomrom mellom pinner og kjemikaliene i cellen.
På dette bildet kan du se batteriet og også TP4056 ladekontrollen samt 5V booster koblet sammen og til batteriet. Jeg brukte noen krympeslanger for å gjøre alt isolert og kompakt.
Trinn 9: Micro USB for lading og oppdatering av fastvare
Når jeg hadde loddet alt, limte jeg summer og temp/trykk/fuktighetssensor på bakpanelet. De passet alle fint inn i de eksisterende sporene fra gamle klokkekontroller.
Det var nå på tide å installere Micro USB -porten på baksiden. Hvorfor Micro USB hvis Nano bruker Mini USB? Rett og slett fordi i husholdningen er de fleste USB -kabler fra mobiltelefoner, og det ville være praktisk hvis klokken også kunne ta det.
Siden jeg ønsket å bruke den til både lading og oppdatering av klokke- og værstasjonsfunksjoner - fjernet jeg USB -kabelen, førte strømledningene gjennom TP4056 -laderen og Data+/Data -ledninger direkte til USB -kontakten på Arduino Nano. Du kan se dette på skjematikken jeg viste i tidligere seksjoner.
Trinn 10: Sluttmontering
Det var nå på tide å pakke alt tilbake i den originale klokken. Jeg brukte krympeslange for å isolere komponenter og moduler. Til og med Arduino var pakket inn i krympeslange.
Hold markøren på det første bildet for å se hvor hver komponent ble plassert.
Trinn 11: Koden
Som du kan se, er klokken fullpakket inne. Dette tillot å lage noe mer sofistikert enn den gamle klokken jeg hadde - gitt at det er noen programmeringskunnskaper selvfølgelig. Jeg skrev den første koden, men ba vennen min om å gå inn og hjelpe meg.
Så langt, i tillegg til selve klokken, er dette funksjonene som dette prosjektet allerede støtter:
- Tid og dato -visning (samt klokkeslett og aktivering av alarm på samme skjerm)
- Skjermen lyser opp under mørke forhold eller når det oppdages bevegelse (basert på lysendringer)
- Værvarsel (sol, regn, regn)
- Visning av temperatur, trykk og fuktighet (for fuktighet vil det indikere om det er for tørt)
- Meny for innstillinger: alarm, endre tid, aktivere/deaktivere datovisning, aktivere/deaktivere værvarslingslydvarsler og bytte mellom keiserlige og metriske enheter
- Alarminnstillinger - på/av, innstilling av klokkeslett, innstilling av melodi og/eller klokker for varsler
Siste kode:
Koden kommer til å bli oppdatert i fremtiden med nye funksjoner, så sjekk tilbake for fastvareoppdateringer:-)
Hvis du er ny i Arduino -verden, er disse trinnene jeg vil anbefale å gjøre:
- Installer USB -driveren for kortet ditt (f.eks. CH340)
- Installer Arduino IDE
- Installer biblioteker som brukes i dette prosjektet
- Last ned fra GitHub og last opp den siste prosjektkoden til klokken ved hjelp av mikro -USB -kabel (du kan bruke en fra mobiltelefonen)
Prognosealgoritmen er følgende:
Arduino Nano får nye data fra BME280 -sensoren hvert 12. minutt. Målesyklusen er 3 timer. Etter 3 timer skifter trykmålingens område (maks og min verdi i løpet av 3 timer) i forhold til gjennomsnittsverdier under gjeldende område og gjeldende trykkverdi. Hver time lagres trykkendringsretningen med gjeldende trykkverdi. kPa -enheter brukes til prognoseberegning.
På grunn av minnebegrensninger for Nano måtte prognosealgoritmen forenkles. Men til tross for forenklinger, er den i stand til å forutsi nedbør i løpet av de neste 12-24 timene, selv om prognosen nå er mer pessimistisk - standardverdien er "Skyet vær".
"Sunny Weather" - nåværende trykk er høyere enn normen med 7 poeng, trykket faller ikke og forskjellen mellom min og maks verdier i løpet av de siste 3 timene er ikke mer enn 2 poeng.
Mulig nedbør "Rainy Weather" - nåværende trykk er 15 poeng lavere enn normen og forskjellen mellom min & maks verdier er mer enn 2 poeng ELLER Trykket synker og forskjellen mellom nåværende verdi og norm er 3 - 30 poeng.
For å forbedre kvaliteten på prognosene anbefales det å endre "høyden" i hovedkodefilen. Du kan for eksempel få høyden din her:
Trinn 12: Trinn-for-trinn video
Hvis det var vanskelig å følge det jeg gjorde ovenfor, er her også en videoversjon med alle trinnene som er vist.
Trinn 13: Siste ord
Totalt sett, fra mitt synspunkt, er vanskelighetsgraden for dette prosjektet ikke høy, og hvem som helst kan klare det. Hvis du ikke har en gammel klokke, kan du finne en billig på et lokalt loppemarked.
Alle komponentene er lave priser og er tilgjengelige på Sparkfun/Aliexpress/eBay/Amazon.
Jeg håper denne opplæringen var interessant for deg og ville være takknemlig hvis du kunne støtte min første Instructable in the Clock -konkurranse.
Andreplass i klokkekonkurransen
Anbefalt:
Enkel benkstrømforsyning ved bruk av en gammel bærbar lader: 5 trinn
Enkel benkestrømforsyning ved bruk av en gammel bærbar lader: Så dette er min strømforsyning til benken, det er en veldig enkel konstruksjon med bare 4 ledninger for å legge til / koble til. Hovedstrømmen kommer fra en gammel bærbar lader som kan levere maks 19V og 3,4A. Det er verdt å nevne at den bærbare laderen er en 2 -leder versjon fra
CCTV -kamera med NodeMCU + Gammel bærbar kameramodul (med og uten bruk av Blynk): 5 trinn
CCTV -kamera med NodeMCU + Old Laptop's Camera Module (With and Without Using Blynk): Hei folkens! I denne instruksen skal jeg vise deg hvordan jeg brukte en gammel bærbar kameramodul og nodeMCU til å lage noe som ligner på CCTV
PCB UV -eksponering ved resirkulering av en gammel skanner: 6 trinn (med bilder)
PCB UV -eksponering ved å resirkulere en gammel skanner: Hei, slik gjorde jeg UVB -eksponeringen av PCB ved å resirkulere en gammel skanner
Trådløs fjernkontroll ved bruk av 2,4 GHz NRF24L01 -modul med Arduino - Nrf24l01 4 -kanals / 6 -kanals sendermottaker for quadcopter - Rc Helikopter - RC -fly som bruker Arduino: 5 trinn (med bilder)
Trådløs fjernkontroll ved bruk av 2,4 GHz NRF24L01 -modul med Arduino | Nrf24l01 4 -kanals / 6 -kanals sendermottaker for quadcopter | Rc Helikopter | Rc -fly ved bruk av Arduino: For å betjene en Rc -bil | Quadcopter | Drone | RC -fly | RC -båt, vi trenger alltid en mottaker og sender, anta at for RC QUADCOPTER trenger vi en 6 -kanals sender og mottaker, og den typen TX og RX er for kostbar, så vi lager en på vår
Automatisk dyrefôr ved bruk av en gammel digital klokke: 10 trinn (med bilder)
Automatisk kjæledyrsmater ved hjelp av en gammel digital klokke: Hei, i denne instruksen vil jeg vise deg hvordan jeg lagde en automatisk kjæledyrsmater ved hjelp av en gammel digital klokke. Jeg har også lagt inn en video om hvordan jeg lagde denne materen. Denne instruksen vil bli deltatt i PCB -konkurransen, og som en tjeneste vil jeg