Материалы:
* Arduino Nano или аналогичная плата
* Адресная светодиодная лента (например, WS2812B)
* Резистор 470 Ом
* Блок питания постоянного тока 5 В (ток в зависимости от длины ленты)
Схема:
«`
+5V — резистор 470 Ом — Data (DIN) на ленте
| |
| |
GND — GND на ленте |
| |
| |
— Пин Arduino D6 |
«`
Код:
«`Arduino
#include
#define LED_COUNT 30 // Измените на количество светодиодов на ленте
// Объявите массив с одной переменной для каждого светодиода
CRGB leds[LED_COUNT];
void setup() {
FastLED.addLeds
FastLED.setBrightness(100); // Установите яркость на 100%
}
void loop() {
// Сдвиньте часы влево на 1 пиксель
for (int i = 0; i < LED_COUNT - 1; i++) {
leds[i] = leds[i + 1];
}
// Зажгите первый светодиод
leds[LED_COUNT - 1] = CRGB::Red;
FastLED.show(); // Обновите ленту
delay(50); // Задержка между циклами
}
```
Функциональность:
* Светодиодная лента отображает красную полосу, движущуюся слева направо.
* Полоса представляет собой секундную стрелку.
* Длительность цикла составляет 50 мс, что соответствует 1 секунде реального времени.
Настройка ленты:
Отрегулируйте количество светодиодов в коде (#define) в соответствии с длиной вашей ленты. Убедитесь, что блок питания обеспечивает достаточный ток для всех светодиодов.
Примечания:
* Используйте библиотеку FastLED для управления адресными светодиодами.
* Цвета и шаблоны можно настроить по желанию.
* Для отображения часов можно использовать другие цвета и шаблоны.