Подключение WS2811 к Arduino
Эта модель представляет собой интегральную микросхему в корпусе. Используют подобные устройства для различных задач конструирования и проектирования (создание светомузыки, бегущей строки, декоративных подсветок и светильников с управлением «soft lights», декорирование LED-видео экранов уличных «бордов» и рекламных табло и т.д.). Ну а в целом ардуинщики и радиолюбители ценят этот модуль за возможность создания подсветки с изменением тональности и яркости согласно заданных алгоритмов.
По традиции разберем технические параметры RGB SMART-ленты:
- рабочее напряжение: до 12В;
- максимальный ток: 1.6 А/м;
- потребляемая мощность: 18 Вт/м;
- плотность светодиодов: 60 шт/м;
- ширина ленты: 10мм;
- рабочая температура: -20 до +80 ℃;
- встроенный регулятор напряжения питания VDD.
В ней мы использовали плату расширения Arduino Nano, адресную LED-ленту, зарядное устройство, соединительные провода.
Прежде чем работать с кодами, проверим наличие необходимой библиотеки. «Продвинутые» пользователи рекомендуют использовать FastLED, хотя она достаточно требовательна к ресурсам, особенно объемам памяти (но есть еще варианты: AdafruitNeoPixel и LightWS2812, правда, с меньшими возможностями и более низкой скоростью).
Скачать их можно ТУТ:
https://github.com/FastLED/FastLED
https://github.com/adafruit/Adafruit_NeoPixel
https://github.com/cpldcpu/light_ws2812
Теперь напишем такой программный скетч:
#define PIN 13 // пин DI
#define NUM_LEDS 16 // число диодов
#include "Adafruit_NeoPixel.h"
Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUM_LEDS, PIN, NEO_GRB + NEO_KHZ800);
void setup() {
strip.begin();
strip.setBrightness(50); // яркость, от 0 до 255
strip.clear(); // очистить
strip.show(); // отправить на ленту
}
void loop() {
// заливаем трёмя цветами плавно
for (int i = 0; i < NUM_LEDS / 3; i++ ) { // от 0 до первой трети
strip.setPixelColor(i, 0xff0000); // залить красным
strip.show(); // отправить на ленту
delay(100);
}
for (int i = NUM_LEDS / 3; i < NUM_LEDS * 2 / 3; i++ ) { // от 1/3 до 2/3
strip.setPixelColor(i, 0x00ff00); // залить зелёным
strip.show(); // отправить на ленту
delay(100);
}
for (int i = NUM_LEDS * 2 / 3; i < NUM_LEDS; i++ ) { // от 2/3 до конца
strip.setPixelColor(i, 0x0000ff); // залить синим
strip.show(); // отправить на ленту
delay(100);
}
delay(1000);
// заливаем белым
for (int i = 0; i < NUM_LEDS; i++ ) { // всю ленту
strip.setPixelColor(i, 0xffffff); // залить белым
strip.show(); // отправить на ленту
delay(10);
}
delay(1000);
// заливаем чёрным
for (int i = 0; i < NUM_LEDS; i++ ) { // всю ленту
strip.setPixelColor(i, 0x000000); // залить чёрным
strip.show(); // отправить на ленту
delay(10);
}
delay(1000);
// включаем случайные диоды жёлтым
for (int i = 0; i < 50; i++ ) { // 50 раз
strip.setPixelColor(random(0, NUM_LEDS), 0xffff00); // залить жёлтым
strip.show(); // отправить на ленту
delay(500);
}
}
Важно! Во время загрузки прошивки должно быть подключено внешнее питание!И помните, чтобы скетч скомпилировался и сразу заработал, следует в заголовке указать верное количество светодиодов и конечно же номер порта!
На этом все! Удачных вам проектов!
Сегодня речь пойдет о том, как подключить модуль MAX7219 к Ардуино, и что собственно он собой представляет. Начнем с последнего пункта. Речь идет о...
Сегодня поговорим о том, как воплотить в жизнь подключение FPM10A к Arduino, что это за модуль, где используется, каковы параметры его работы и т.д. Речь идет...
Тема нашей сегодняшней статьи - драйвер для шаговых двигателей TB6560 и его подключение к Ардуино. Мы уже говорили с вами о практичности и основных...
Сегодня поговорим о том, как подключить 7 сегментный индикатор к Ардуино и в целом об особенностях этого механизма. Речь идет об устройстве отображения...
Тема нашей сегодняшней статьи – подключение датчика сердечного ритма AD8232 к Ардуино. Про целесообразность и практичность подобного устройства много говорить...