Mundarija:

To'shak yonidagi MP3 signalli signalli soat: 6 qadam (rasmlar bilan)
To'shak yonidagi MP3 signalli signalli soat: 6 qadam (rasmlar bilan)

Video: To'shak yonidagi MP3 signalli signalli soat: 6 qadam (rasmlar bilan)

Video: To'shak yonidagi MP3 signalli signalli soat: 6 qadam (rasmlar bilan)
Video: Zino qilgan ayolni dinda qanday jazolashadi? 2024, Noyabr
Anonim
To'shak yonidagi MP3 signalli signalli soat
To'shak yonidagi MP3 signalli signalli soat

Ushbu loyiha uchun men qulay va to'liq ishlaydigan yotoqxonadagi budilnikni yaratmoqchi edim.

To'shak budilnikining shaxsiy shartlari:

  1. Kechasi ko'r bo'lmasdan, har qanday nurda o'qiladi
  2. MP3 signal qo'shiqlar
  3. Jozibador va kichik shakl omili
  4. Kechiktirish funksiyasi
  5. Xotira funktsiyasi, shuning uchun vaqt, signal, qo'ng'iroq tovushi va ovoz yo'qolmaydi.
  6. Tug'ilgan kun funktsiyasi: Tug'ilgan kunimda (va mening oila a'zolarim) men uyg'onishni xohlayman, standart qo'ng'iroq tovushidan ko'ra "tug'ilgan kuningiz bilan".

Men bularning barchasini birlashtiradigan ko'rsatma topa olmadim; shuning uchun bu ko'rsatma.

Soat 8X8 WS2812B matritsasi atrofida qurilgan. LEDlar kam bo'lgani uchun hamma so'zlar ketma -ket harflardan tuzilishi mumkin emas. Ko'pchilik 8x8 so'zli soatlar (masalan, bu kabi) bir nechta LED -larda ko'proq harflarni guruhlash orqali hal qilinadi, boshqalarda esa ijodiy echimlar ko'proq. Men shunga o'xshash echimlarni izlashga qaror qildim, bu erda so'zlar ketma-ket bo'lmagan harflardan yasalgan. Bu sehrli burilishni beradi, chunki siz so'zlarni yoqishdan oldin ko'rmaysiz. O'qish qobiliyatini oshirish uchun bitta so'zdan kelgan harflar bir xil rangga ega. Avvaliga o'qish biroz tushunarsiz, lekin bir muncha vaqt o'tgach, uni portlash bilan o'qish mumkin. Shuning uchun men uni so'z soati emas, balki harfli soat deb atayman. Soat har kuni ertalab meni uyg'otadi va men hali ham so'zlarning qanday yasalganiga hayronman!

Ta'minotlar

Elektronikadan tashqari, deyarli barcha komponentlar uyda ishlatilgan narsalar qayta ishlatilgan yoki qaytarilgan. Sizga haqiqatan ham kerak bo'lgan va, ehtimol, soat yuzasi uchun qo'lda bo'lmagan yagona vosita - bu lazerli kesuvchi. Yaxshiyamki, sizga bu borada yordam beradigan juda ko'p fablab va ishlab chiqaruvchilar bor. Rahmat Makerspace De Prins!

Elektron komponentlar:

  • 8X8 WS2812B LED matritsasi
  • Arduino nano
  • DS3231 real vaqtda soat moduli
  • Mini DFPlayer
  • DFPlayer mini -ga qo'yish uchun micro SD -karta (siz topa oladigan eng kichik/eng arzon ish yaxshi bajariladi)
  • Foto diod
  • Bitta RGB LED
  • 1000 F kondansatör
  • iloji boricha kichkina karnay
  • umumiy simlar, ulagichlar, rezistorlar, tugmalar
  • Ba'zi yog'och, MDF,.. quti uchun

1 -qadam: qutini yarating

Qutini yasang
Qutini yasang
Qutini yasang
Qutini yasang

Qutining o'zi uchun men yog'och poldan kesilgan qismlardan foydalanardim. Bu 9 mm qalinlikdagi chiroyli eman taxtalari. Miterli arra yordamida men 10,5 x 8,6 sm o'lchamdagi 4 ta bo'lakni kesib oldim (Aslida men xatolarni tuzatish uchun zaxira qismini kesib tashladim!). Qisqa qirrada old va orqa panelni yashirish uchun 5 mm chuqurchaga ega. Chiroyli kvadrat quti qilish uchun uzun qirralar 45 ° burchak ostida kesiladi. Bu yopishtiruvchi maydonning kichik uchi tufayli yog'ochni qayta ishlash bilan shug'ullanadiganlar vahshiy bo'lmaydilar. Lekin menga burchakda yashiringan bo'g'inning ko'rinishi yoqadi va u hali ham dastur uchun juda kuchli. Ammo bu mening qo'limda bo'lgan materiallar bilan mening halim. Matritsani ushlab turgan har qanday quti ishni yaxshi bajaradi. Qismlarni bir -biriga yopishtirishdan oldin biz elektronikani yasashimiz va joylashtirishimiz kerak. Shunday qilib, u keyingi qadamda.

2 -qadam: Soat yuzi

Soat yuzi
Soat yuzi
Soat yuzi
Soat yuzi

Soat soatisiz soat yo'q. Bu harflarni shaffof qilishning eng aqlli, tez va arzon usullaridan biri bo'lib, boshqa barcha nurlarni to'sib qo'yadi. Sizga faqat kichik bo'lak (10 x 10 sm) akril shisha (AKA pleksi), ozgina purkagich va lazerli kesuvchi kerak bo'ladi. Men qayta ishlangan tiniq akril oynadan boshladim; Qalinligi muhim emas, chunki u sizning qutingizning chuqurchasiga to'g'ri keladi. Bir tomondan men zımpara bilan burchakni qo'pol qildim va uni qora bo'yoq bilan yopdim. Bo'yoq va hokazolarni tomizishdan xavotir olmang, chunki bu orqa tomon bo'ladi. Boshqa tomondan, siz iloji boricha toza saqlashingiz kerak. Endi bo'yoq va akril oynaning bir qismini olib tashlash uchun sizga lazerli kesgichdan foydalanish kerak bo'ladi, bu erda harflar taqdim etilgan SVG yordamida kelishi kerak; harflarni aks ettirish kerakligini unutmang! Et voila: tashqi ko'rinishdagi yuz pardasini yasashning arzon, tez va oson usuli, deyarli yorug'lik oqimi yo'q! Ehtimol, siz harflarning tartibini o'zgartirishingiz kerak, chunki ular gollandiyalik soat uchun mo'ljallangan.

Endi siz lazerga kirishingiz mumkin, shuningdek 6 mm MDFdan matritsani kesib oling (fayl ham biriktirilgan). Bu yorug'lik tarqatish va qo'shni harflarga yorug'lik oqishini oldini olish uchun LED matritsasi va yuz plastinkasi o'rtasida o'tadi.

3 -qadam: Elektronni lehimlash

Elektronni lehimlash
Elektronni lehimlash
Elektronni lehimlash
Elektronni lehimlash
Elektronni lehimlash
Elektronni lehimlash

Endi soatimizning yadrosi vaqti keldi; elektronika.

Loyihamizning qalbi - arduino nano. Men Atmega328P -ga asoslanganini ishlatardim. Bu ishlaydi, lekin dasturiy ta'minotni ishlab chiqish paytida men tez -tez xotira bilan bog'liq muammolarga duch keldim. Ehtimol, har bir ESP32 yoki hatto nano mos keladi.

Hamma narsani lehimlashdan oldin, barcha komponentlar va ulanishlarni taxtada sinab ko'rish maqsadga muvofiqdir. Ko'p miqdordagi komponentlar va kerakli ulanishlar tufayli bu tartibsiz ko'rinadi. Keyin men barcha komponentlarni birma -bir teshilgan elektron kartaga o'tkazaman. Iltimos, komponentlarni bir -biriga yaqin tuting, chunki quti nisbatan kichik va ularni shunday qilib yo'naltiringki, SD -karta, batareya kabi narsalarga kirish mumkin. Yuqoridan hamma narsa chiroyli va tartibli ko'rinadi, orqa qismi esa eng yaxshi spagetti. Lekin barcha ulanishlarni amalga oshirish va darhol sinab ko'rish orqali siz ham buni qila olasiz! Bu erda siz prototipli taxtalar uchun ba'zi maslahatlarni topishingiz mumkin.

Quyida siz turli komponentlar uchun barcha ulanishlarni topishingiz mumkin:

RTC (real vaqtda soat) DS3231: 4 pin to'g'ridan -to'g'ri arduino -ga ulangan

  • VCC dan 5V gacha
  • GND - arduino GND
  • SDA dan A4 gacha
  • SCL - A5

DFPlayer Mini: Bu ko'pchilik misollardan biroz farq qiladi. I2C avtobus muammolarini oldini olish uchun men uni dasturiy ta'minot avtobusidan emas, balki arduino ketma -ket portiga biriktiraman. DFPlayer Mini -ga kiradigan micro SD -kartada 12 ta MP3 ohanglari (0001.mp3, 0002.mp3,… deb nomlangan) va tug'ilgan kuningiz uchun 0014.mp3 (13 -chi ishlashni xohlamagan!)!

  • VCC dan 5V gacha
  • GND dan GNDgacha
  • RX dan TX arduino -da, to'g'ridan -to'g'ri emas, balki 1 kohmlik rezistordan yuqori; DFPlayer mini TX -ni ulamang, biz modulning fikr -mulohazalarini ishlatmaymiz va bu soatning to'g'ri ishlashini buzadi!
  • spk1 va spk2 dinamikga

WS2812 LED matritsasi:

  • Ijobiy va salbiy to'g'ridan -to'g'ri quvvat ulagichiga ulanadi
  • Birinchi LED/harfli din arduino D6 piniga to'g'ridan -to'g'ri emas, balki 330 ohmli qarshilik orqali ulanadi.

1000 mF kondansatör: bu LEDni himoya qilish uchun, ehtimol u holda yaxshi ishlaydi.

Ijobiy oyoq LED matritsasining ijobiy tomoniga ulangan (va shuning uchun ham shahar uyasi); manfiy oyog'i LED matritsasining minus tomoniga ulangan

RGB LED: Men ishlatadigan LEDda o'rnatilgan rezistorlar bor, ularning ko'pchiligi yo'q, shuning uchun kerak bo'lganda ularni qo'shing.

  • Eng uzun oyoq er bilan bog'langan
  • Boshqa oyoqlari arduino D8, D9 va D10 pinlariga ulanadi.

Fotodiod

  • Fotodiodning bir oyog'i 5V ga ulangan,
  • boshqa oyog'i arduino ustidagi A0 piniga va 4,7 kohmli rezistor orqali erga ulangan.

Tugmalar: sizga 3 ta tugma kerak; Yuqoriga va pastga funksiyasi uchun 1 ta katta signal tugmasi va 2 ta kichikroq. Tugmalar arduino -dagi raqamli pinlarga ulangan. Bundan tashqari, ushbu yo'riqnomada yaxshi tushuntirilganidek, 10 kohmlik pastga tushadigan rezistorlarni qo'shish kerak.

  • Signal tugmasi D7 piniga ulangan
  • Yuqoriga D12 piniga ulangan
  • Pastki tugmalar D11 piniga ulangan

4 -qadam: soatni yig'ish

Soatni yig'ish
Soatni yig'ish
Soatni yig'ish
Soatni yig'ish
Soatni yig'ish
Soatni yig'ish

Barcha komponentlar uchun joy cheklanganligi sababli, barcha komponentlarga mosligini tekshirish muhim. Shuning uchun men barcha komponentlarni ulagichlarga uladim, ularni asosiy kartadan osongina olib tashladim. Men ishlatgan signal tugmasi juda uzun va men uni juda g'alati tarzda o'rnatganman. Bu menga qizil plastmassani yoqtirmagani uchun. Endi u tugma vazifasini bajaradigan va soat ko'rinishiga yaxshiroq mos keladigan yog'ochdan yasalgan kichik disk uchun joy ajratish uchun soatning ancha chuqurroq joyida joylashgan. Disk aslida eski bo'yoq cho'tkasining dastasidan kesilgan; Ko'ryapsizmi, men eski narsalarni qayta ishlatishni yaxshi ko'raman! Orqa plyonka ham qayta ishlatilgan buyum: bizning oshxonamizda teskari zarba sifatida xizmat qiladigan oltin dibondli plastinka. Orqa taxtani o'ralgan arra bilan kesib oling va shahar uyasi uchun teshik oching. Keyinchalik vintlardek o'rnatilgan bo'lib, ichki qismga kirishni ta'minlaydi. Qachonki hamma narsa to'g'ri va to'g'ri ish qilsa, qutini yopishtirish vaqti keldi. Yelimlash oson, faqat 4 tomonini niqobli lenta bilan yopishtiring, elim surting va o'rab oling. LED matritsasi LED qopqoq matritsasiga yopishtirilgan va bu ishqalanish joyiga mos keladi. Old panel ikki tomonlama lenta bilan o'rnatiladi. Birinchi kecha men hamma narsani "rezina bantlar" bilan ushlab turganda, "sinovli tunlar" ni o'tkazdim, va men hatto LEDni eng past sozlamalarda ham juda yorqinligini his qildim! Bu LED qopqog'i matritsasi va yuz plitasi orasiga 2 qatlamli qog'oz qo'shib hal qilindi.

5 -qadam: Dasturiy ta'minot

Dasturiy ta'minot, bu soat boshqalardan farq qiladi. Men uni asosiy budilnik sifatida ishlatmoqchi bo'lganim uchun, menga faqat 3 tugma bilan boshqarish uchun ko'p funktsiyalar kerak! Men, shuningdek, Wi -Fi, bluetooth orqali ulanishni emas, balki yakka o'zi qurilmani afzal ko'raman … qo'ng'iroqlar ohangini, vaqtini va boshqalarni o'zgartirish kabi.

Bu erda men kiritgan barcha funktsiyalarning umumiy ko'rinishi.

  • Signal tugmachasini qisqa bosish signal funktsiyasini faollashtiradi / o'chiradi. Signal yoqilganda LED qizil rangda yonadi.
  • Signal yoqilganda, signal vaqti ko'rsatiladi va siz signal vaqtini yuqoriga va pastga tugmachalari yordamida o'zgartirishingiz mumkin (qizil LED yonib turadigan soat, keyin ko'k LED yonib turgan daqiqalar).
  • Qo'ng'iroq tovushini va ovoz balandligini o'zgartirish; signal vaqtini sozlash vaqtida yuqoriga va pastga tugmachasini bosib, sozlash menyusini faollashtirishingiz kerak.
  • Signal chalganda, signal tugmachasini qisqa bosish sizga 5 daqiqa kechikish vaqtini beradi. Haqiqatan ham o'chirish uchun: qayta bosing yoki signal chiroqchasi o'chmaguncha uzoq bosing.
  • Vaqtni o'zgartirish uchun siz sozlamalar menyusini faollashtirishingiz kerak, bir vaqtning o'zida normal ish paytida yuqoriga va pastga tugmasini bosing.
  • Sanani o'zgartirish uchun (tug'ilgan kun funksiyasi uchun ishlatiladi) vaqt sozlamalari paytida bir vaqtning o'zida yuqoriga va pastga tugmachasini bosib sozlamalar menyusini faollashtirish kerak.
  • Va oxirgi navbatda, bir necha pasxa tuxumi: signal tugmachasini uzoq bosish kamalak rejimini faollashtiradi. Bu nafaqat ajoyib ko'rinadi, balki hatto tungi yorug'lik sifatida xizmat qilishi mumkin!

Kerakli arduino eskizi ilova qilingan. Ammo noldan qayta yozishdan foyda ko'rish mumkin, chunki u juda ko'p organik o'sishini ko'rsatadi va shuning uchun ozgina mantiqqa ega. Ammo hamma narsa ishlayotgani uchun, men avvalgidan ko'ra ko'proq vaqt sarflashni xohlamayman.

Bu soatni ajratib turadigan eng muhim funksiya bu:

String TextToLED (String InputText, int animatsiyasi, int StartLed)

U sizga kerakli harflarni qidiradigan va InputText -ning istalgan joyidagi ranglarni almashtiradigan algoritmni o'z ichiga oladi. Boshqa ko'p soatlarda barcha so'zlar qattiq kodlangan, ya'ni soat yuzini o'zgartirganda, siz hamma narsani qayta kodlashingiz kerak. Bu erda faqat to'g'ri harf tartibini satrga qo'yish kerak

ClockFace = String ("HETMISDTKWARVIENTBIJFGNAVOORHALFDNTWZEVRPHIAGERNALJFCHTSDUURAPMY"). Tug'ilgan kun funktsiyasining nomlarini o'zgartirish ayniqsa qulaydir.

6 -qadam: kelajakdagi yaxshilanishlar

Bir necha oy ishlatilgandan keyin ham, men qurilishdan juda mamnunman. Loyihalarimning ko'pchiligi uchun menimcha: "Buni yaxshilash kerak edi, aks holda bu yaxshiroq bo'lardi …" Lekin bu, yo'q; u men xohlaganimdek ishlaydi va ishlaydi. Bitta muammo energiya iste'moli bo'lishi mumkin. Bu siz sotib oladigan o'rtacha budilnikdan yuqori bo'lishi mumkin. Ammo ko'p narsa kunduzgi yorug'lik miqdoriga bog'liq, chunki LDR o'z vazifasini juda yaxshi bajaradi. Qorong'i tushganda, mening soatim tungi rejimga o'tadi; bu eng noaniq sozlamadagi qizil va yashil harflarni bildiradi. Bu rejimda soat 0,08 amperni oladi va shuning uchun 0,4 Vt quvvat sarflaydi. Kunduzgi yorug'likda bu 0,3 amperga yoki taxminan 1,5 vattgacha ko'tariladi, kamalak rejimi esa 5 vattni ham iste'mol qiladi.

Yaxshiyamki, yakuniy natijaga nazar tashlasam, men sarflagan kuchim bunga loyiq ekaniga aminman!

Men uchun soat tanlovida ovoz berishni unutmang! Oxirigacha o'qiganingiz uchun tashakkur.

Tavsiya: