Bluetooth LED chizilgan taxtasi va IOS ilovasi: 9 qadam (rasmlar bilan)
Bluetooth LED chizilgan taxtasi va IOS ilovasi: 9 qadam (rasmlar bilan)
Anonim
Image
Image
Bluetooth LED chizilgan taxtasi va IOS ilovasi
Bluetooth LED chizilgan taxtasi va IOS ilovasi

Ushbu qo'llanmada siz biz yaratgan iPhone ilovasidan rasm chizish mumkin bo'lgan Bluetooth LED -taxtasini yaratishingiz mumkin bo'ladi. Ushbu ilovada foydalanuvchilar Connect 4 o'yinini yaratishi mumkin, u ham ushbu o'yin taxtasida ko'rsatiladi. Bu arzon, ammo samarali versiya bo'ladi, shuning uchun hamma qurishi va o'rganishi mumkin! Umuman olganda, men o'zgarishi mumkin bo'lgan, lekin bir xil ta'sir ko'rsatadigan asosiy tushunchalarni tushuntiraman. Masalan, mening boshqaruv panelida 88 ta LED mavjud. Bu raqam taxtaning xohishiga, vaqtiga yoki hajmiga qarab oshirilishi yoki kamaytirilishi mumkin.

Kerakli qismlar:

ws2812b LED chiroqlari (yoki unga tenglashtirilgan) - 21 dollar

5V 10 amperlik quvvat adapteri (mening loyiham to'liq yoqilgan bo'lsa, 5 amperga teng) - 18 dollar

Ko'pik taxtasi (dollar do'konida menikini oldi) - 1 dollar

Har qanday yog'och turi (Menardsda qabul qilingan) - 10 dollar

Akril pleksiglas (bulutli/oq, shuningdek Menardda) - 10 dollar

Arduino Nano - 8 dollar

(eBay) Bluetooth moduli HM -10 qurilmasi - $ 3 (Amazon) Bluetooth moduli HM -10 qurilmasi - $ 10

Umuman olganda, noldan boshlab, bu loyihaning narxi 75 dollardan oshmaydi va bolalar uchun qiziqarli bo'lishi mumkin. Men arzon qismlar uchun eBay -ga qarashni yaxshi ko'raman, lekin firibgarlik yoki buzilgan qismlarga e'tibor bering. Vaqtni tejash uchun kichikroq versiyalarni yaratish mumkin. Ushbu matritsaning kichik o'lchamlarini yaratish uchun LED matritsasi mavjud. Arduino kodida va IOS ilovasida qancha LED ishlatilishini o'zgartirishni unutmang

1 -qadam: o'lcham va kesish to'g'risida qaror qabul qiling

O'lcham va kesish to'g'risida qaror qabul qiling
O'lcham va kesish to'g'risida qaror qabul qiling
O'lcham va kesish to'g'risida qaror qabul qiling
O'lcham va kesish to'g'risida qaror qabul qiling
O'lcham va kesish to'g'risida qaror qabul qiling
O'lcham va kesish to'g'risida qaror qabul qiling

O'lchovni hisobga olish kerak bo'lgan narsa shundaki, loyihada qancha LED bor, qancha yog'och bor va har bir LED uchun kvadratchalar qanchalik katta.

Kengash o'lchamlari:

Yuqori panel: 20 "dan 27" gacha

O'rtadan kesib oling: 23 "dan 16" gacha

Yon: 0,75 "baland + pastki yuz va yuqori yuz qalinligi = 1,75" qalin

Yog'och qalinligi: 1/2"

Ko'pikli taxtaning o'lchami:

har bir kvadrat 2"

LEDlarning o'lchami:

Kengligi: 8 ta LED

Balandligi: 11 ta LED

Hammasi: 88 ta LED

2 -qadam: LED simi

Simli LEDlar
Simli LEDlar
Simli LEDlar
Simli LEDlar
Simli LEDlar
Simli LEDlar
Simli LEDlar
Simli LEDlar

LEDning har bir qismini kesib oling va uni har kvadratning o'rtasiga qo'ying. Har bir LEDga kerakli uzunlikdagi simlarni torting. Ma'lumotlar liniyasi ustundan ustunga o'tadi. Birinchi LED va lehim bilan boshlang, oxirigacha 11 -LEDgacha. Bir marta tepada, birinchisining o'ng tomonidagi oxirigacha etib boradigan simni uzing. LEDda musbat va manfiy bilan ishlaganda, ustunning oxirgi chizig'iga yetguncha har bir LEDdan lehimlashni davom ettiring. Men ikkita avtobus simini yaratdim, bittasi musbat, biri manfiy va har bir ustunga biriktirdim. Ularni ulash uchun. Men simning o'rtasini echib, u erdan LEDga lehimladim. Ikkita musbat va manfiy avtobus simlari Arduino -dagi gnd -ga va Arduino -dagi VIN -piniga ulanadi, u ham rozetkadan quvvat oladi. Birinchi LEDda Arduino Nano kartasida D3 pinli sim bor. Buni xohlaganingizga qarab o'zgartirish mumkin.

Men simlarni, diodlarni va ko'pikni yopishtirish uchun issiq elim ishlataman va hamma narsa ishlayotganini ko'rdim.

3 -qadam: yog'ochni yig'ing

Yog'ochni yig'ish
Yog'ochni yig'ish
Yog'ochni yig'ish
Yog'ochni yig'ish

Yog'och bo'laklarini har qanday turdagi yog'och elim yoki suyuq mixlar yordamida yopishtiring. Qo'shimcha qo'llab -quvvatlash uchun men yog'ochning kichik qismlarini qo'shib, orqa tomoni har tomonga to'g'ri keladigan burchaklarga yopishtirdim. Menardlardan ikkita 12 dyuymli qavs sotib oldim va uni taxtaning yuqori va yon qismiga burab qo'ydim, shunda u eshik kabi ochiladi. Agar men LEDlar ishlamay qolsa yoki boshqa komponentlarni qo'shishni xohlasam, buni qildim.

4 -qadam: Arduino va Bluetooth -ni qo'shing

Arduino va Bluetooth -ni qo'shing
Arduino va Bluetooth -ni qo'shing
Arduino va Bluetooth -ni qo'shing
Arduino va Bluetooth -ni qo'shing
Arduino va Bluetooth -ni qo'shing
Arduino va Bluetooth -ni qo'shing

Kengashning orqa qismiga DC Jekni qo'shing. Orqa plastinka manfiy, orqadagi metall plastinka musbat. Bu taxtani ulash va ajratishning oson yo'lini beradi. Men devorga osib qo'ymoqchi bo'lsam, qutiga mahkam o'rnini bosish o'rniga, shahar uyasi biroz qimirlashiga yo'l qo'ydim. Aks holda, orqa devor uzoqqa yopishib qolishi mumkin edi, chunki shnur devorga o'rnatiladi. Ijobiy Arduino Nano -dagi VIN -ga ulanadi, salbiy esa erga tushadi. LEDning ijobiy va salbiy tomonlari VIN va erga lehimlanadi.

Men HM-10 moduli va Arduino Nano uchun diagramma yukladim. HM10 TXD Nano -dagi RXD piniga, HM10 -dagi RXD -pin esa Arduino -dagi TXD -piniga ulangan. Bu Nano Bluetooth modulining yozganlarini o'qiyotgani va aksincha sodir bo'ladi. Shuningdek, VIN -ni Arduino -dagi +5v -ga ulang va maydonlarni bir -biriga ulang.

Nihoyat, kalit yoki tugma Arduino RXD va HM10 TXD o'rtasida ixtiyoriy. Ba'zi sabablarga ko'ra, ko'p odamlar ulanish paytida yangi kodni yuklay olmaydilar, shuning uchun har safar kod yuklanganda ularni uzib qo'yishni osonlashtiradi, so'ng yuklashdan keyin ularni bir -biriga almashtiradi.

Ish tugagach, hamma narsa ishlayotganini tekshiring. Agar shunday bo'lsa, barcha simlarni issiq yopishtiring va uni chiroyli qilib ko'ring. Esda tutingki, ortiqcha yopishtiruvchi degan narsa yo'q.

5 -qadam: IPhone ilovasini yozing

IPhone ilovasini yozing
IPhone ilovasini yozing
IPhone ilovasini yozing
IPhone ilovasini yozing
IPhone ilovasini yozing
IPhone ilovasini yozing
IPhone ilovasini yozing
IPhone ilovasini yozing

Men tavsifda Xcode loyihasini taqdim etaman. Menda 3 Bluetooth klassi bor, ular BLE qurilmasiga ulanadi va unga ma'lumot yuboradi. ScannerViewController har bir mavjud bo'lgan kam quvvatli Bluetooth qurilmasini qidiradi. BluetoothSerial tanlangan qurilmaga ulanish/uzishning har bir jarayonini tavsiflaydi va ma'lumotlarni yuborishi mumkin. Nihoyat, SerialViewController - bu ilovaning asosiy ko'rinishi. Menda har bir HSB qiymatini o'z ichiga olgan va agar foydalanuvchi o'z rangiga qaytishni xohlasa, uni keyinchalik ishlatish uchun saqlaydigan ikkita qatorli collectionView bor.

Foydalanuvchi rang g'ildiragidan foydalanib, keyinchalik saqlanishi mumkin bo'lgan rangni tanlashi mumkin. Keyin foydalanuvchi tanlangan rang bilan chizishi mumkin. Bekor qilish bilan birga to'ldirish tugmasi mavjud.

Connect 4 bo'limida foydalanuvchi boshqa o'yinchilarga qarshi chiqish uchun turli xil o'yin rejimlarini tanlashi mumkin. Har bir harakat ekranda ko'rsatiladigan Arduino Nano va HM-10 qurilmasiga ma'lumotlarni yuboradi. Siz har doim bu rasmlarni tahrirlashingiz mumkin, chunki ular juda yomon ko'rinadi.

Hujayra har bosilganda kodni yuboradi (masalan) "P; 15; 0,56; 0,81; 1 / n". P "Arduino" ni tanlagan "Play" degan ma'noni anglatadi va u 15 -yacheykaning ranglarini ko'rsatadi. Ranglar yuborilgan keyingi 3 qiymatdir. Bu rang, to'yinganlik va yorqinlik. Oxirida / n ni qo'shish juda muhim, shuning uchun Bluetooth moduli kiruvchi ma'lumotlarni o'qishni qachon to'xtatish kerakligini biladi. Displeyni tozalash uchun "z / n" kodini yuboraman. Birinchi harf uchun "z" ni olganimda, men uni taxtani tozalash uchun o'rnatdim. Albatta, men buni / n bilan tugataman va HM10 qurilmasiga ma'lumotlarni o'qishni qachon to'xtatish kerakligini bildiraman.

Agar sizda biron bir savol bo'lsa, sharhlarda qoldiring.:)

6 -qadam: Arduino kodi

Men Nano -ga yuklanadigan Arduino kodini beraman. Bu kod har bir belgini alohida qabul qiladi va uni massivda birlashtiradi va saqlaydi. Massivdan foydalanganda, massivga yuborilgan har bir qiymat (rang, to'yinganlik, yorqinlik) vergul o'rtasida bo'linadi. Bu bortdagi kerakli piksel rangini o'zgartiradi. Xuddi shu tushuncha ulanish 4 qismi bilan ham bog'liq. Rang, to'yinganlik va yorqinlik IOS ilovasidan yuboriladi va Arduino -ga etkazib beriladi, shu bilan birga taxtada qaysi piksel bo'lishi kerak.

Shunga qaramay, agar kod haqida savollar bo'lsa, izohlarda menga xabar bering:)

7 -qadam: O'z uslubingizga moslashtiring

O'z uslubingizga moslashtiring!
O'z uslubingizga moslashtiring!
O'z uslubingizga moslashtiring!
O'z uslubingizga moslashtiring!
O'z uslubingizga moslashtiring!
O'z uslubingizga moslashtiring!

Esda tutingki, bu loyiha qiziqarli va shaxsiylashtirilgan bo'lishi mumkin. Yog'ochni bo'yang yoki dizayn qo'shing. LEDlarni musiqaga mikrofon va kichik karnay qo'shib javob bering. IQ sensorlar yordamida teginish sezgirligini qo'shing. Matnni Arduino yoki IOS ilovasiga kiriting. IOS ilovasida yangi o'yin rejimini qo'shing. Tetris qo'shishning yana bir variantidir.

Bu loyiha boshqalarni bundan katta va innovatsion narsa yaratishga ilhomlantiradi. Qo'llab -quvvatlaganingiz uchun tashakkur!

8 -qadam: Arduino kodi va IOS kodi

Bu erda GitHub -dagi Swift va Arduino loyihalariga havola. Agar biron bir muammo bo'lsa, menga xabar bering.

github.com/oKeeg/LED-Coloring-Board

9 -qadam: nima yangilik? + Yaqinda yangilangan kod

Eng yangi yangilanishda foydalanuvchilar butun panjara ustiga bosish o'rniga bitta rang bilan to'ldirishlari mumkin. Baxtsiz hodisa yuz berganda qaytarish tugmasi mavjud. Va nihoyat, yangi animatsiya rejimi, unda foydalanuvchi taxtada o'ynash uchun yangi animatsiyalarni tanlashi yoki qo'shishi mumkin.

Yangi animatsiyalar o'z ichiga oladi -

Xira ranglar - vaqti -vaqti bilan tasodifiy ranglarni yo'qotadi.

Kamalakni nafas olish - kamalak ranglarini bitta katta gorizontal chiziq bo'ylab harakatlantiradi.

Animatsiyalar ko'proq telefonda emas, balki Arduino tomonida ishlaydi. Qachon bosilsa, telefon Arduino uchun "A; 0 / n" bajarishi uchun kod qatorini yuboradi. "A" animatsiyani anglatadi va "0" - bu bosilgan birinchi animatsiya, bu Fade Colors. Arduino 0 ni o'qiydi va rangsiz animatsiyani o'ynaydi.

Tavsiya: