Indholdsfortegnelse:

Vejrudsigtsur ved hjælp af gammel alarm og Arduino: 13 trin (med billeder)
Vejrudsigtsur ved hjælp af gammel alarm og Arduino: 13 trin (med billeder)

Video: Vejrudsigtsur ved hjælp af gammel alarm og Arduino: 13 trin (med billeder)

Video: Vejrudsigtsur ved hjælp af gammel alarm og Arduino: 13 trin (med billeder)
Video: monitoring panel surya dari set top box 2024, Juli
Anonim
Vejrudsigtsur ved hjælp af gammel alarm og Arduino
Vejrudsigtsur ved hjælp af gammel alarm og Arduino
Vejrudsigtsur ved hjælp af gammel alarm og Arduino
Vejrudsigtsur ved hjælp af gammel alarm og Arduino

Jeg havde et brudt vækkeur liggende og kom på en idé om at konvertere det til ur- og vejrudsigtsstation.

Til dette projekt skal du bruge:

  • Gammelt cirkulært vækkeur
  • Arduino Nano
  • BME280 sensormodul (temp, fugtighed, tryk)
  • LCD display modul fra Nokia 5110
  • DS1307 RTC ur
  • TP4056 litiumbatterioplader
  • Gammelt Li-ion batteri reddet fra mobiltelefon
  • Lille 3,7v til 5v booster -modul
  • Lysafhængig modstand (LDR - lysmåler)
  • Buzzer (brugt bjærget fra gammel pc)
  • 3 trykknapper
  • En flok modstande (2x10k, 270 ohm) og en transistor (2N2222A eller lignende)
  • Nogle brede krympeslanger
  • skrot PCB til brug som frontplade dekoration
  • Micro-USB forlængerkabel (både hun- og han-side er Micro-USB)
  • 2x8cm prototype bord og nogle ledninger

Trin 1: Skil alt ad

Skil alt ad
Skil alt ad

Først demonterede jeg det gamle ur. Klokker, motor, ødelagt urmekanisme …

Trin 2: Knapper til digitale indstillinger

Knapper til digitale indstillinger
Knapper til digitale indstillinger
Knapper til digitale indstillinger
Knapper til digitale indstillinger
Knapper til digitale indstillinger
Knapper til digitale indstillinger
Knapper til digitale indstillinger
Knapper til digitale indstillinger

Da det nye ur vil være fuldt digitalt med en mini-computer indeni, tilføjede jeg 3 enkle flotte knapper på siden.

Ved hjælp af et stykke aluminium skåret jeg overlæg ud for at lave en etiket. Bogstaverne til etiketterne blev oprettet ved hjælp af bogstaverne og en sort markør.

Trin 3: Kondensator til motoren

Kondensator til motoren
Kondensator til motoren

Jeg vil beholde de gamle klokker for at drive alarmen med motoren. Den gamle ødelagte urmekanisme havde en keramisk kondensator med etiketten 104. Jeg fjernede den fra printpladen og lodde den direkte til motoren - dette hjælper med at forhindre strømspidser, når motoren tændes under alarm. Det er også vigtigt at bemærke, at motoren vil blive styret gennem transistor, men mere om dette senere.

Trin 4: Nyt ansigt til uret

Nyt ansigt til uret
Nyt ansigt til uret
Nyt ansigt til uret
Nyt ansigt til uret

Da jeg besluttede mig for at lave et nyt ansigt til uret - tog jeg et printkort fra min affaldsbunke og brugte en bygherre -varmepistol til hurtigt at fjerne alle komponenter. Hullet i midten er lavet til den digitale skærm på det nye ur.

Trin 5: Digital skærm fra gammel mobiltelefon

Digital skærm fra gammel mobiltelefon
Digital skærm fra gammel mobiltelefon
Digital skærm fra gammel mobiltelefon
Digital skærm fra gammel mobiltelefon

Til dette projekt besluttede jeg at bruge en LCD -skærm fra den gamle Nokia 5110 mobiltelefon. Disse skærme er bredt tilgængelige til salg som et modul, de trækker meget lidt strøm, og der er gode biblioteker til Arduino. Hvis du køber et nyt modul med 5110 skærm - redder du planeten, fordi alle nye moduler er oprettet fra bjærgede 5110, 3110 og 3210 telefoner!

Trin 6: Tilslutning af kredsløb

Tilslutning af kredsløb
Tilslutning af kredsløb
Tilslutning af kredsløb
Tilslutning af kredsløb
Tilslutning af kredsløb
Tilslutning af kredsløb

Du har måske allerede gættet, at jeg planlagde at bruge Arduino board til at styre dette ur. Projektet kan let gentages, selv for begyndere Arduino -fans, fordi jeg ikke har oprettet mine egne printkort. Det er et Arduino Nano -kort med moduler forbundet til det - BME280 temperatur-, tryk- og fugtighedsføler, DS1307 RTC -ur, TP4056 litiumbatterioplader, lille 3,7v til 5v booster -modul, lysafhængig modstand (LDR - lysmåler) og en summer (taget fra den gamle pc).

Kig også på skitserne - de viser alle forbindelser. Jeg synes, at alt er meget let at læse og forstå, men hvis du har spørgsmål, skal du bare stille dem i kommentarerne herunder.

Lidt noter om opsætningen:

  • Motoren tilsluttes direkte fra batteriet gennem transistoren. Arduino styrer transistoren gennem modstand og PWM pin D5.
  • Stifter D7-12 bruges til LCD-stik. Jord og VCC er forbundet til skinnen på samlingspladen.
  • LDR blev installeret på urskiven, og modstand + 3 udgående ledninger blev loddet lige bag på urskiven.
  • Til knapforbindelse brugte jeg intern PULLUP -funktion inde i Arduino. Menuknappen er knyttet til afbrydelsen, og jeg indså først senere, at du også kan bruge intern PULLUP til afbrydelsen. Afbrydelsen for Menu -knappen er påkrævet, så koden ikke scanner tilstanden af knapperne hele tiden.
  • Uret vil også overvåge og vise batteriets tilstand, så batteriet er direkte forbundet til pin A0. Batterispændingen er aldrig højere end 4,2V, så det er sikkert at tilslutte batteriet direkte til den analoge Arduino -pin.
  • Summer er direkte forbundet til PWM pin D6. Selvom dette ikke er en god praksis, slap jeg med det, fordi Arduino Nano kunne klare højere specifikationer end angivet, og også fordi summeren ikke vil arbejde kontinuerligt. Den samme opsætning ville let brænde stifterne på ESP -kort, så i disse tilfælde anbefaler jeg at bruge transistorstyringen.
  • Uret havde allerede en switch, så jeg besluttede at bruge det. Det ser naturligt ud på bagsiden.

Trin 7: Forbindelseskort for nem tilslutning

Forbindelseskort til nem tilslutning
Forbindelseskort til nem tilslutning
Forbindelseskort til nem tilslutning
Forbindelseskort til nem tilslutning

Alle modulerne kræver positive og jordforbindelser, så jeg besluttede at bruge 2x8cm prototypekort og loddet 5V og jordskinner til det. Jeg lavede også en lille I2C skinne der også, da jeg havde flere moduler ved hjælp af I2C interface.

På den anden side lodde jeg standardnåle, så jeg kunne tilslutte og afbryde modulerne, når det var påkrævet.

Nogle af de ekstra komponenter blev også loddet der, såsom transistor og modstand til motorstyring og en modstand til Menu -knap, der bruger Interrupt. Jeg viste skemaerne i det foregående afsnit.

btw Kan du se LDR -sensoren allerede installeret på urskiven på det første billede?

Trin 8: Opsætning af strømmen

Opsætning af strømmen
Opsætning af strømmen

Jeg brugte et gammelt litium-ion batteri fra min mobiltelefon til at drive dette ur. Normalt har mobiltelefonbatterierne, der udskiftes, stadig god kapacitet i dem (mindst halvdelen af, hvad det var, da det var nyt). Deres fordel er, at de har et indbygget afladningsbeskyttelseskredsløb, og de er også meget tynde, så de kan bruges i små rumscenarier.

For at tilslutte batteriet lodder du blot ledningerne til + og - ben på batteriet. Bare rolig, du beskadiger ikke cellen, fordi der er en controller og et tomt mellemrum mellem stifter og cellens kemikalier.

På dette billede kan du se batteriet og også TP4056 -opladeregulatoren samt 5V booster forbundet til batteriet. Jeg brugte nogle krympeslange til at gøre alt isoleret og kompakt.

Trin 9: Micro USB til opladning og opdatering af firmware

Micro USB til opladning og opdatering af firmware
Micro USB til opladning og opdatering af firmware

Da jeg havde loddet alt, limede jeg summer og temp/tryk/fugtighedsføler på bagpanelet. De passede alle fint ind i de eksisterende slots fra gamle urskiver.

Det var nu tid til at installere Micro USB -porten på bagsiden. Hvorfor Micro USB, hvis Nano bruger Mini USB? Simpelthen fordi de fleste USB -kabler i husholdningen er fra mobiltelefoner, og det ville være praktisk, hvis uret også kunne tage det.

Da jeg ville bruge det til både opladning og opdatering af ur- og vejrstationens funktioner - fjernede jeg USB -kablet, førte strømkablerne gennem TP4056 -oplader og Data+/Data -ledninger direkte til USB -stikket på Arduino Nano. Du kan se dette på skematikken, jeg viste i tidligere afsnit.

Trin 10: Sidste samling

Endelig forsamling
Endelig forsamling
Endelig forsamling
Endelig forsamling
Endelig forsamling
Endelig forsamling

Det var nu tid til at pakke alt tilbage i det originale ur. Jeg brugte krympeslange til at isolere komponenter og moduler. Selv Arduino var pakket ind i krympeslange.

Hold markøren på det første foto for at se, hvor hver komponent blev placeret.

Trin 11: Koden

Som du kan se, er uret fuldt pakket indeni. Dette gjorde det muligt at skabe noget mere sofistikeret end det gamle ur, jeg havde - givet at der selvfølgelig er nogle programmeringsevner. Jeg skrev den første kode, men bad min ven om at træde til og hjælpe mig.

Indtil nu, udover selve uret, er disse de funktioner, som dette projekt allerede understøtter:

  • Visning af tid og dato (samt tid og aktivering af alarm på samme skærm)
  • Skærmen lyser under mørke forhold, eller når der registreres bevægelse (baseret på ændringer i lyset)
  • Vejrudsigt (solrig, overskyet, regnvejr)
  • Visning af temperatur, tryk og fugtighed (for fugtighed angiver det, om det er for tørt)
  • Menu til indstillinger: alarm, ændring af tid, aktivering/deaktivering af datovisning, aktivering/deaktivering af lydmeddelelser om vejrskift og skift mellem kejserlige og metriske enheder
  • Alarmindstillinger - tænd/sluk, indstilling af klokkeslæt, indstilling af melodi og/eller klokker til meddelelser

Seneste kode:

Koden opdateres i fremtiden med nye funktioner, så sørg for at tjekke tilbage for firmwareopdateringer:-)

Hvis du er ny i Arduino -verden, er disse trin jeg vil anbefale at gøre:

  • Installer USB -driver til dit kort (f.eks. CH340)
  • Installer Arduino IDE
  • Installer biblioteker, der bruges i dette projekt
  • Download fra GitHub, og upload den nyeste projektkode til uret ved hjælp af Micro USB -kabel (du kan bruge en fra mobiltelefon)

Forudsigelsesalgoritmen er følgende:

Arduino Nano får nye data fra BME280 -sensor hvert 12. minut. Målecyklussen er 3 timer. Efter 3 timer skifter intervallet for trykovervågning (maks. Og min. Værdi i løbet af 3 timer) i forhold til gennemsnitsværdierne under det aktuelle område og den aktuelle trykværdi. Hver time gemmes trykændringsretningen med den aktuelle trykværdi. kPa -enheder bruges til prognoseberegning.

På grund af Nano's hukommelsesbegrænsninger måtte prognosealgoritmen forenkles. Men på trods af forenklinger er den i stand til at forudsige nedbør i løbet af de næste 12-24 timer, selvom prognosen nu er mere pessimistisk - standardværdien er "Overskyet vejr".

"Solrigt vejr" - den aktuelle trykværdi er 7 point højere end normen, trykket falder ikke, og forskellen mellem min- og maxværdier i løbet af de sidste 3 timer er ikke mere end 2 point.

Mulig nedbør "Regnvejr" - det aktuelle tryk er 15 point lavere end normen og forskellen mellem min & max værdier er mere end 2 point ELLER Trykket falder og forskellen mellem strømværdi og norm er 3 - 30 point.

For at forbedre kvaliteten af prognoser anbefales det at ændre din "højde" i hovedkodefilen. Du kan f.eks. Få din højde her:

Trin 12: Trin-for-trin video

Image
Image

Hvis det var svært at følge det, jeg gjorde ovenfor, er her også en videoversion med alle de viste trin.

Trin 13: Afsluttende ord

Generelt set fra mit synspunkt er vanskeligheden ved dette projekt ikke høj, og alle kan klare det. Hvis du ikke har et gammelt ur, kan du finde et billigt på et lokalt loppemarked.

Alle komponenter er lave priser og er tilgængelige på Sparkfun/Aliexpress/eBay/Amazon.

Jeg håber, at denne vejledning var interessant for dig og ville være taknemmelig, hvis du kunne støtte min første Instructable in the ur -konkurrence.

Ur konkurrence
Ur konkurrence
Ur konkurrence
Ur konkurrence

Nummer to i urkonkurrencen

Anbefalede: