Мазмуну:

Анимацияланган жүрөк: 5 кадам (сүрөттөр менен)
Анимацияланган жүрөк: 5 кадам (сүрөттөр менен)

Video: Анимацияланган жүрөк: 5 кадам (сүрөттөр менен)

Video: Анимацияланган жүрөк: 5 кадам (сүрөттөр менен)
Video: Мен уурулук менен ооруймун (Клептоманкамын) / менин сырым / кызыктуу окуялар 2024, Ноябрь
Anonim
Image
Image
Материалдар жана куралдар
Материалдар жана куралдар

Валентин күнүнө карата, сүйүктүүңүзгө кичинекей гаджет берилиши керек: бир нече анимация аркылуу айлануучу жүрөк. Сүйүктүүңүздүн сизди эстеши үчүн ал столго же столго абдан ылайыктуу!

Бул анимацияланган жүрөк абдан чакан жана жөнөкөй: жөн гана күйгүзүңүз жана жүрөктү түзгөн 12 светодиод толугу менен ыңгайлаштыра турган анимациялар цикли аркылуу өтөт.

Бул кокустан иштейт жана абдан таралган жана арзан микроконтроллерге негизделген, 8-пин ATTINY13, аны Arduino Uno менен ыңгайлуу программаласа болот. Charlieplexing атайын техникасы аркылуу 12 LEDди жекече 4 гана чыгаруу казыгы менен башкарса болот.

1 -кадам: материалдар жана шаймандар:

Материалдар:

  • 12 5мм кызыл LED
  • 3x7 см прототип тактасы (10х24 тешик, калың жашыл эки тараптуу эң жакшы)
  • Attiny13A микроконтроллери
  • 8-пин DIP розеткасы
  • Мини-коммутатор
  • Тыйын уячасынын кармагычы
  • CR2032 монета клеткасы
  • 20см түстүү көп жиптүү зым
  • 15 см калың өзөктүү зым

Куралдар:

  • ATTINY программасын түзүү үчүн Arduino Uno
  • Бир ширетүүчү темир
  • Зым кыргыч

2 -кадам: Жүрөктү куруу

Жүрөк куруу
Жүрөк куруу
Жүрөк куруу
Жүрөк куруу
Жүрөк куруу
Жүрөк куруу

12 диоддор диаграммада көрсөтүлгөндөй жүрөк формасындагы прототип тактасына киргизилген. Полярдуулукка көңүл буруңуз: 6 LEDде анод оң, катод сол жакта, 6 LED карама -каршы жол менен киргизилген. Жарык диоддорду арткы тарабында иштеп жатканда түшүп кетпеши үчүн, аларды целлотоппен жабыңыз.

Светодиоддордун учтары татаал схемада туташтырылышы керек. Тигректерди бүгөбүз жана диаграмма боюнча кесебиз. Диаграмма алдыңкы жагын көрсөтөт, биз арткы жагында иштеп жатабыз, андыктан ал сүрөттө көрсөтүлгөндөй, диаграмманын күзгүсү сыяктуу көрүнүшү керек. Коргошундарды эми бирге ширетип, целлотейпти алып салса болот.

Анын иштээрин текшериңиз: жүрөктө диаграммада көк, жашыл, сары жана ак деп көрсөтүлгөн төрт электрдик байланыш бар. Жерди бир байланышка жана +5Vга 1kOhm каршылыгы менен экинчисине туташтырыңыз. 1 LED күйүшү керек, жана бардык 12 LED ушундай жарыктандырылышы керек.

3 -кадам: Ардуинодон жүрөктү иштетүү

Image
Image
ATTINYге өтүү
ATTINYге өтүү

Тиркелген эскизди Arduino UNO же Nanoго жүктөп, D8-D11 төөнөгүчтөрүн жүрөктүн 4 электрдик туташуусуна тиркеңиз: D8 көккө, D9 жашыл, D10 сары жана D11 ак. Жүрөк болжол менен 1 мүнөткө созулган анимацияны көрсөтүшү керек.

Код ылдамдыкты өзгөртүү же анимацияны өзгөртүү үчүн ыңгайлаштырылышы мүмкүн. 'Patt' массивинде анимация үлгүсү бар. Ар бир кадамдын эки байты ар бир кадамда кайсы LED чырактары күйүп турганын көрсөтөт. Светодиоддор 0-11ден номерленген, ылдыйдан башталат жана айланасында сааттын жебесине каршы иштейт. LED0 0 битке, LED1 1 битке ж.

Үлгү массиви программанын эстутумунда сакталат, бул алар RAMда сакталгандан алда канча бай анимацияга мүмкүндүк берет. Азыркы эскизде 168 кадам бар. Arduino үчүн дагы миңдеген орундар бар, ал тургай 1кБайт гана программалык эс тутуму бар ATTINY13 үчүн болжол менен 400 кадамга орун бар.

Анимациянын ылдамдыгы 196 -сапта аныкталган 'steptime' менен аныкталат. Анимацияны тездетүү үчүн бул санды кичирейт. Абайлаңыз, ATTINYде анимация бир аз жайыраак иштейт, анткени биз аны азыраак саат ылдамдыгында иштетебиз.

4 -кадам: ATTINYге өтүү

ATTINYге өтүү
ATTINYге өтүү
ATTINYге өтүү
ATTINYге өтүү

Код абдан кичинекей, 8 пиндүү ATTINY13A микроконтроллерине туура келет. Мурунку кадамдын эскизи ATTINY боюнча эч кандай өзгөртүүсүз иштейт.

  • Атайын көрсөтмөлөр бар https://www.instructables.com/id/Programming-an-A… ATTINY13Aны кантип программалоо керек. Кыскача кыскача төмөндө:
  • Arduino IDEди иштетип, "Тандоолорду" ачыңыз, андан кийин кошумча такта менеджерлери үчүн https://mcudude.github.io/MicroCore/package_MCUdude_MicroCore_index.json кошуңуз.
  • 'Куралдар/Такта' астынан 'Такта менеджерин' тандап, тизменин аягында 'MCUdude by MicroCore'ду орнотуңуз
  • Arduino Uno туташтырып, "ArduinoISP" жүктөңүз. Бул "Файл/мисалдар" бөлүмүндө жеткиликтүү
  • Arduino -ны ATtiny -ге туташтырыңыз, ATtinyди прототип калканына коюу менен эң оңой: 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', 'Саат 1.2 МГц ички' жана программист 'Arduino ISP катары' тандаңыз (көңүл: 'ArduinoISP эмес,' ISP катары 'Arduino')
  • "Boot Bootloader'ди" кылыңыз - аттестат үчүн жүктөгүч жок, жана ал ката кетириши мүмкүн, бирок бул кадам "сактандыруучуларды" туура сааттык орнотууга "эскизди жүктөө" үчүн керек.

Иштей тургандыгын текшериңиз: жүрөктүн көк, жашыл, сары жана ак туташууларын PB0 (pin 5), PB1 (pin 6), PB2 (pin 7) жана PB3 (pin 2) менен туташтырыңыз. Жүрөк бир аз жайыраак, Arduino менен бирдей жанданышы керек. ATTINY кокустуктан иштетилгенде иштээрин дагы текшериңиз.

5 -кадам: Долбоорду аягына чыгаруу

Долбоорду аяктоо
Долбоорду аяктоо
Долбоорду аяктоо
Долбоорду аяктоо
Долбоорду аяктоо
Долбоорду аяктоо
Долбоорду аяктоо
Долбоорду аяктоо

Эми сизде жүрөк схемасы жана программаланган ATTINY бар, долбоорду бүтүрсө болот. IC розеткасын, монетанын уюлдук кармагычын жана күйгүзүү/өчүрүү прототип тактасына кошуп, диаграммада көрсөтүлгөндөй туташтырыңыз. ATTINY, кокустукту кыстарыңыз жана анын иштээрин текшерүү үчүн күйгүзүңүз.

Акыры, мен ага ~ 15см катуу ядролук электр зымынан турган стенд коштум. Изоляцияны эки тараптан 2 см сыйрып алып, стенд түрүндө бүгөңүз. Чыгарылган бөлүк эми прототип тактасынын төшөмөлөрүнө lehимделе алат.

Баары сонун Валентин белегин жасоого даяр!

Жүрөк таймашы
Жүрөк таймашы
Жүрөк таймашы
Жүрөк таймашы

Жүрөк конкурсунда экинчи орун

Сунушталууда: