Mundarija:
- 1 -qadam: Hammasini qismlarga ajratish
- 2 -qadam: Raqamli sozlash tugmalari
- 3 -qadam: Dvigatel uchun kondansatör
- 4 -qadam: Soat uchun yangi yuz
- 5 -qadam: Eski mobil telefondan raqamli displey
- 6 -qadam: davralarni ulash
- 7 -qadam: oson ulanish uchun birlashma paneli
- 8 -qadam: quvvatni sozlash
- 9 -qadam: Mikrodasturni zaryadlash va yangilash uchun
- 10 -qadam: Yakuniy yig'ilish
- 11 -qadam: Kod
- 12-qadam: bosqichma-bosqich video
- 13 -qadam: Yakuniy so'zlar
Video: Old signal va Arduino yordamida ob -havo ma'lumoti: 13 qadam (rasmlar bilan)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:27
Menda buzilgan budilnik bor edi va uni soat va ob -havo prognoz stantsiyasiga aylantirish g'oyasi keldi.
Ushbu loyiha uchun sizga kerak bo'ladi:
- Eski dumaloq budilnik
- Arduino Nano
- Sensor moduli BME280 (harorat, namlik, bosim)
- Nokia 5110 dan LCD displeyli modul
- DS1307 RTC soati
- Lityum batareya zaryadlovchi TP4056
- Eski Li-ion batareyasi mobil telefondan qutqarilgan
- Kichik 3.7V dan 5V gacha kuchaytirgich moduli
- Yorug'likka bog'liq qarshilik (LDR - yorug'lik o'lchagich)
- Buzzer (eski kompyuterdan qutqarilgan)
- 3 ta tugma
- Bir nechta rezistorlar (2x10k, 270 ohm) va tranzistor (2N2222A yoki shunga o'xshash)
- Kengroq qisqaruvchi quvur
- old plastinka bezagi sifatida foydalanish uchun tenglikni qoldiqlari
- Micro-USB uzatma kabeli (ayol va erkak tomoni Micro-USB)
- 2x8 sm o'lchamdagi prototip taxtasi va ba'zi simlar
1 -qadam: Hammasini qismlarga ajratish
Avval eski soatni demontaj qildim. Qo'ng'iroqlar, motor, buzilgan soat mexanizmi …
2 -qadam: Raqamli sozlash tugmalari
Yangi soat to'liq raqamli bo'lib, uning ichida mini-kompyuter bo'ladi, men yon tomonga 3 ta chiroyli ko'rinadigan oddiy tugma qo'shdim.
Alyuminiy parchasidan foydalanib, yorliq yaratish uchun qoplamani kesib tashladim. Yorliqlar uchun harflar harflar va qora marker yordamida yaratilgan.
3 -qadam: Dvigatel uchun kondansatör
Men signalni motor bilan yoqish uchun eski qo'ng'iroqlarni ushlab turaman. Eski singan soat mexanizmida 104. yorlig'i bo'lgan keramik kondansatör bor edi. Men uni elektron kartadan olib tashladim va to'g'ridan -to'g'ri dvigatelga lehimladim - bu signal paytida dvigatelni yoqish paytida kuchlanishni oldini olishga yordam beradi. Shuni ham ta'kidlash kerakki, dvigatel tranzistor orqali boshqariladi, lekin keyinroq.
4 -qadam: Soat uchun yangi yuz
Men soat uchun yangi yuz yasashga qaror qilganim uchun - men axlat qutisidan elektron platani oldim va barcha komponentlarni tezda olib tashlash uchun quruvchi issiqlik tabancasidan foydalandim. O'rtadagi teshik yangi soatning raqamli ekrani uchun qilingan.
5 -qadam: Eski mobil telefondan raqamli displey
Ushbu loyiha uchun men eski Nokia 5110 mobil telefonining LCD displeyidan foydalanishga qaror qildim. Bu ekranlar modul sifatida sotuvda keng tarqalgan, ular juda kam quvvat sarflaydi va Arduino uchun yaxshi kutubxonalar mavjud. Agar siz 5110 ekranli yangi modul sotib olsangiz - siz sayyorani qutqarasiz, chunki barcha yangi modullar saqlangan 5110, 3110 va 3210 telefonlardan yaratilgan!
6 -qadam: davralarni ulash
Siz bu soatni boshqarish uchun Arduino kartasidan foydalanishni rejalashtirganimni oldindan taxmin qilgan bo'lishingiz mumkin. Loyihani hatto Arduino -ning yangi ishqibozlari uchun ham osonlikcha takrorlash mumkin, chunki men o'z elektron platalarimni yaratmaganman. Bu Arduino Nano kartasi, unga ulangan modullar - BME280 harorati, bosimi va namligi sensori, DS1307 RTC soati, TP4056 lityum batareyali zaryadlovchi, kichik 3,7 dan 5V gacha kuchaytirgichli modul, Yorug'likka bog'liq rezistor (LDR - yorug'lik o'lchagichi) va ovozli signal (eski kompyuterdan olingan).
Eskizlarni ham ko'rib chiqing - ular barcha aloqalarni ko'rsatadi. O'ylaymanki, hamma narsani o'qish va tushunish juda oson, lekin agar sizda biron bir savol bo'lsa, quyidagi izohlarda so'rang.
O'rnatish haqida bir nechta eslatmalar:
- Dvigatel to'g'ridan -to'g'ri batareyadan tranzistor orqali ulanadi. Arduino tranzistorni rezistor va DW P5 pin orqali boshqaradi.
- LCD ulagichi uchun D7-12 pinlari ishlatiladi. Tuproq va VCC birlashma taxtasida temir yo'lga ulangan.
- LDR soat yuzasiga o'rnatildi va qarshilik + 3 chiqish simlari soatning orqa tomonida lehimlandi.
- Tugmalarga ulanish uchun men Arduino ichidagi ichki PULLUP funktsiyasidan foydalanardim. Menyu tugmasi uzilishga biriktirilgan va men faqat tanaffus uchun ichki PULLUP -dan foydalanishingiz mumkinligini keyinroq tushundim. Menyu tugmachasining uzilishi kod har doim tugma holatini skanerlamasligi uchun talab qilinadi.
- Soat batareyaning holatini kuzatadi va ko'rsatadi, shuning uchun batareya to'g'ridan -to'g'ri A0 piniga ulanadi. Batareya quvvati hech qachon 4,2 V dan oshmaydi, shuning uchun batareyani to'g'ridan -to'g'ri Arduino analog piniga ulash xavfsiz.
- Buzzer to'g'ridan -to'g'ri PWM pin D6 ga ulangan. Garchi bu yaxshi amaliyot bo'lmasa -da, men undan qochib qutuldim, chunki Arduino Nano aytilganidan yuqori spetsifikatsiyani bajara olardi, shuningdek, signalizor doimiy ishlamasligi uchun. Xuddi shu sozlash ESP platalaridagi pimlarni osonlikcha yoqib yuborishi mumkin, shuning uchun men bunday hollarda tranzistorli boshqaruvni ishlatishni maslahat beraman.
- Soat allaqachon kalitga ega edi, shuning uchun men uni ishlatishga qaror qildim. Orqa tomondan tabiiy ko'rinadi.
7 -qadam: oson ulanish uchun birlashma paneli
Barcha modullar ijobiy va erga ulanishni talab qiladi, shuning uchun men 2x8 sm o'lchamdagi prototipli taxtadan foydalanishga qaror qildim va unga 5V va er osti relslarini lehimladim. Men u erda ham kichik I2C temir yo'lini qildim, chunki menda I2C interfeysidan foydalanadigan bir nechta modul bor edi.
Boshqa tomondan, men standart pinlarni lehimladim, shunda men kerak bo'lganda modullarni ulashim va uzishim mumkin edi.
U erda ba'zi qo'shimcha komponentlar lehimlangan, masalan, tranzistor va dvigatelni boshqarish rezistori va Menyu tugmachasining rezistori, uzilish. Men oldingi bo'limda sxemalarni ko'rsatdim.
btw Birinchi rasmda soat yuziga o'rnatilgan LDR sensorini ko'ryapsizmi?
8 -qadam: quvvatni sozlash
Men bu soatni yoqish uchun uyali telefonimdan eski lityum-ion batareyadan foydalandim. Odatda almashtiriladigan mobil telefon batareyalari hali ham yaxshi quvvatga ega (yangisidan kamida yarmi). Ularning afzalligi shundaki, ular o'rnatilgan zaryadsizlanishdan himoya sxemasiga ega va ular juda nozik, shuning uchun kichik kosmik stsenariylarda foydalanish mumkin.
Batareyani ulash uchun simlarni batareyaning + va - pinlariga lehimlang. Xavotir olmang, siz hujayraga zarar etkazmaysiz, chunki nazoratchi va pinlar va hujayraning kimyoviy moddalari o'rtasida bo'sh joy bor.
Bu rasmda siz batareyani, shuningdek, TP4056 zaryad regulyatorini, 5V kuchaytirgichni va batareyaga ulanganini ko'rishingiz mumkin. Hamma narsa izolyatsiya qilingan va ixcham bo'lishi uchun men qisqaradigan quvurlardan foydalanardim.
9 -qadam: Mikrodasturni zaryadlash va yangilash uchun
Men hamma narsani lehimlaganimdan so'ng, orqa paneldagi buzzer va temp/bosim/namlik sensorini yopishtirdim. Ularning hammasi eski soat qo'mondonlarining mavjud uyalariga yaxshi o'rnatilgan.
Endi mikro USB portini orqa tomonga o'rnatish vaqti keldi. Agar Nano Mini USB ishlatsa, nima uchun Micro USB? Oddiy qilib aytganda, uy xo'jaliklarida ko'pchilik USB kabellari uyali telefonlardan qilingan va agar soat ham buni qabul qila oladigan bo'lsa, bu qulay bo'lar edi.
Men uni zaryadlash, soat va ob -havo stantsiyalarining funktsiyalarini yangilash uchun ishlatmoqchi bo'lganim uchun - men USB kabelini olib tashladim, quvvat simlarini TP4056 zaryadlovchi va Data+/Ma'lumot simlari orqali to'g'ridan -to'g'ri Arduino Nano USB rozetkasiga o'tkazdim. Buni oldingi bo'limlarda ko'rsatgan sxemada ko'rishingiz mumkin.
10 -qadam: Yakuniy yig'ilish
Endi hamma narsani asl soatiga qaytarish vaqti keldi. Men komponentlar va modullarni ajratish uchun shrink trubkasidan foydalanardim. Hatto Arduino ham qisish trubasiga o'ralgan edi.
Har bir komponent qaerda joylashtirilganini ko'rish uchun birinchi rasmga suring.
11 -qadam: Kod
Ko'rib turganingizdek, soat ichida to'liq yig'ilgan. Bu menda mavjud bo'lgan eski soatdan ko'ra murakkabroq narsa yaratishga imkon berdi, albatta, ba'zi dasturlash ko'nikmalari bor. Men boshlang'ich kodni yozdim, lekin do'stimdan yordam so'radi.
Hozircha, soatning o'zidan tashqari, bu loyiha allaqachon qo'llab -quvvatlaydigan vazifalar:
- Vaqt va sanani ko'rsatish (shuningdek, xuddi shu ekranda signalning vaqti va yoqilishi)
- Ekran qorong'i sharoitda yoki harakat aniqlanganda yonadi (yorug'lik o'zgarishiga qarab)
- Ob -havo ma'lumoti (quyoshli, bulutli, yomg'irli)
- Harorat, bosim va namlikni ko'rsatish (namlik uchun bu uning juda quruqligini ko'rsatadi)
- Sozlamalar menyusi: signal, vaqtni o'zgartirish, sanani ko'rsatishni yoqish/o'chirish, ob -havo o'zgarishi to'g'risida ovozli bildirishnomalarni yoqish/o'chirish va imperiya va metrik birliklar o'rtasida almashish
- Signal sozlamalari - yoqish/o'chirish, vaqtni belgilash, ohangni va/yoki qo'ng'iroqlar uchun bildirishnomalarni o'rnatish
Oxirgi kod:
Kod kelajakda yangi xususiyatlar bilan yangilanadi, shuning uchun dasturiy ta'minot yangilanishlarini tekshirib ko'ring:-)
Agar siz Arduino dunyosida yangi bo'lsangiz, men tavsiya qilaman:
- Anakart uchun USB drayverini o'rnating (masalan, CH340)
- Arduino IDE -ni o'rnating
- Ushbu loyihada ishlatiladigan kutubxonalarni o'rnating
- GitHub -dan yuklab oling va Micro USB kabelidan foydalanib, loyihaning so'nggi kodini soatga yuklang (siz mobil telefondan foydalanishingiz mumkin)
Prognozlash algoritmi quyidagicha:
Arduino Nano har 12 daqiqada BME280 sensoridan yangi ma'lumotlarni oladi. O'lchov davri 3 soat. 3 soatdan keyin bosimni kuzatish diapazoni (3 soat davomida maksimal va minimal qiymat) joriy diapazon va joriy bosim qiymatidagi o'rtacha qiymatlarga nisbatan o'zgaradi. Har soatda bosim o'zgarishi yo'nalishi joriy bosim qiymati bilan saqlanadi. kPa birliklari prognozni hisoblash uchun ishlatiladi.
Nanoning xotirasi cheklanganligi sababli prognozlash algoritmini soddalashtirishga to'g'ri keldi. Ammo soddalashtirishlarga qaramay, u keyingi 12-24 soat ichida yog'ingarchilikni oldindan bashorat qila oladi, garchi bashorat yanada pessimistik bo'lsa - standart qiymat "Bulutli ob -havo".
"Quyoshli ob -havo" - bosimning joriy qiymati me'yordan 7 ball yuqori, bosim pasaymaydi va oxirgi 3 soat ichida min va maksimal qiymatlar orasidagi farq 2 balldan oshmaydi.
Yomg'ir yog'ishi mumkin "Yomg'irli ob -havo" - joriy bosim me'yordan 15 ball past va min va maksimal qiymatlar orasidagi farq 2 balldan oshadi Yo bosim pasayadi va joriy qiymat bilan me'yor o'rtasidagi farq 3 - 30 ball.
Prognoz sifatini yaxshilash uchun asosiy kod faylidagi "balandligingizni" o'zgartirish tavsiya etiladi. Siz o'zingizning balandligingizni bu erda olishingiz mumkin, masalan:
12-qadam: bosqichma-bosqich video
Agar yuqorida qilganlarimga amal qilish qiyin bo'lgan bo'lsa, bu erda ko'rsatiladigan barcha amallar bilan video versiyasi.
13 -qadam: Yakuniy so'zlar
Umuman olganda, menimcha, bu loyihaning qiyinchilik darajasi yuqori emas va har kim buni uddalay oladi. Agar sizda eski soat bo'lmasa, siz mahalliy bozorda arzonini topishingiz mumkin.
Barcha komponentlar past narxda va Sparkfun/Aliexpress/eBay/Amazonda mavjud.
Umid qilamanki, bu darslik siz uchun qiziqarli bo'ldi va agar siz "Soatdagi birinchi ko'rsatma" tanlovimni qo'llab -quvvatlasangiz, minnatdor bo'lardim.
Soatlar tanlovida ikkinchi o'rinni egalladi
Tavsiya:
Arduino simsiz signal tizimi mavjud sensorlar yordamida: 9 qadam (rasmlar bilan)
Arduino simsiz signal tizimi mavjud sensorlar yordamida: Agar sizda 433 MGts yoki 315 MGts simsiz signal sensori mavjud bo'lsa, bu loyihani taxminan 20.00 dollar atrofida yarim soat ichida qurish mumkin. Bu, shuningdek, infraqizil harakat detektorlari va qamish simlari kabi simsiz signal sensorlar bilan jihozlangan yangi loyiha bo'lishi mumkin
Qanday qilib Arduino UNO yordamida dron yasash mumkin - Mikrokontroller yordamida kvadrokopter yasang: 8 qadam (rasmlar bilan)
Qanday qilib Arduino UNO yordamida dron yasash mumkin | Mikrokontroller yordamida kvadrokopter yasang: Kirish Youtube kanalimga tashrif buyuring Drone - bu juda qimmat gadjet (mahsulot). Bu postda men qanday qilib arzon narxda ishlab chiqarishni muhokama qilmoqchiman? Qanday qilib o'z qo'llaringiz bilan arzon narxda shunday qilib yasashingiz mumkin … Xo'sh, Hindistonda barcha materiallar (motorlar, ESClar
Arduino bilan 2.4 Gigagertsli NRF24L01 moduli yordamida simsiz masofadan boshqarish - Nrf24l01 4 kanalli / Quadcopter uchun 6 kanalli uzatuvchi qabul qilgich - Rc vertolyoti - Arduino yordamida Rc samolyoti: 5 qadam (rasmlar bilan)
Arduino bilan 2.4 Gigagertsli NRF24L01 moduli yordamida simsiz masofadan boshqarish | Nrf24l01 4 kanalli / Quadcopter uchun 6 kanalli uzatuvchi qabul qilgich | Rc vertolyoti | Arduino yordamida Rc samolyoti: Rc avtomashinasini boshqarish | Kvadrokopter | Drone | RC samolyoti | RC qayig'i, bizga har doim qabul qiluvchi va uzatuvchi kerak bo'ladi, deylik, RC QUADCOPTER uchun bizga 6 kanalli uzatuvchi va qabul qilgich kerak, va bu turdagi TX va RX juda qimmatga tushadi, shuning uchun biz uni o'zimizda ishlab chiqaramiz
Karnay yoki Flyback transformatorida PWM yordamida Arduino yordamida qo'shiqlarni (MP3) ijro etish: 6 qadam (rasmlar bilan)
Qo'shiqlarni (MP3) Arduino bilan PWM yordamida karnay yoki Flyback transformatorida ijro eting: Salom bolalar, bu mening birinchi ko'rsatmam, sizga yoqadi degan umiddaman !! Asosan, men ushbu loyihada Arduino va noutbuk o'rtasidagi ketma -ket aloqani qo'lladim. musiqa ma'lumotlarini noutbukdan Arduino -ga uzatish. Va Arduino TIMERS -dan foydalanish
Blynk ilovasi yordamida USB orqali smartfon yordamida Arduino -ni boshqaring: 7 qadam (rasmlar bilan)
Arduino -ni USB orqali Blynk ilovasi yordamida USB orqali boshqaring: Ushbu qo'llanmada biz Blynk va Arduino -dan chiroqni boshqarish uchun qanday foydalanishni bilib olamiz, bu kombinatsiya USB seriyali port orqali amalga oshiriladi. Arduino yoki C ni masofadan boshqarishning eng oddiy echimi