Mundarija:

Old signal va Arduino yordamida ob -havo ma'lumoti: 13 qadam (rasmlar bilan)
Old signal va Arduino yordamida ob -havo ma'lumoti: 13 qadam (rasmlar bilan)

Video: Old signal va Arduino yordamida ob -havo ma'lumoti: 13 qadam (rasmlar bilan)

Video: Old signal va Arduino yordamida ob -havo ma'lumoti: 13 qadam (rasmlar bilan)
Video: ESP32 Tutorial 12 - WS2812 RGB Srip 4 Project with SunFounder's ESP32 IoT Learnig kit 2024, Noyabr
Anonim
Old signal va Arduino yordamida ob -havo ma'lumoti
Old signal va Arduino yordamida ob -havo ma'lumoti
Old signal va Arduino yordamida ob -havo ma'lumoti
Old signal va Arduino yordamida ob -havo ma'lumoti

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

Hammasini demontaj qiling
Hammasini demontaj qiling

Avval eski soatni demontaj qildim. Qo'ng'iroqlar, motor, buzilgan soat mexanizmi …

2 -qadam: Raqamli sozlash tugmalari

Raqamli sozlash tugmalari
Raqamli sozlash tugmalari
Raqamli sozlash tugmalari
Raqamli sozlash tugmalari
Raqamli sozlash tugmalari
Raqamli sozlash tugmalari
Raqamli sozlash tugmalari
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

Dvigatel uchun kondansatör
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

Soat uchun yangi yuz
Soat uchun yangi yuz
Soat uchun yangi yuz
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

Eski mobil telefondan raqamli displey
Eski mobil telefondan raqamli displey
Eski mobil telefondan raqamli displey
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

Zanjirlarni ulash
Zanjirlarni ulash
Zanjirlarni ulash
Zanjirlarni ulash
Zanjirlarni ulash
Zanjirlarni 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

Oson ulanish uchun aloqa paneli
Oson ulanish uchun aloqa paneli
Oson ulanish uchun aloqa paneli
Oson ulanish uchun aloqa 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

Quvvatni sozlash
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

Mikro USB dasturiy ta'minotni zaryadlash va yangilash uchun
Mikro USB dasturiy ta'minotni 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

Yakuniy yig'ilish
Yakuniy yig'ilish
Yakuniy yig'ilish
Yakuniy yig'ilish
Yakuniy yig'ilish
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

Image
Image

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 musobaqasi
Soatlar musobaqasi
Soatlar musobaqasi
Soatlar musobaqasi

Soatlar tanlovida ikkinchi o'rinni egalladi

Tavsiya: