Animatsion yurak: 5 qadam (rasmlar bilan)
Animatsion yurak: 5 qadam (rasmlar bilan)
Anonim
Image
Image
Materiallar va asboblar
Materiallar va asboblar

Sevishganlar kuni yaqinida, sevgilingizga kichkina gadjet beriladi: yurak bir nechta animatsiyalarni aylanib chiqadi. Sevimli odamingiz sizni eslab qolishi stolga yoki stolga juda mos keladi!

Bu jonlantirilgan yurak juda ixcham va sodda: uni yoqing va yurakni tashkil etuvchi 12 ta LED siz to'liq sozlashingiz mumkin bo'lgan animatsiyalar ko'chasi bo'ylab aylanadi.

U tasodifiy ishlaydi va Arduino Uno bilan qulay dasturlash mumkin bo'lgan 8-pinli ATTINY13 mikrokontroleriga asoslangan. Charlieplexing maxsus texnikasi yordamida 12 ta LEDni faqat 4 ta chiqish pimi bilan alohida boshqarish mumkin.

1 -qadam: Materiallar va asboblar:

Materiallar:

  • 12 ta 5 mm qizil LED
  • 3x7 sm o'lchamdagi prototip taxtasi (10x24 teshikli, qalin yashil ikki tomonlama eng yaxshisi)
  • Attiny13A mikrokontroller
  • 8 pinli DIP uyasi
  • Mini-kalit
  • Tanga xujayrasi ushlagichi
  • CR2032 tanga uyasi
  • 20 sm uzunlikdagi ko'p simli rangli sim
  • 15 sm qalinlikdagi qattiq yadroli sim

Asboblar:

  • ATTINY dasturlash uchun Arduino Uno
  • Lehimlash temir
  • Tel kesish mashinasi

2 -qadam: Yurakni yarating

Yurak qurish
Yurak qurish
Yurak qurish
Yurak qurish
Yurak qurish
Yurak qurish

Diagrammada ko'rsatilgandek, 12 ta LED yurak shaklidagi prototip taxtasiga joylashtirilgan. Kutupluluğa e'tibor bering: 6 LEDda o'ng anod va katod chapda, 6 LED teskari tarzda joylashtirilgan. Biz orqa tomondan ishlayotganda, yiqilmasligi uchun LEDlarni selotape bilan yoping.

LEDlarning uchlari murakkab sxemada ulanishi kerak. Pimlarni egib, diagramma bo'yicha kesib oling. E'tibor bering, biz orqa tomonda ishlayotganimizda, diagramma old tomonini ko'rsatadi, shuning uchun u rasmda ko'rsatilgandek, diagrammaning ko'zgusi sifatida ko'rinishi kerak. Qo'rg'oshinlar endi lehimlanishi va selotape olib tashlanishi mumkin.

Ishlayotganini tekshiring: yurakda diagrammada ko'k, yashil, sariq va oq rangda ko'rsatilgan to'rtta elektr aloqasi mavjud. Zaminni bitta ulanishga ulang va +5V ketma -ket 1kOm qarshilik bilan boshqasiga ulang. 1 ta LED yonishi kerak va barcha 12 ta LED shu tarzda yoritilishi kerak.

3 -qadam: Arduino -dan yurakni boshqaring

Image
Image
ATTINYga o'tish
ATTINYga o'tish

Qo'shilgan eskizni Arduino UNO yoki Nano-ga yuklang va D8-D11 pinlarini yurakning 4 ta elektr ulanishiga ulang: D8-ko'k, D9-yashil, D10-sariq va D11-oq. Yurak taxminan 1 daqiqa davom etadigan animatsiyani ko'rsatishi kerak.

Kodni tezlikni o'zgartirish yoki animatsiyani o'zgartirish uchun sozlash mumkin. "Patt" qatori animatsiya modelini o'z ichiga oladi. Har bir qadamning ikki bayti har bir qadamda qaysi LED chiroqlari yonib turganligini ko'rsatadi. LEDlar 0-11 raqamlangan, pastdan boshlab va soat sohasi farqli o'laroq. LED0 0 bitga, LED1 1 bitga va boshqalarga to'g'ri keladi.

Naqshlar majmuasi dastur xotirasida saqlanadi, bu esa RAMda saqlanganidan ko'ra ancha boy animatsiyani beradi. Hozirgi eskizda 168 qadam bor. Arduino uchun yana minglab joylar va hatto atigi 1 kbaytlik dastur xotirasi bo'lgan ATTINY13 uchun taxminan 400 qadam uchun joy mavjud.

Animatsiya tezligi 196 -qatorda aniqlangan "steptime" bilan belgilanadi. Animatsiyani tezlashtirish uchun bu raqamni kichraytiring. E'tibor bering, ATTINY -da animatsiya biroz sekinroq ishlaydi, chunki biz uni past soat tezligida ishlatamiz.

4 -qadam: ATTINYga o'tish

ATTINYga o'tish
ATTINYga o'tish
ATTINYga o'tish
ATTINYga o'tish

Kod juda kichik, 8 pinli ATTINY13A mikrokontroleriga mos keladigan darajada kichik. Oldingi bosqichdagi eskiz ATTINYda hech qanday o'zgarishsiz ishlaydi.

  • Https://www.instructables.com/id/Programming-an-A… ko'rsatmalari bor, ATTINY13A-ni qanday dasturlash kerak. Qisqa xulosa quyida keltirilgan:
  • Arduino IDE -ni ishga tushirgandan so'ng, "Preferences" -ni oching, so'ngra qo'shimcha boshqaruv menejerlari uchun https://mcudude.github.io/MicroCore/package_MCUdude_MicroCore_index.json qo'shing.
  • "Asboblar/taxta" ostida "Kengash menejeri" ni tanlang va ro'yxatning pastki qismida "MCUdude by MicroCore" ni o'rnating.
  • Arduino Uno -ni ulang va "ArduinoISP" ni yuklang. U "Fayl/misollar" bo'limida mavjud.
  • Arduino -ni ATtiny -ga ulang, bu ATtiny -ni prototip qalqoniga qo'yish orqali oson bajariladi: Arduino pin 13 - ATtiny pin 7 Arduino pin 12 - ATtiny pin 6 Arduino pin 11 - ATtiny pin 5 Arduino pin 10 - ATtiny pin 1 Arduino +5v - ATtiny pin 8 Arduino GND - ATtiny pin 4
  • "Board ATtiny13", "B. O. D 2.7V", "Ichki soat 1,2 MGts" va dasturchi "Arduino provayder sifatida" ni tanlang (diqqat: "ArduinoISP" emas, balki "Arduino provayder sifatida")
  • "Boot Bootloader -ni yoqish" ni bajaring - attinani yuklash vositasi yo'q va u xato qilishi mumkin, lekin bu qadam "eslatmani yuklash" soatining to'g'ri sozlamalariga "sigortalar o'rnatish" uchun kerak.

Ishlayotganini tekshiring: yurakning ko'k, yashil, sariq va oq ulanishlarini mos ravishda PB0 (pin 5), PB1 (pin 6), PB2 (pin 7) va PB3 (pin 2) ga ulang. Yurak xuddi Arduino bilan bo'lgani kabi, biroz sekinroq jonlanishi kerak. ATTINY tasodifan quvvat olganda ham ishlashini tekshiring.

5 -qadam: Loyihani yakunlash

Loyihani yakunlash
Loyihani yakunlash
Loyihani yakunlash
Loyihani yakunlash
Loyihani yakunlash
Loyihani yakunlash
Loyihani yakunlash
Loyihani yakunlash

Endi sizda yurak aylanishi va ATTINY dasturlashtirilgan bo'lsa, loyihani tugatish mumkin. IC rozetkasini, tanga ushlagichini va yoqish/o'chirishni prototip kartasiga lehimlang va diagrammada ko'rsatilgandek ulanishlarni bajaring. ATTINY, tasodifni joylashtiring va uning ishlashini tekshirish uchun yoqing.

Nihoyat, men unga ~ 15 sm qattiq yadroli elektr simdan yasalgan stend qo'shdim. Izolyatsiyani ikki tomondan 2 sm uzing va uni tayanch shaklida buking. Yirtilgan qism endi prototip taxtasining tagliklariga lehimlanishi mumkin.

Sevishganlar uchun ajoyib sovg'a tayyor!

Yurak musobaqasi
Yurak musobaqasi
Yurak musobaqasi
Yurak musobaqasi

Yurak tanlovida ikkinchi o'rinni egalladi