Përmbajtje:

Ora e parashikimit të motit duke përdorur alarmin e vjetër dhe Arduino: 13 hapa (me fotografi)
Ora e parashikimit të motit duke përdorur alarmin e vjetër dhe Arduino: 13 hapa (me fotografi)

Video: Ora e parashikimit të motit duke përdorur alarmin e vjetër dhe Arduino: 13 hapa (me fotografi)

Video: Ora e parashikimit të motit duke përdorur alarmin e vjetër dhe Arduino: 13 hapa (me fotografi)
Video: Ftyra e Gruas ne SERBI 2024, Nëntor
Anonim
Ora e parashikimit të motit duke përdorur Alarmin e Vjetër dhe Arduino
Ora e parashikimit të motit duke përdorur Alarmin e Vjetër dhe Arduino
Ora e parashikimit të motit duke përdorur Alarmin e Vjetër dhe Arduino
Ora e parashikimit të motit duke përdorur Alarmin e Vjetër dhe Arduino

Kisha një orë alarmi të prishur të shtrirë përreth dhe më erdhi një ide për ta kthyer atë në stacionin e orës dhe parashikimit të motit.

Për këtë projekt do t'ju duhet:

  • Orë alarmi e vjetër rrethore
  • Arduino Nano
  • Moduli i sensorit BME280 (temperatura, lagështia, presioni)
  • Moduli i ekranit LCD nga Nokia 5110
  • Ora DS1307 RTC
  • Ngarkues baterie litium TP4056
  • Bateria e vjetër Li-jon u shpëtua nga telefoni celular
  • Modul i vogël 3.7v deri në 5v përforcues
  • Rezistencë e varur nga drita (LDR - njehsor drite)
  • Buzzer (e përdorur e ruajtur nga një kompjuter i vjetër)
  • 3 butona
  • Një bandë rezistencash (2x10k, 270 ohm) dhe një tranzistor (2N2222A ose të ngjashme)
  • Disa tuba tkurrës të gjerë
  • skrap PCB për t'u përdorur si dekorim i pllakës së përparme
  • Kabllo zgjerimi Micro-USB (anët femra dhe meshkuj janë Micro-USB)
  • Pllakë prototipi 2x8cm dhe disa tela

Hapi 1: Çmontoni gjithçka

Çmontoni gjithçka
Çmontoni gjithçka

Së pari çmontova orën e vjetër. Këmbanat, motori, mekanizmi i orës së prishur…

Hapi 2: Butonat për cilësimet dixhitale

Butonat për cilësimet dixhitale
Butonat për cilësimet dixhitale
Butonat për cilësimet dixhitale
Butonat për cilësimet dixhitale
Butonat për cilësimet dixhitale
Butonat për cilësimet dixhitale
Butonat për cilësimet dixhitale
Butonat për cilësimet dixhitale

Meqenëse ora e re do të jetë plotësisht dixhitale me një mini-kompjuter brenda, shtova 3 butona të thjeshtë me pamje të bukur anash.

Duke përdorur një copëz alumini, unë prerë mbivendosjen për të krijuar një etiketë. Shkronjat për etiketat u krijuan duke përdorur goditjet e shkronjave dhe një shënues të zi.

Hapi 3: Kondensatori për motorin

Kondensator për motorin
Kondensator për motorin

Unë do t'i mbaj kambanat e vjetra për të ndezur alarmin me motor. Mekanizmi i vjetër i orës së prishur kishte një kondensator qeramik me etiketën 104. E hoqa nga tabela dhe e bashkova drejtpërdrejt në motor - kjo do të ndihmojë në parandalimin e rritjeve të energjisë kur ndizni motorin gjatë alarmit. Gjithashtu e rëndësishme të theksohet është se motori do të kontrollohet përmes transistorit, por më shumë për këtë më vonë.

Hapi 4: Fytyrë e re për Orën

Fytyrë e re për Orën
Fytyrë e re për Orën
Fytyrë e re për Orën
Fytyrë e re për Orën

Meqenëse vendosa të bëj një fytyrë të re për orën - mora një tabelë qarku nga grumbulli im i plehrave dhe përdor një armë ngrohëse ndërtuese për të hequr shpejt të gjithë përbërësit. Vrima në mes është bërë për ekranin dixhital të orës së re.

Hapi 5: Ekran dixhital nga telefoni i vjetër celular

Ekran dixhital nga telefoni i vjetër celular
Ekran dixhital nga telefoni i vjetër celular
Ekran dixhital nga telefoni i vjetër celular
Ekran dixhital nga telefoni i vjetër celular

Për këtë projekt vendosa të përdor një ekran LCD nga telefoni i vjetër Nokia 5110. Këto ekrane janë gjerësisht të disponueshme për shitje si modul, ato tërheqin shumë pak energji dhe ka biblioteka të mira për Arduino. Nëse blini një modul të ri me ekran 5110 - ju po kurseni planetin sepse të gjitha modulet e reja janë krijuar nga telefonat e shpëtuar 5110, 3110 dhe 3210!

Hapi 6: Lidhja e qarqeve

Lidhja e qarqeve
Lidhja e qarqeve
Lidhja e qarqeve
Lidhja e qarqeve
Lidhja e qarqeve
Lidhja e qarqeve

Ju mund ta keni menduar tashmë se po planifikoja të përdor bordin Arduino për të kontrolluar këtë orë. Projekti është lehtësisht i përsëritshëm edhe për tifozët fillestarë të Arduino sepse nuk kam krijuar tabelat e mia të qarkut. Shtë një bord Arduino Nano me module të lidhura me të - sensori i temperaturës, presionit dhe lagështisë BME280, ora DTC1307 RTC, karikuesi i baterisë litium TP4056, modul i vogël 3.7v deri në 5v, Rezistencë e varur nga drita (LDR - matës i dritës) dhe një zile (marrë nga PC e vjetër).

Hidhini një sy edhe skicave - ato tregojnë të gjitha lidhjet. Unë mendoj se gjithçka është shumë e lehtë për tu lexuar dhe kuptuar, por nëse keni ndonjë pyetje, pyesni në komentet më poshtë.

Disa shënime në lidhje me konfigurimin:

  • Motori është i lidhur direkt nga bateria përmes transistorit. Arduino kontrollon transistorin përmes rezistencës dhe PWM pin D5.
  • Kunjat D7-12 përdoren për lidhësin LCD. Toka dhe VCC janë të lidhura me hekurudhën në bordin e kryqëzimit.
  • LDR u instalua në sipërfaqen e orës dhe rezistenca + 3 tela dalës u ngjitën në pjesën e pasme të faqes së orës.
  • Për lidhjen me buton kam përdorur funksionin e brendshëm PULLUP brenda Arduino. Butoni Menu është bashkangjitur në ndërprerje dhe unë e kuptova vetëm më vonë se ju gjithashtu mund të përdorni PULLUP të brendshëm edhe për ndërprerjen. Butoni i ndërprerjes për Menunë kërkohet në mënyrë që kodi të mos skanojë gjendjen e butonave gjatë gjithë kohës.
  • Ora do të monitorojë dhe shfaqë gjithashtu gjendjen e baterisë kështu që bateria është e lidhur drejtpërdrejt me pin A0. Tensioni i baterisë nuk është kurrë më i lartë se 4.2V, kështu që është e sigurt të lidhni baterinë direkt me kunjin analog Arduino.
  • Buzzer është i lidhur drejtpërdrejt me pin PWM D6. Edhe pse kjo nuk është një praktikë e mirë, unë u largova me të sepse Arduino Nano mund të merrte specifikime më të larta se sa u tha dhe gjithashtu sepse zilja nuk do të funksionojë vazhdimisht. I njëjti konfigurim do të digjte lehtësisht kunjat në bordet ESP kështu që në ato raste unë rekomandoj përdorimin e kontrollit të tranzistorit.
  • Ora kishte tashmë një çelës, kështu që vendosa ta përdor. Duket e natyrshme në anën e pasme.

Hapi 7: Bordi i Kryqëzimit për Lidhje të Lehta

Bordi i Kryqëzimit për Lidhje të Lehta
Bordi i Kryqëzimit për Lidhje të Lehta
Bordi i Kryqëzimit për Lidhje të Lehta
Bordi i Kryqëzimit për Lidhje të Lehta

Të gjitha modulet kërkojnë lidhje pozitive dhe tokësore, kështu që vendosa të përdor bordin prototip 2x8cm dhe bashkova binarët 5V dhe Ground në të. Unë gjithashtu bëra një hekurudhë të vogël I2C edhe atje pasi kisha disa module duke përdorur ndërfaqen I2C.

Nga ana tjetër bashkova kunjat standarde në mënyrë që të mund të lidhja dhe shkëpusja modulet kur kërkohej.

Disa nga komponentët shtesë u ngjitën gjithashtu atje, siç janë transistori dhe rezistenca për kontrollin e motorit dhe një rezistencë për butonin Menu i cili përdor Interrupt. Unë tregova skemat në pjesën e mëparshme.

btw A mund ta shihni sensorin LDR të instaluar tashmë në faqen e orës në foton e parë?

Hapi 8: Vendosja e energjisë

Vendosja e energjisë
Vendosja e energjisë

Kam përdorur një bateri të vjetër litium-jon nga celulari im për të fuqizuar këtë orë. Zakonisht bateritë e telefonit celular që zëvendësohen ende kanë kapacitet të mirë (të paktën gjysma e asaj që ishte kur ishte e re). Avantazhi i tyre është se ata kanë një qark mbrojtës të integruar të shkarkimit dhe janë gjithashtu shumë të hollë, kështu që mund të përdoren në skenarë të hapësirës së vogël.

Për të lidhur baterinë thjesht lidhni telat në kunjat + dhe - të baterisë. Mos u shqetësoni, nuk do ta dëmtoni qelizën sepse ka një kontrollues dhe një hapësirë boshe midis kunjave dhe kimikateve të qelizës.

Në këtë foto ju mund të shihni baterinë dhe gjithashtu kontrolluesin e ngarkimit TP4056 si dhe përforcuesin 5V të lidhur së bashku dhe me baterinë. Kam përdorur disa tuba të mbyllur për të bërë gjithçka të izoluar dhe kompakte.

Hapi 9: Mikro USB për karikimin dhe përditësimin e firmuerit

Mikro USB për karikimin dhe përditësimin e firmuerit
Mikro USB për karikimin dhe përditësimin e firmuerit

Pasi të kisha bashkuar gjithçka, ngjita zilen dhe sensorin e temperaturës/presionit/lagështisë në panelin e pasmë. Ata të gjithë u përshtatën mirë në lojërat elektronike ekzistuese nga kontrollet e vjetra të thirrjes së orës.

Tani ishte koha për të instaluar portën Micro USB në anën e pasme. Pse Micro USB nëse Nano përdor Mini USB? Thjesht sepse në familje, shumica e kabllove USB janë nga celularët dhe do të ishte e përshtatshme nëse ora do të ishte në gjendje ta merrte edhe atë.

Meqenëse doja ta përdorja atë si për karikimin ashtu edhe për azhurnimin e funksioneve të orës dhe stacionit të motit - hoqa kabllon USB, kalova telat e energjisë përmes ngarkuesit TP4056 dhe telave Data+/Data- drejtpërdrejt në prizën USB të Arduino Nano. Ju mund ta shihni këtë në skemën që tregova në seksionet e mëparshme.

Hapi 10: Asambleja Përfundimtare

Asambleja Përfundimtare
Asambleja Përfundimtare
Asambleja Përfundimtare
Asambleja Përfundimtare
Asambleja Përfundimtare
Asambleja Përfundimtare

Tani ishte koha për të paketuar gjithçka përsëri në orën origjinale. Kam përdorur tubin e tkurrjes për të izoluar përbërësit dhe modulet. Edhe Arduino ishte mbështjellë me tub të tkurrur.

Rri pezull në foton e parë për të parë se ku është vendosur secili komponent.

Hapi 11: Kodi

Siç mund ta shihni, ora është e mbushur plotësisht brenda. Kjo lejoi të krijonte diçka më të sofistikuar se sa ora e vjetër që kisha - duke pasur parasysh që ka disa aftësi programimi sigurisht. Shkrova kodin fillestar, por i kërkova shokut tim të hynte dhe të më ndihmonte.

Deri më tani, përveç vetë orës, këto janë funksionet që ky projekt tashmë po mbështet:

  • Shfaqja e kohës dhe datës (si dhe koha dhe aktivizimi i alarmit në të njëjtin ekran)
  • Ekrani ndizet në kushte të errëta ose kur zbulohet lëvizja (bazuar në ndryshimet e dritës)
  • Parashikimi i motit (me diell, me vranësira, me shi)
  • Shfaqja e temperaturës, presionit dhe lagështisë (për lagështi do të tregojë nëse është shumë e thatë)
  • Menyja për cilësimet: alarmi, ndryshimi i kohës, aktivizimi/çaktivizimi i ekranit të datës, aktivizoni/çaktivizoni njoftimet e zërit të ndryshimit të motit dhe kaloni midis njësive perandorake dhe metrike
  • Cilësimet e alarmit - ndezur/fikur, caktimin e kohës, vendosjen e melodisë dhe/ose kambanave për njoftimet

Kodi më i fundit:

Kodi do të përditësohet në të ardhmen me veçori të reja, prandaj sigurohuni që të kontrolloni përsëri për përditësimet e firmware-it:-)

Nëse jeni i ri në botën Arduino, këto janë hapat që unë do të rekomandoja të bëni:

  • Instaloni drejtuesin USB për tabelën tuaj (p.sh. CH340)
  • Instaloni Arduino IDE
  • Instaloni bibliotekat e përdorura në këtë projekt
  • Shkarkoni nga GitHub dhe ngarkoni kodin e fundit të Projektit në orë duke përdorur kabllo Micro USB (mund të përdorni një nga telefoni celular)

Algoritmi i parashikimit është si më poshtë:

Arduino Nano merr të dhëna të reja nga sensori BME280 çdo 12 minuta. Cikli i matjes është 3 orë. Pas 3 orësh, diapazoni i monitorimit të presionit (vlera maksimale dhe minimale gjatë 3 orëve) zhvendoset në raport me vlerat mesatare gjatë intervalit aktual dhe vlerës aktuale të presionit. Çdo orë drejtimi i ndryshimit të presionit me vlerën aktuale të presionit ruhet. Njësitë kPa përdoren për llogaritjen e parashikimit.

Për shkak të kufizimeve të kujtesës së Nanos, algoritmi i parashikimit duhej të thjeshtohej. Por pavarësisht thjeshtimeve, ajo është në gjendje të parashikojë reshjet në 12-24 orët e ardhshme edhe pse parashikimi tani është më pesimist - vlera e paracaktuar është "Moti i Vranët".

"Mot me diell" - vlera aktuale e presionit është më e lartë se norma me 7 pikë, presioni nuk bie dhe diferenca midis vlerave min dhe max gjatë 3 orëve të fundit nuk është më shumë se 2 pikë.

Reshjet e mundshme "Moti me shi" - presioni aktual është 15 pikë më i ulët se norma dhe diferenca midis vlerave min & max është më shumë se 2 pikë OSE Presioni po bie dhe diferenca midis vlerës aktuale dhe normës është 3 - 30 pikë.

Për të përmirësuar cilësinë e parashikimit rekomandohet të ndryshoni "lartësinë" tuaj në skedarin kryesor të kodit. Ju mund të merrni lartësinë tuaj për shembull këtu:

Hapi 12: Video hap pas hapi

Image
Image

Nëse ishte e vështirë të ndiqni atë që bëra më lart, këtu është gjithashtu një version video me të gjitha hapat e treguar.

Hapi 13: Fjalët e fundit

Në përgjithësi, nga pikëpamja ime, niveli i vështirësisë së këtij projekti nuk është i lartë dhe çdokush mund ta bëjë atë. Nëse nuk keni një orë të vjetër, mund ta gjeni një të lirë në një treg pleshti lokal.

Të gjithë përbërësit janë me çmim të ulët dhe janë në dispozicion në Sparkfun/Aliexpress/eBay/Amazon.

Shpresoj se ky mësim ishte interesant për ju dhe do të isha mirënjohës nëse mund të mbështesni Instructable tim të parë në konkursin e Sahatit.

Konkursi i orëve
Konkursi i orëve
Konkursi i orëve
Konkursi i orëve

Vendi i dytë në konkursin e orëve

Recommended: