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

Стильные настенные часы на четырех кольцах Adafruit Neopixel 60 LED и Arduino

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

Программное обеспечение

О проекте

Настенные часы из четырёх сегментов по 60 RGB-LED (Neopixel WS2812), образующих круг. Часы, минуты, секунды отображаются цветными дугами с мягким затуханием по краям. Время берётся от RTC (DS1307 на плате eDOTcore или внешнем модуле). Яркость 20/255 — комфортно для ночного освещения.

Плата eDOTcore

Универсальная Arduino-совместимая плата с встроенным RTC (DS1307), слот для microSD, стабилизатором 3.3 В и удобной распиновкой для Neopixel. Идеальна для этого проекта.

Код (упрощённый вариант для одного кольца 60 LED)

#include <Wire.h>
#include <RTClib.h>
#include <Adafruit_NeoPixel.h>

#define PIN 6
#define PIXEL 60

Adafruit_NeoPixel strip = Adafruit_NeoPixel(PIXEL, PIN, NEO_GRB + NEO_KHZ800);
RTC_DS1307 RTC;
DateTime Clock;
byte hourval, minuteval, secondval;

void setup() {
  Serial.begin(9600);
  Wire.begin();
  RTC.begin();
  if (!RTC.isrunning()) {
    // RTC.adjust(DateTime(__DATE__, __TIME__)); // раскомментируйте при первом запуске
  }
  strip.begin();
  strip.show();
  strip.setBrightness(20);
}

void loop() {
  Clock = RTC.now();
  secondval = Clock.second();
  minuteval = Clock.minute();
  hourval = Clock.hour();
  if (hourval > 11) hourval -= 12;           // 12-часовой формат
  hourval = (hourval * 60 + minuteval) / 12; // плавное движение часовой стрелки

  // Часовая стрелка (бирюзовая) с хвостом
  strip.setPixelColor(hourval,     0x008080);
  strip.setPixelColor(hourval - 1, 0x004040);
  strip.setPixelColor(hourval + 1, 0x004040);
  strip.setPixelColor(hourval + 2, 0x001010);

  // Минутная стрелка (пурпурная)
  strip.setPixelColor(minuteval,     0x800080);
  strip.setPixelColor(minuteval + 1, 0x200020);

  // Секундная стрелка (жёлтая)
  strip.setPixelColor(secondval,     0x808000);
  strip.setPixelColor(secondval + 1, 0x002F00);

  strip.show();
  delay(25);

  // гасим след (простой способ — перезапись нулями)
  strip.setPixelColor(hourval, 0); strip.setPixelColor(hourval - 1, 0);
  strip.setPixelColor(hourval + 1, 0); strip.setPixelColor(hourval + 2, 0);
  strip.setPixelColor(minuteval, 0); strip.setPixelColor(minuteval + 1, 0);
  strip.setPixelColor(secondval, 0); strip.setPixelColor(secondval + 1, 0);
}

Сборка 4-кольцевых часов

  1. Соберите 4 кольца в круг (3D-печатные детали на Thingiverse).
  2. Соедините цепочкой: DOUT первого → DIN второго и т.д. Питание параллельно (подайте 5 В от мощного БП, ~2 А на 240 LED).
  3. DIN первого кольца → пин D6 Arduino/eDOTcore.
  4. Прошейте код, адаптировав индексы LED для 4-х колец (всего 240 пикселей).

3D-модели

Детали для печати на Thingiverse (поиск по «Neopixel ring wall clock»).

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

  1. Arduino POV-часы: сборка дисплея на эффекте сохранения образа
  2. Создание потрясающей системы Ambilight для монитора на Arduino
  3. Слово-часы (Word Clock) на Arduino — DIY-часы с текстовой индикацией времени
  4. Интерактивный гироскопический LED-дисплей на NeoPixel Ring и Arduino
  5. Создание пользовательских LED-часов с будильником — видно с 12 метров
  6. Умный вольтметр на Arduino и смартфоне — простое DIY-проект
  7. IoT-монитор пульса в реальном времени на Arduino и MAX30100
  8. Веб-сервер на Arduino Uno WiFi: управление LED через браузер
  9. Pixie: DIY-наручные часы на Arduino Pro Mini и NeoPixel — стильный светодиодный тахометр времени
  10. Надёжные будильник на DS1302 RTC и Arduino UNO — сборка и код