Mundarija:

Non taxtasida ilon: 3 qadam (rasmlar bilan)
Non taxtasida ilon: 3 qadam (rasmlar bilan)

Video: Non taxtasida ilon: 3 qadam (rasmlar bilan)

Video: Non taxtasida ilon: 3 qadam (rasmlar bilan)
Video: Номозни масхара килган шайтон жазосини олди 🙀 2024, Noyabr
Anonim
Non taxtasida ilon
Non taxtasida ilon
Non taxtasida ilon
Non taxtasida ilon
Non taxtasida ilon
Non taxtasida ilon

"Telefoningizda biron bir o'yin bormi?"

"Aniq emas."

Kirish:

Boshqarish oson, dasturlash oson va Nokia 6110 tomonidan abadiylashtirilgan Snake muhandislarning sevimli loyihasiga aylandi. Bu LED matritsalar, LCD displeylar, kitob javonlarini yoritish va hatto butun binolarning derazalaridan tortib hamma narsaga tatbiq etilgan. Biz ilonni kichkina non paneli va OLED -ekranga o'rnatamiz. Odamlar, albatta, mayda -chuyda ilon o'yinchilari yasashgan, lekin buning uchun maxsus taxta ishlatiladi, bu esa PCB yoki lehim yasash zaruriyatini yo'q qiladi.

(Siz shunchaki telefoningizga ilova qilishingiz mumkin edi, lekin biz hech narsa qilmaymiz, chunki ular oson.)

Old shartlar:

Arduino -da sxemalar, non taxtasi va dasturlashni yaxshi tushunish haqida asosiy tushuncha.

Ta'minotlar

  • Arduino Nano
  • 2 ta yuqori qarshilik (1kOm)
  • Kichkina non paneli
  • 2 tugma
  • 22 AWG qattiq yadroli sim
  • 128 x 64 OLED

Bu Amazon -ning sheriklik havolalari, shuning uchun men har bir sotishda ozgina komissiya olaman. Agar sizda bunday materiallar bo'lmasa va kelajakdagi loyihalarimni qo'llab -quvvatlamoqchi bo'lsangiz, mana bu havolalarga o'ting!:)

1 -qadam: Non paneli

Non paneli
Non paneli
Non paneli
Non paneli
Non paneli
Non paneli

Yakuniy mahsulotni ishlab chiqarish uchun, biz o'z loyihamizni dasturlash va sinovdan o'tkazish uchun uskunalarni yig'ishimiz kerak. Ushbu loyihaning tizim diagrammasi juda oddiy, chunki u faqat 4 ta komponentni o'z ichiga oladi.

1. Uni joylashtiring:

Komponentlaringizni oling va taxtaga qo'ying, shunda hamma narsa mos keladi. Qaysi simlar va pimlardan qanday maqsadda foydalanishni tasavvur qiling. Sizning kutayotgan simlaringiz kesishmasligiga ishonch hosil qiling, chunki bu tartibsizroq taxtani yaratadi. Qaysi nuqtalarni ulashingiz kerakligini yozing! Garchi bu oddiy non paneli bo'lsa -da, simlarni ulash jarayonida va umuman hayotingizni ancha osonlashtiradi. Bizning ish joyimiz qanchalik kichik ekan, bu nihoyatda muhim qadam.

Eslatmalar:

OLED I2C avtobusidan foydalanganligi uchun A4 va A5 pinlaridan foydalanish kerak. Non taxtasining kattaligi kuch va er osti temir yo'lini o'rnatishga imkon bermaydi, shuning uchun hammasini hal qilish uchun bir nechta fokuslardan foydalandim. Tugmalar uchun ijobiy kuchlanish D13 va A2 pinlari bilan ta'minlanadi. Men Arduino pinlari nafaqat tokni, balki cho'kayotgan tokni ham etkazib bera olishini aniqladim, shuning uchun A3 ni o'ng tugmachaning asosi sifatida ishlatdim. Non panelidagi bo'sh joyni ko'paytirish uchun men nanoning yarmini taxtaga osib qo'ydim va chap pimlarni ko'pik bilan qo'llab -quvvatladim.

2. Elektr simini uzing:

Bir juft simli striptizchi va munosib miqdordagi 22 ta AWG qattiq yadroli sim bilan, komponentlaringizni yaxshilab birlashtiring. Yarim doimiy taxtali loyihalarni ishlab chiqarish uchun mustahkam yadrodan foydalanish juda muhim, chunki ularni o'tish simlaridan farqli o'laroq uzunlik bo'ylab kesish mumkin. O'zingizning simlaringizga ortiqcha uzunlik qoldirmasligingizga ishonch hosil qiling, bu taxtaning tartibsizligini keltirib chiqaradi. Tortib olinadigan rezistorlarning uchlarini taxtaga bir tekis qilib qo'ying.

(Siz ham yuqorida qilganlarimga amal qilishingiz mumkin.)

2 -qadam: Dastur va test

Dastur va test
Dastur va test

Bosh og'rig'idan keyin o'zingizni qutqarish uchun, OLED va tugmachalarning kerakli tarzda ishlashiga ishonch hosil qiling.

1. Reja, reja, reja:

Shunchaki kodga o'tish aqlli amaliyot emas. Ishoning, men sinab ko'rdim! Shuning uchun sizning dasturingiz qanday ishlashini tushuntirishingiz kerak. Dastur sxemasi - bu sizning kodingiz nima qilish kerakligini rejalashtirishning juda yaxshi usuli va sizni yo'lda ushlab turadi. Misol uchun meniki ol (yuqoridagi)

2. Kod, kod, kod:

Ochig'ini aytganda, bu loyiha apparat dasturidan ko'ra katta dasturlash mashqidir. Men ishlatgan yagona kutubxona, qo'llab -quvvatlanadigan GFX va Wire kutubxonalarini hisobga olmaganda, Adafruit -ning OLED kutubxonasi edi.

Adafruit -ning OLED kutubxonasini Arduino IDE kutubxona menejeri orqali o'rnatishga majbur qiling.

Men yozgan har bir kod satrini hujjatlashtira olmayman, lekin bu erda bir nechta maslahatlar:

Maslahatlar:

Izohlar:

- Kod yozayotganda, birinchi navbatda, toza va foydali sharhlar yozing. Kelajakda siz va sizning kodingizni o'qiganlar sizga albatta minnatdorchilik bildiradilar.

Xotira:

- Bu kabi murakkab loyihalar bilan SRAM eng mashhur tovarga aylanadi. Adafruit kutubxonasida 128 x 64 OLED buferi faqat 1 kB ni egallaydi, bu ATMega328p xotirasining yarmini tashkil qiladi. Shuning uchun xotirani aqlli boshqarish har qachongidan ham muhimroq.

- Katta hajmli ma'lumotlar tuzilmalari yordamida saqlanadigan ma'lumotlar to'planadi va ko'p joy egallaydi. O'zgaruvchilarning xotira izini kamaytirish uchun men imkoni boricha kichikroq ma'lumotlar turlarini (masalan, qisqa va bayt) ishlatardim.

- Stringlar odatda SRAM -da saqlanadi, lekin F () funktsiyasidan foydalanish ularni PROGMEM -ga qo'yadi va qimmatli xotirani saqlaydi.

Millis:

- O'yin tsikllarini aniqroq aniqlash uchun millis () funktsiyasidan foydalaning. Internetda yaxshi darsliklar va misollar ko'p.

Oldindan aniqlash:

- Kodda doimiy qiymatlarni o'rnatishning oson usuli sifatida #define preprocessor ko'rsatmasidan foydalaning.

Sinov:

- Ketayotganda kodingizni sinab ko'ring. Xatolarni bartaraf etish ancha oson bo'ladi.

3 -qadam: Xursand bo'ling

Yangi ilon o'yiningiz bilan xursand bo'ling!

(Bilaman, men yuqoridagi videoda 20 ball to'pladim, siz mening kodimdagi yutuq shartini balandroq qilib qo'yishingiz mumkin.)

Kengaytiriladigan narsalar:

  • Portativlik uchun batareya
  • Ko'proq xavfsiz tugmalar
  • Bundan ham kichikroq ilon o'yini
  • Yana o'yinlarmi?

Tavsiya: