Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Анимированные RGB настенные часы на Arduino Nano и Bluetooth

Компоненты и материалы

Arduino Nano R3×1
Bluetooth-модуль HC-06×1
RTC DS3231×1
RGB LED-лента (адресуемая)×1
3D-печатаемые детали×1 комплект

Инструменты

О проекте

Продолжение серии часов (Infinity Mirror Clock, 7-Segment Digital Clock). Новые часы — красивые настенные с RGB-подсветкой и анимациями. Управление через простое Android-приложение (APK в разделе схем). Arduino Nano выбран для компактности.

Часы показывают время цветными индикаторами: часы — на внутреннем кольце (12 LED), минуты и секунды — на внешнем (60 LED). Каждому элементу можно задать свой цвет. Режимы анимации: радуга, teatro chase, color wipe, rainbow cycle.

Схема подключения

Код Arduino (основные моменты)

#include 
#include 

#define PIN 6       // основная лента (60 LED)
#define PIN2 7      // внутреннее кольцо (12 LED)
#define NUMPIXELS 60

DS3231 rtc(SDA, SCL);
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
Adafruit_NeoPixel pixels2(12, PIN2, NEO_GRB + NEO_KHZ800);

// Цвета для часов/минут/секунд (настраиваются из приложения)
int h_r=255, h_g=0, h_b=0;
int m_r=0, m_g=255, m_b=0;
int s_r=255, s_g=255, s_b=0;

void setup() {
  Serial.begin(9600);
  rtc.begin();
  pixels.begin(); pixels2.begin();
  pixels.show(); pixels2.show();
}

void loop() {
  // Обработка команд из Bluetooth (Serial)
  while (Serial.available() > 0) {
    char c = Serial.read();
    // Команды: 'm' — установка времени, 'H'/'M'/'S' — выбор цвета,
    // 'r'/'g'/'b' — значение компоненты, 'A' — демо-анимации
  }

  // Отображение времени
  Time t = rtc.getTime();
  int hr = t.hour % 12;
  int mn = t.min;
  int sc = t.sec;

  // Внешнее кольцо: минуты + секунды
  pixels.clear();
  for (int k=0; k<60; k+=4) pixels.setPixelColor(k, pixels.Color(25,25,255)); // метки 5 мин
  pixels.setPixelColor(mn, pixels.Color(m_r, m_g, m_b));
  pixels.setPixelColor(sc, pixels.Color(s_r, s_g, s_b));
  pixels.show();

  // Внутреннее кольцо: часы
  pixels2.clear();
  for (int i=0; i<12; i++) pixels2.setPixelColor(i, pixels2.Color(0,255,0));
  pixels2.setPixelColor(hr, pixels2.Color(h_r, h_g, h_b));
  pixels2.show();

  delay(10);
}

// Функции анимаций: colorWipe, rainbow, rainbowCycle, theaterChase, theaterChaseRainbow, Wheel()

Управление с телефона

Android-приложение (APK) шлёт команды по Bluetooth: установка времени (+/−), выбор цвета для часов/минут/секунд, запуск анимаций. Интерфейс интуитивен.

Схемы и файлы

Производственный процесс

  1. Кукушка: история, мастерство и современная эволюция
  2. Arduino POV-часы: сборка дисплея на эффекте сохранения образа
  3. Стильные настенные часы на четырех кольцах Adafruit Neopixel 60 LED и Arduino
  4. Слово-часы (Word Clock) на Arduino — DIY-часы с текстовой индикацией времени
  5. Создание пользовательских LED-часов с будильником — видно с 12 метров
  6. 3D RGB Arduclock — Bluetooth-часы на адресных LED с RTC
  7. Итальянские словесные часы на Arduino Nano, NeoPixel, LCD и RTC
  8. JX Wave Generator — Генератор сигналов на Arduino с DDS AD9833 и OLED-дисплеем
  9. Сборка Берлинских часов на Arduino UNO — LED-матричные часы своими руками
  10. Бесконечное зеркало-часы: элегантный дизайн и точное время