Mundarija:

Bluetooth boshqariladigan NeoPixel Rojdestvo daraxti: 5 qadam
Bluetooth boshqariladigan NeoPixel Rojdestvo daraxti: 5 qadam

Video: Bluetooth boshqariladigan NeoPixel Rojdestvo daraxti: 5 qadam

Video: Bluetooth boshqariladigan NeoPixel Rojdestvo daraxti: 5 qadam
Video: Telefondan orqali bluetooth bilan boshqariladigan, yasagan mashinam. 2024, Noyabr
Anonim

Siz bu yil Rojdestvo daraxtiga IoT (Internet of Things) ni qanday qo'shishni o'ylab ko'rganmisiz? Xo'sh, bu mutlaqo mumkin! Men shaxsan bu loyihani "ArduXmas" deb atayman va u Bluetooth orqali Arduino taxtasi tomonidan boshqariladigan RGB NeoPixel chizig'idan iborat. Bu yangi boshlanuvchilar uchun qulay bo'lgan loyiha va Arduino e IoT -ga ajoyib kirish, shuning uchun asboblaringizni oling va keling buni amalga oshiraylik!

Ta'minot:

Ushbu loyiha uchun sizga kerak bo'ladi:

  • Arduino (men Nanodan foydalanardim, lekin har qanday versiya ishlaydi, faqat taxtani to'g'ri quvvatlantirishga ishonch hosil qiling)
  • NeoPixel WS2812b LED tasmasi
  • Bluetooth moduli HC-06
  • 5V 2A doimiy quvvat manbai
  • DC Barrel Quvvat Jek/Ulagich
  • Komponentlarni ushlab turish uchun fenolit plitasi
  • Qoplama qutisi
  • Blynk ilovasi o'rnatilgan Android smartfoni

1 -qadam: O'chirish davri

O'chirish davri
O'chirish davri
O'chirish davri
O'chirish davri
O'chirish davri
O'chirish davri

Ushbu loyihaning elektronikasi juda oddiy. Arduino, Bluetooth moduli va LED tasmasi 5V kuchlanish bilan quvvatlanadi (barcha GND -larning bir -biriga ulanganligiga ishonch hosil qiling). Arduino platasi 5V port orqali quvvatlanadi (DIQQAT: Ehtiyot bo'lmasangiz, 5V port yordamida Arduino -ni yoqish sizning kartangizga zarar etkazishi mumkin. 5V bilan boshqariladigan quvvat manbaidan foydalanayotganingizga ishonch hosil qiling va +5V ni aralashtirmang. va GND simlari). Quvvat manbai tomonidan berilgan oqim LED chizig'ining uzunligiga bog'liq. Men 40% to'liq quvvatga ega 180 ta LEDni ishlataman va 2 amper yaxshi ushlab turaman, lekin har doim kerakli tokni etkazib berishni unutmang (unutmang: har bir RGB LED 20mA + 20mA + 20mA = 60mA atrofida ishlaydi).

HC-06 Bluetooth moduli Arduino-ning 0 va 1-pinlariga (RX, TX) ulangan, shuni yodda tutingki, ushbu moduldan foydalanish uchun HC-06-ning RX-pinini Arduino TX-ga va HC-06-ning TX-piniga ulangan. Arduino RX -ga ulangan. Bu kartaning ketma -ket ulanish pinlari bo'lib, ular smartfondan buyruqlarni qabul qilish uchun ishlatiladi. Men modulni osongina yoqish/o'chirish uchun kalitni qo'shdim, shuning uchun taxtani dasturlashda uni o'chirib qo'yishim mumkin, aks holda kompyuter Arduino bilan aloqa qila olmaydi.

Zanjirda LED chizig'iga uzatiladigan ma'lumot pinasi raqamli 2 -pin bo'ladi, lekin siz istalgan PWM pinini tanlashingiz va uni kodga mos ravishda o'zgartirishingiz mumkin (Yodda tuting: NeoPixel -ning LED chiziqlarida ma'lumot uzatish yo'nalishi bor. Har doim chiziq chizig'idagi o'q ikonkalari).

Ulanish uchun men teshiklari bo'lgan fenolit plastini ishlataman, shuning uchun uni kelasi yili lehimlash va ajratish oson.

2 -qadam: korpus

Qoplama
Qoplama
Qoplama
Qoplama
Qoplama
Qoplama

Qoplama uchun men eski noutbukning komponentlariga yaxshi mos keladigan quvvat qutisini ishlataman. Har bir narsani issiq elim bilan mahkamlang va Arduino USB porti, HC-06 kaliti, shahar konnektori va LED tasmasi ulagichi uchun teshik qoldiring.

3 -qadam: Blynk ilovasi

Blynk ilovasi
Blynk ilovasi
Blynk ilovasi
Blynk ilovasi
Blynk ilovasi
Blynk ilovasi

Arduino bilan bog'lanish uchun biz Blynk ilovasidan foydalanamiz. Blynk yordamida siz smartfondan ma'lumotlarni apparat yoki boshqa yo'l bilan yuborish uchun interfeyslarni osongina yaratishingiz mumkin, shuningdek, bitta satr kodini o'zgartirmagan holda mikrokontroller portlarini to'g'ridan -to'g'ri boshqarishingiz mumkin!

Ogohlantirishlar: Afsuski, bu ilova faqat Android smartfonlari uchun ishlaydi, chunki Bluetooth xususiyati hali ham Beta -versiyada va IOS uchun hali mavjud emas, bu shuni anglatadiki, loyihani mustaqil dastur sifatida eksport qilish mumkin bo'lmaydi.

Elektron pochta qutingizga loyihangiz uchun autentifikatsiya tokenini olish uchun ilovangizni o'rnating (bu avtorizatsiya keyinchalik Arduino kodida kerak bo'ladi). Blynk veb-saytida bu borada bosqichma-bosqich ko'rsatma mavjud, uni tekshiring:

Ushbu loyiha uchun men ikkita tugmachani ishlataman, oldindan kodlangan 2 yorug'lik animatsiyasini yoqaman; LED tasmasini rangini sozlash uchun bitta RGB komponenti; yorqinlikni boshqarish uchun bitta slayder va bluetooth komponenti Arduino -ga ulanish uchun. Har bir komponent qanday sozlanganligini ko'rish uchun rasmlarni tekshiring. Blynk -ning virtual pinlarini ishlatayotganimizda, bu loyiha uchun ishlatilgan pinlarga e'tibor bering, bu ilovadan ma'lumotlarni qo'shimcha qurilmalarga yuborish imkonini beruvchi yaxshi xususiyat. Virtual pinlar haqida qo'shimcha ma'lumot olish uchun:

4 -qadam: Arduino kodi

Arduino kodi
Arduino kodi

Kodni bajarish vaqti keldi! Men taqdim etgan fayl loyihani ishga tushirish uchun asosiy tuzilishga ega, lekin uni xohlaganingizcha o'zgartirishingiz mumkin. To'g'ri ishlashi uchun siz auth char -ni elektron pochta qutingizga olgan token bilan almashtirishingiz kerak. Shuningdek, LED_PIN va LED_COUNT o'zgaruvchilarni sozlamalarga muvofiq o'zgartirishni unutmang.

LEDlarning xatti -harakati ilova tomonidan so'rov qabul qilinganda o'zgaradigan animatsion o'zgaruvchiga bog'liq. Siz xohlaganingizcha animatsiya uchun ko'plab imkoniyatlarni qo'shishingiz mumkin, faqat funktsiyangizni toggleAnimation () funktsiyasidagi switch tuzilishiga qo'shing va kodning yuqori qismidagi tegishli Virtual PIN o'qishni belgilang.

Loop () da ishlaydigan animatsiya 100ms oralig'ida ishlaydigan taymerga bog'langan. Bu zarur va men uni o'zgartirishni tavsiya etmayman, chunki bu Blynk.run () buyrug'iga xalaqit beradi va agar Blynk kutubxonasi qisqa vaqt ichida juda ko'p so'rovlarni aniqlasa, aloqa uziladi.

Tavsiya: