Mundarija:
- Ta'minotlar
- 1 -qadam: tenglikni buyurtma qilish
- 2 -qadam: ehtiyot qismlarni buyurtma qilish
- 3 -qadam: Minimal yig'ilish (Bootloaderni yoqish uchun)
- 4 -qadam: Bootloader -ni yoqish
- 5 -qadam: tenglikni yig'ish
- 6 -qadam: kutubxonalarni o'rnatish
- 7 -qadam: RTC -dagi vaqtni belgilang (real vaqt soati)
- 8 -qadam: Dastur kodini o'zgartirish
- 9 -qadam: Dasturni yuklash
- 10 -qadam: qutini tayyorlash
- 11 -qadam: Yakuniy yig'ilish
2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-13 06:58
Bu kichkina quti mening sevgilim va men birga hayot kechiradigan kunlar sonini ko'rsatadi. Albatta, bu sana har qanday bo'lishi mumkin, bu sizning nikohingizdan keyingi kunlarni, siz va turmush o'rtog'ingiz uchrashgan kundan boshlab, siz birga yashagan kunni yoki siz uchun muhim bo'lgan boshqa narsalarni anglatishi mumkin.
8x8 pikselli matritsa har qanday belgini ko'rsatishi mumkin, kerakli rasmning kodini o'zgartirish juda oddiy. Men bu yorqin yurak uchun biz kundalik hayotda bizga ko'rsatadigan sevgi va muhabbatni ifodalash uchun bordim. (Shuningdek, men loyihani Sevishganlar kunidan oldin tugatmoqchi edim, lekin SARS-CoV-2 uni biroz kechiktirdi)
Quvvat USB bilan qayta zaryadlanuvchi 18650 LiIon xujayrasi bilan ta'minlanadi, u 7-segmentli va 8x8-matritsali 24 soat davomli ko'rsatiladi, lekin shuni esda tutingki, agar ular yopiq bo'lsa, ular yonmaydi. Shunday qilib, haqiqiy batareya quvvati yillar bo'ladi. Haqiqiy vaqt soati (RTC) o'tgan kunlarni hisoblash uchun ishlatiladigan vaqtni saqlaydi. U o'zining zaxira batareyasiga ega (CR2032), u taxminan 8 yil davom etadi.
Baza - bu maxsus bosilgan elektron karta. Men uni JLCPCB tomonidan ishlab chiqarilgan edim. Gerber fayllarini GitHub omboridan topish mumkin. Siz ularni har qanday PCB ishlab chiqaruvchisiga yuklashingiz mumkin, bu universal fayl formati. Yoki, albatta, siz menga elektron pochta xabarini yozishingiz mumkin, menda jo'natish narxi uchun yuborishga tayyor bo'lgan zaxiram bor.
Shuningdek, loyiha uchun zarur bo'lgan elektronikaning har bir qismini topadigan BOM fayli (ma'lumotnoma) ham mavjud.
Yog'och qutisiz yoki fotosuratlarsiz umumiy xarajat PCB narxiga qarab 30 dollar atrofida bo'ladi.
Ta'minotlar
Asboblar:
- Lehimlash temir
- Arduino Internet -provayder dongle (qanday qilish kerakligi haqidagi boshqa ko'rsatmalarni ko'ring)
- Dasturlash uchun kompyuter yoki Mac
- Maxsus PCB (Gerber kiritilgan yoki mendan so'rang, menda zaxira bor)
- Elektron qismlar (BOM-faylga qarang)
- Qandaydir quti (yoki o'zingiz tayyorlang)
1 -qadam: tenglikni buyurtma qilish
JLCPCB -ga o'ting va GitHub omboridan gerber.zip -ni yuklang, siz kerakli PCB rangini ham tanlashingiz mumkin.
Siz menga elektron pochta xabarini ham yozishingiz mumkin, menda zaxira PCBlar bo'lishi mumkin, men sizga jo'natish narxi uchun yuborishga tayyorman.
2 -qadam: ehtiyot qismlarni buyurtma qilish
BOM faylida tenglikni to'ldirish uchun kerak bo'lgan barcha elektron qismlar mavjud.
Men ehtiyot qismlarni LCSC va digi-key-dan buyurtma qildim. Ammo ko'p narsalarni har qanday elektronika etkazib beruvchidan topish mumkin. Agar biror narsa topa olmasangiz yoki uning to'g'ri qismiga ishonchingiz komil bo'lmasa, menga elektron pochta orqali xabar yuboring.
3 -qadam: Minimal yig'ilish (Bootloaderni yoqish uchun)
Bootloader -ni muvaffaqiyatli yoqish uchun (keyingi bosqichda tushuntiriladi), ba'zi qismlar PCBga lehimlanmasligi kerak. ATmega32u4 (aniqki …), kristall va uning ikkita yuk kondansatörü, oltita pinli sarlavha va ATmega32u4 uchun uchta kondansatkich muhim elementlardir.
Siz ketma -ket ulanishda 0Ohm rezistorlar/o'tish moslamalarini lehimlamasligingiz muhim.
4 -qadam: Bootloader -ni yoqish
Dasturni Armeino IDE bilan ATmega32u4 -ga yuklashdan oldin, u yuklash vositasini yoqib qo'yishi kerak. Oddiy Arduino -da buni allaqachon bajargan, lekin biz bu erda yalang'och chip bilan ishlayotganimiz uchun buni o'zimiz qilishimiz kerak. Lekin xavotir olmang, aslida bu umuman qiyin emas.
Arduino provayderingizni PCBdagi oltita pinli sarlavhaga ulang, kutupluluğu to'g'ri ekanligiga ishonch hosil qiling.
Agar sizda Arduino provayderingiz bo'lmasa, men uchun ko'rsatmalarni tekshiring. Birini 10 daqiqada qurish mumkin.
Arduino IDE -da quyidagi sozlamalarni tekshiring:
- Asboblar -> Kengash: Arduino Leonardo
- Asboblar -> Port: [Dasturchining COM -portini tanlang]
- Asboblar -> Dasturchi: ISP sifatida Arduino
COM-portni Windows Device Manager-da topishingiz mumkin.
Nihoyat, Asboblar -> Bootloader -ni yoqish -ni bosing
5 -qadam: tenglikni yig'ish
Bootloader muvaffaqiyatli yoqilgandan so'ng, qolgan barcha qismlarni PCBga joylashtirishingiz mumkin. Men rezistorlar va kondansatörler kabi eng kichik qismlardan boshlashni qulay deb bilaman, keyin IClar va oxirida batareyali ushlagich, 7 segmentli displey va 8x8 pikselli matritsa.
Batareyani yashirish va kabelni almashtirish uchun 90 ° burchakli ikkita sarlavhani orqa tomonga lehimlang. Men batareya uchun 3-pinli sarlavhani ishlatardim, shuning uchun uni keyinchalik noto'g'ri ulash mumkin emas.
6 -qadam: kutubxonalarni o'rnatish
Ushbu qo'llanmada ko'rsatilgan dasturlarni yuklash uchun siz quyidagi bog'liqliklarni o'rnatishingiz kerak:
- RTClib
- DS3231
. Zip fayllarini yuklab oling va ularni Arduino IDE orqali import qiling:
Eskiz -> Kutubxonani qo'shish -> ZIP kutubxonasini qo'shish
Agar biron sababga ko'ra yuklab olish havolalari ishlamasa, kutubxonalarning nusxalari BU GitHub katalogida. Ularni Arduino kutubxonalari jildiga torting.
Shundan so'ng, Arduino IDE -ni qayta ishga tushirishingiz kerak bo'lishi mumkin.
7 -qadam: RTC -dagi vaqtni belgilang (real vaqt soati)
Loyihaning so'nggi versiyasi/yangilanishlari uchun GitHub -ni tekshiring!
PCB -dagi DS3231 o'rnatilgan elektron davri o'tgan kunlarni hisoblash uchun zarur bo'lgan vaqtni saqlaydi. Ammo bunga erishish uchun, avvalo, qaysi vaqtda/sanada ekanligini aytish kerak. Bu RTC_set.ino eskizini yuklash orqali amalga oshiriladi.
Yuklamasdan oldin sozlamalaringiz quyidagicha ekanligiga ishonch hosil qiling:
- Asboblar -> Kengash: Arduino Leonardo
- Asboblar -> Port: [Bootloader qadamidan ISP emas, Arduino Leonardo portini tanlang]
- Asboblar -> Dasturchi: AVR ISP yoki AVRISP mkII
Yuklab olish tugmachasini bosing va tugashini kuting.
8 -qadam: Dastur kodini o'zgartirish
Loyihaning so'nggi versiyasi/yangilanishlari uchun GitHub -ni tekshiring!
Endi biz asosiy dasturni o'zgartirishni boshlashimiz mumkin. Main.ino loyihasini Arduino IDE bilan oching. Kodda sizga mos keladigan ba'zi qiymatlarni o'zgartirishingiz mumkin bo'lgan bir nechta satrlar mavjud. Men hech qanday qator raqamlarini aytmayman, chunki ular vaqti -vaqti bilan o'zgarishi mumkin, lekin iloji boricha osonroq topishga harakat qilaman.
Maxsus sanani belgilang:
Siz sanadan boshlab Unix vaqt tamg'asini olishingiz kerak. Ushbu veb -saytga o'ting va o'z sanangizni kiriting: www.unixtimestamp.com
Bu sizga 10 xonali o'nlik raqamni beradi. Bu raqamni "const long special_date =" kodidagi satrga ko'chiring va u erdagi raqamni o'zgartiring. Bu raqam 1970 yil 1 yanvardan boshlab, Unix vaqti sifatida ham tanilgan soniyalar soni.
8x8 piktogramma o'rnating:
Siz LED matritsasidagi rasmni "const unsigned int matrix_heart_big [8]" qiymatlarini o'zgartirish orqali o'zgartirishingiz mumkin. Bu 8 0x [XX] qiymatlari displeyda chapdan o'ngga vertikal chiziqlarni ifodalaydi. Agar siz qiymatlar nimani anglatishini bilmasangiz, 0x00, 0x01, 0x02, 0x04 ni sinab ko'ring va nima bo'lishini ko'ring yoki o'n oltilik belgilarini o'qing. (Yoki menga elektron pochta orqali yozing)
9 -qadam: Dasturni yuklash
Sizga kerak bo'lgan kodga barcha o'zgartirishlarni kiritganingizdan so'ng, Arduino IDE -da quyidagi sozlamalar o'rnatilganligiga ishonch hosil qiling:
- Asboblar -> Kengash: Arduino Leonardo
- Asboblar -> Port: [Bootloader qadamidan ISP emas, Arduino Leonardo portini tanlang]
- Asboblar -> Dasturchi: AVR ISP yoki AVRISP mkII
Yuklab olish tugmachasini bosing va tugashini kuting.
10 -qadam: qutini tayyorlash
Qutidagi tenglikni qo'llab -quvvatlash va yiqilmaslik uchun men 8x10 mm o'lchamdagi yog'och chiziqlarni kesib, joyiga yopishtirdim.
Men yog'ochni qandaydir lak bilan ishlov berishni taklif qilaman, shuning uchun u uzoq vaqt yaxshi bo'lib qoladi. Balki kimdir biror narsani tepaga lazer bilan qo'ygandir, men siz uchrashgan joyning manzili yoki ismlaringiz haqida o'ylayapman.
Quti yopilganda batareyani uzib qo'yadigan kalitni ishga tushirish uchun men qopqoq burchagiga ozgina yog'och bo'lagini yopishtirdim. Bu mexanizm haqida batafsil ma'lumot berishga hojat yo'q, buni amalga oshirishning son -sanoqsiz usullari bor va aminmanki, siz bundan yaxshiroq narsani o'ylab topishingiz mumkin.
Batareya ushlagichini pastki qismiga mahkamlash uchun men yopishtiruvchi nok pastadir chiziqlaridan ham foydalanganman.
11 -qadam: Yakuniy yig'ilish
Qolgan narsa - hamma narsani bir -biriga ulash, PCBni qutiga joylashtirish va fotosuratni o'lchamiga kesib, qopqog'iga qo'yish.
Umid qilamanki, sizning muhim odamingiz bu kichik o'ychanlikdan xursand bo'ladi.
Yurak tanlovida ikkinchi o'rinni egalladi