Съдържание:

Коледно дърво с контролиран от Bluetooth NeoPixel: 5 стъпки
Коледно дърво с контролиран от Bluetooth NeoPixel: 5 стъпки

Видео: Коледно дърво с контролиран от Bluetooth NeoPixel: 5 стъпки

Видео: Коледно дърво с контролиран от Bluetooth NeoPixel: 5 стъпки
Видео: МЕНЮ на Новый Год 2024 ❄️🎄❄️ МЕГА ВКУСНО, КРАСИВО И ПРОСТО! 2024, Ноември
Anonim

Чудили ли сте се как да добавите IoT (Интернет на нещата) в коледното си дърво тази година? Е, напълно е възможно! Аз лично наричам този проект "ArduXmas" и той се състои от RGB NeoPixel LED лента, контролирана от дъска Arduino чрез Bluetooth. Това е проект, подходящ за начинаещи и чудесно въведение в Arduino e IoT, така че вземете вашите инструменти и нека го направим!

Консумативи:

За този проект ще ви трябва:

  • Arduino (използвах Nano, но всяка версия ще работи, просто се уверете, че правилно захранвате дъската си)
  • NeoPixel WS2812b LED лента
  • HC-06 Bluetooth модул
  • 5V 2A DC захранване
  • Захранващ жак/конектор за DC барел
  • Фенолитна плоча за задържане на компонентите
  • Калъф за заграждение
  • Смартфон с Android с инсталирано приложение Blynk

Стъпка 1: Веригата

Веригата
Веригата
Веригата
Веригата
Веригата
Веригата

Електрониката на този проект е много проста. Arduino, Bluetooth модулът и LED лентата се захранват от 5V захранване (уверете се, че всички GND са свързани заедно). Платката Arduino се захранва през 5V порта (ВНИМАНИЕ: Захранването на Arduino с помощта на 5V порта може да повреди вашата платка, ако не внимавате. Уверете се, че използвате 5V регулирано захранване и не бъркайте +5V и GND проводници). Токът, осигурен от вашето захранване, ще зависи от дължината на вашата LED лента. Използвам 180 светодиода с 40% от пълната яркост и 2 ампера се държат добре, но винаги се уверете, че доставяте необходимия ток (ЗАПОМНЕТЕ: Всеки RGB LED използва около 20mA + 20mA + 20mA = 60mA).

Bluetooth модулът HC-06 е свързан към пинове 0 и 1 (RX, TX) на Arduino, само не забравяйте, че за да използвате този модул, RX щифтът на HC-06 е свързан към TX на Arduino и TX щифтът на HC-06 е свързан с RX на Arduino. Това са пиновете за серийно свързване на платката и се използват за получаване на командите от смартфона. Добавих превключвател за лесно включване/изключване на модула, така че мога да го изключа при програмиране на платката, в противен случай компютърът не може да комуникира с Arduino.

Във веригата изводът за извеждане на данни към LED лентата е цифровият щифт 2, но можете да изберете всеки PWM щифт и да го промените съответно в кода (ЗАПОМНЕТЕ: LED лентите на NeoPixel имат посока за сигнала за данни. Винаги търсете икони със стрелки във вашата лента).

За да осъществя връзките, използвам фенолитна плоча с дупки в нея, така че да бъде лесна за запояване и разглобяване през следващата година.

Стъпка 2: Приложението

Корпусът
Корпусът
Корпусът
Корпусът
Корпусът
Корпусът

За кутията използвам само кутия за захранване на стар лаптоп, която пасва добре на компонентите. Закрепете всичко с горещо лепило и оставете дупки за USB порта на Arduino, превключвателя на HC-06, DC конектора и конектора за LED лента.

Стъпка 3: Приложението Blynk

Приложение Blynk
Приложение Blynk
Приложение Blynk
Приложение Blynk
Приложение Blynk
Приложение Blynk

За комуникация с Arduino използваме приложението Blynk. С Blynk можете лесно да създавате интерфейси за изпращане на данни от смартфона до хардуера или обратно, също така е възможно директно да контролирате портовете на микроконтролера, без да променяте един ред код!

ОТГОВОРНОСТ: За съжаление това приложение ще работи само за смартфони с Android, тъй като функцията Bluetooth все още е в бета версия и все още не е налична за IOS, това също означава, че няма да е възможно да експортирате проекта като самостоятелно приложение.

Настройте приложението си да получава маркера за удостоверяване за вашия проект във вашата пощенска кутия за електронна поща (това удостоверяване ще бъде необходимо по -късно в кода на Arduino). Уебсайтът на Blynk има страхотен урок стъпка по стъпка за това, проверете го:

За този проект използвам два бутона за включване на 2 предварително кодирани светлинни анимации; един RGB компонент за настройка на цвета на LED лентата; един плъзгач за управление на яркостта и един Bluetooth компонент за свързване към Arduino. Проверете изображенията, за да видите как е конфигуриран всеки компонент. Обърнете внимание на щифтовете, използвани за този проект, тъй като използваме Virtual Pins на Blynk, това е хубава функция, която позволява да се изпращат данни от приложението до хардуера. За повече информация относно виртуалните пинове:

Стъпка 4: Arduino код

Кодът на Arduino
Кодът на Arduino

Време е да свършите малко код! Предоставеният от мен файл има основна структура за изпълнение на проекта, но можете да го промените, както желаете. За да работи правилно обаче, трябва да замените символа auth с маркера, който сте получили във входящата си поща. Също така не забравяйте да промените променливите LED_PIN и LED_COUNT според вашите настройки.

Поведението на светодиодите е продиктувано от променливата anim, която се променя, когато приложението получи заявка. Можете да добавите колкото искате възможности за анимации, просто добавете вашата функция към структурата на превключвателя във функцията toggleAnimation () и задайте съответното четене на Virtual Pin в горната част на кода.

Анимацията, работеща в loop (), е свързана с таймер, работещ на интервали от 100 ms. Това е необходимо и не препоръчвам да го променяте, защото това пречи на командата Blynk.run () и връзката се прекъсва, ако библиотеката Blynk открие твърде много заявки за кратък период от време.

Препоръчано: