Mundarija:
Video: 3 ta oddiy ATTiny bayram sovg'alari: 4 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:30
Har yili ta'til boshlanadi va men do'stlarim va oilamga nima berishni bilmay qolaman. Odamlar har doim sovg'ani do'konda sotib olishdan ko'ra, uni o'zingiz qilganingiz ma'qul, deyishdi, shuning uchun bu yil men shunday qildim. Birinchisi, havoda to'lqinlanayotganda, ism yoki asosiy tasvirni ko'rsatadi, ikkinchisi ikkita oq chiroq o'rtasida silliq o'chadi (kiyimga yoki sumkachaga mahkamlash uchun pin ham bor), uchinchisi - kayfiyat chirog'i. ranglar o'rtasida uzluksiz. Hammasi 15 dollardan past va ularni bir soatdan kamroq yig'ish mumkin. Shuningdek, siz ushbu ko'rsatmalarni va qismlarni elektronikani o'rganishni istagan kishiga sovg'a sifatida berishingiz mumkin.
Eslatma: Lehimlashning asosiy darajasi qabul qilinadi. Ammo, avvalgi ko'rsatmalarimdan farqli o'laroq, men AVRni qanday dasturlashni tushuntiraman. Umid qilamanki, bu elektronika bilan shug'ullanmoqchi bo'lgan odamlarga yordam beradi. Men o'sha erda bo'lganimni eslayman va siz qiziqtirgan savollarni berishdan xursand bo'laman. Esda tutingki, bema'ni savollar yo'q! Men siz chizgan oddiy sxemalarni ko'rsatishning yangi usulini topasiz degan umidda elektron kartangizni qanday joylashtirishni aniqlashni sizga ochiq qoldirdim. Iltimos, rasmlarni joylashtiring, men nima o'ylab topganingizni ko'rishni sabrsizlik bilan kutaman! Barcha loyihalar uchun qismlar N = loyihalar soni x N ATTiny45 (www.digikey.com) x N 8 pinli DIP soket (RadioShack) x 1 Katta o'lchamli taxta (RadioShack -da menda bor) x N 3v tanga batareyasi va ushlagichi (RadioShack) x1 Dasturchi (men buni ishlataman va taqdim etilgan makefile bundan foydalanishi uchun tuzilgan bo'ladi) x2 N rezistorlar, bitta 10 ohm va bitta 10k ohm (RadioShack) Mana, uchta tugallangan loyihaning rasmi:
1 -qadam: Ismni o'chirish
Boshqa qismlar x5 DIFFUSED 3 mm LED (RadioShack) Ushbu loyiha tasvirni yoki matnni tez sur'atda ko'rsatish uchun ko'rish qobiliyatining barqarorligidan foydalanadi. Qorong'i tushganda yaxshiroq ishlaydi. AVR yordamida biz LEDni tezroq almashtiramiz, shunda ko'z bilan biz havoda juda kam komponentli rasm yaratamiz. Kod: (kod, makefile va h.k.lar uchun sahifaning pastki qismidagi.zip faylini yuklab oling (bu kodda bu kodga o'xshash keng sharhlar yo'q, lekin agar bu kod ishlamasa) zip fayli)) #define F_CPU 1000000 #include #include void dispClear () {PORTB = ~ 0b00000000; } int main () {DDRB = 0xFF; // Ikki chiziqdan oldin hech qachon C o'qimaganlar uchun, izoh. Bu avr pinlarini x = 10 chiqish char sifatida belgilaydi; // x kechikish oyog'ini o'rnatish uchun ishlatiladi. Qiymatni oshirish piksellar orasidagi sekinroq almashishni, kamayishni, pastroq vaqtni (1) // While (shart to'g'ri); {Buni qiling} (C da 1 - to'g'ri) {PORTB = ~ 0b00010001; // Do'stimning ismi Zoe, shuning uchun men belgilarni grafik qog'ozga chizdim va keyin ularni PORTBga yozdim. Birinchi uchta nol muhim emas, chunki faqat beshta LED ulangan. Qolgan beshta bo'shliqdan bittasi LEDning nol, o'chirilganligini ko'rsatadi. _delay_ms (x); // milisekundlarda kechikish PORTB = ~ 0b00010011; _delay_ms (x); PORTB = ~ 0b00010101; _delay_ms (x); PORTB = ~ 0b00011001; _delay_ms (x); PORTB = ~ 0b00010001; _delay_ms (x); dispClear (); // _delay_ms (x) belgilar orasidagi bo'sh joy; PORTB = ~ 0b00001110; _delay_ms (x); PORTB = ~ 0b00010001; _delay_ms (x*3); PORTB = ~ 0b00001110; _delay_ms (x); dispClear (); _delay_ms (x); PORTB = ~ 0b00011111; _delay_ms (x); PORTB = ~ 0b00010101; _delay_ms (x); PORTB = ~ 0b00010001; _delay_ms (x); dispClear (); _delay_ms (x*5); // Bu so'z tushunarli bo'lishi uchun qilingan, menda so'zlar orasida katta bo'sh joy bor}} Endi bu kodni kompilyatsiya qilish va AVR -ga yuborish uchun 4 -betdagi ko'rsatmalarga amal qiling.
2 -qadam: Hamyon nuri
Boshqa qismlar x2 LED'lari DIFFUSSIZ (RadioShack) Ushbu loyiha ikkita LED o'rtasida silliq o'chadi. Onam tunda asalariga yordam berish uchun hamyoniga nimadir ketishini xohlardi. Velosipedning miltillovchi chirog'i juda ko'p e'tiborni tortishini his qildim, shuning uchun men buni qildim. PWM (Pulse Width Modulation) yordamida xiralashtirish va yoritish effektini beradi. Aslida nima sodir bo'layotgani, o'zgarishni simulyatsiya qilish uchun LED turli vaqt oralig'ida ko'z ko'rgandan ko'ra tezroq miltillaydi. Siz buni Ism Fleshli bilan bo'lgani kabi yuzingizdan silkitganingizda ham aniqroq ko'rishingiz mumkin. Kodni sahifaning oxirida yuklab olish mumkin. AVR -ni qanday kompilyatsiya qilish haqida 4 -betga qarang. Bu erda kodni izohlashning o'rniga men kontseptsiyani qisqacha tushuntiraman. PWM taymer tomonidan ishlab chiqariladi. Har bir soat aylanishiga taymer bittadan sanaladi. U ma'lum bir qiymatga yetganda (bu holda OCR1B) u pin holatini o'zgartiradi (bu holda OC1B). LEDlarning "o'chishi" uchun men ikkinchisini [OPPOSITE] OC1B ga uladim (tepadagi chiziq shunday demoqda). Keyin biz LEDni yoqish vaqtini ko'paytirish va kamaytirish uchun x dan foydalanamiz.
3 -qadam: Rangni aylantiruvchi
Boshqa Partsx1 RGB LED (tarqalgani yaxshiroq) (RadioShack) Bu men uchun klassik. Menga har doim shunday chiroqlar yoqardi va men ularni juda tinchlantiruvchi deb bilardim, tabiiyki, men shunday qilmoqchi edim. Bundan tashqari, ularning jamiyatdagi ko'rinishi ularga haqiqiy WOW omilini beradi. "Siz buni qildingizmi?!" Kod deyarli bir xil va menimcha, o'qish osonroq. Siz uni pastdan yuklab olishingiz mumkin. Bu safar biz RGB LED -dagi har bir topraklama pimi uchun PWM pinini taqdim etamiz. Shunday qilib, biz chip orqali o'tamiz. Voltni ikki nuqta orasidagi farq sifatida o'lchash mumkin. 3v-0v = 3v 5v-2v = 3v *** 3v-3v = 0v *** Bu oxirgi misol, biz chip orqali o'tayotganda nima qilamiz. Ikkala tomonda ham uchta volt bo'lsa, aytaylik, LEDni boshqarish uchun etarli volt yo'q. Shunday qilib, ranglar orasidagi rang yo'qolishi uchun biz boshqa rangni tanladik. Birini x ga, ikkinchisini 255-x ga yoki x ning INVERSE ga teng qilib o'rnating. Oldingi loyihada bo'lgani kabi. Endi dasturlash uchun 4 -bosqichga o'ting.
4 -qadam: Dasturlash
Avval Emacs, avr-gcc va Avrdude-ni va ularga bog'liq bo'lgan har qanday qaramlikni yuklab oling va o'rnating. Arch Linuxda men buni shunday qildim: sudo pacman -Sy emacs avrdude
Endi dasturchini avr -ga ulash vaqti keldi. 6-pinli Internet-provayder dasturining pinlarini (pastdagi rasm) AVR-dagi (ma'lumotlar jadvali, 2-bet) o'zaro bog'lanish pinlariga ulang (men buni taxtada qildim). Endi dasturchini kompyuteringizga ulang va AVRning yuqori qismiga juda tez teging. Agar u issiq bo'lsa, PROGRAMMERNI KOMPYUTERINGIZDAN BIR marotaba olib tashlang, ulanishlaringizni tekshiring va qaytadan urinib ko'ring (Quvvat va Gnd orqaga?). Agar u issiq bo'lmasa, emacs-ni oching va.c faylini topish uchun Ctl-x Ctl-f ni bosing. Uni oching va Meta (Usualy Alt) -x tugmachasini bosing va kompilyatsiya kiriting. Enter tugmasini ikki marta bosing va agar omadingiz bo'lsa, AVR endi kodingizni ishga tushirishi kerak! O'qiganingiz uchun tashakkur! Umid qilamanki, sizga yoqdi va nimadir o'rgandingiz. Iltimos, savol berishdan tortinmang va o'ylab topgan narsangizning rasmlarini joylashtirishni unutmang. Bayramingiz muborak va ovoz berishni unutmang!
Tavsiya:
Infinity sirg'alari: 3 qadam (rasmlar bilan)
Infinity sirg'alari: bir nechta josuslik ko'zgu akrillarini qayta ishlatish (chunki biz narsalarni tashlamoqchi emasdik) va UV nurlari bilan tajriba o'tkazish. Katta chiziqli kublarni osonlikcha kattalashtirish mumkin bo'lsa -da, LED chiziqlar yordamida kichikroq kublar murakkablashib ketadi va ko'p joy oladi
Velosiped dubulg'alari uchun mikro: bit yo'nalish ko'rsatkichi: 5 qadam
Velosiped dubulg'alari uchun mikro: bitli yo'nalish ko'rsatkichi: Yangilangan versiya 2018 yil-may-12 Velosiped dubulg'alari (yoki shunga o'xshash) uchun oddiy mikro: bitli yo'nalishli indikatorni yaratish bo'yicha ko'rsatmalar quyida. Boshqaruv sifatida u micro: bitda o'rnatilgan akselerometrlardan foydalanadi. Taqdim etilgan mikro python skriptlari yaxshi
Arduino Lilypad boshqariladigan NeoPixel sirg'alari: 7 qadam (rasmlar bilan)
Arduino Lilypad tomonidan boshqariladigan NeoPixel sirg'alar: Hammaga salom, siz kechasi yoki ziyofatga chiqqanda shunday chiroyli va chiroyli sirg'a olishni xohlamaysizmi? Men shunday bo'lishni xohlardim, shuning uchun men Arduino Lilypad boshqaruvidagi neopixelli sirg'alarni yasadim. :) Bu sirg'alar shunchaki yonmaydi. Ularda bor
Bayram sovg'alari qutisi: 5 qadam (rasmlar bilan)
Bayram sovg'alari qutisi !: Agar siz elektronikani yaxshi ko'radigan kishini bilsangiz, bu ular uchun ajoyib sovg'a qutisi! Ushbu qo'llanmada siz uy qurilishi qutisini yasaysiz, u musiqa chaladi va chayqalganda yonadi. Sizga kerak bo'lgan narsa: Adafruit GEMMA M0 - kiyiladigan miniatyurali elektron
O'z qo'lingiz bilan sovg'a qilingan qo'lda tayyorlangan bayram kartochkasi !: 8 qadam
O'z qo'llari bilan tayyorlangan bayram kartochkalari!: Bu ko'rsatma sizga kartochkalar to'plamini qanday tayyorlashni ko'rsatib beradi, ularning har biri bayram mavsumi tugagandan so'ng oluvchilar tomonidan ramkaga solinishi mumkin, va agar siz ularga bersangiz ham osonroq bo'ladi. karta bilan birga IKEA klipli foto ramka. Bu kartalar bo'lishi mumkin