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

Создание пользовательских LED-часов с будильником — видно с 12 метров

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

КомпонентКоличество
Arduino UNO1
Freetronics DMD Display1
Модуль RTC (часы реального времени)1
Тактовая кнопка (мгновенное действие)1
Выключатель вкл/выкл1

Приложения и онлайн-сервисы

О проекте

Описание

Этот проект предназначен для тех, кто хочет сделать большие часы, читаемые с расстояния 12 метров и более. Размер можно увеличить по желанию. Встроенный будильник может использоваться как обработчик событий — например, для автоматизированной системы полива сада или напоминания о еженедельной встрече, а также для управления любым устройством через реле.

Необходимые детали

Сборка

Часть 1 — Электроника

  1. Подключите зуммер, кнопку сброса и переключатель будильника к макетной плате.
  2. Соедините один контакт каждого переключателя с землей (GND) и вывод GND зуммера — с GND Arduino (см. схему).
  3. Второй контакт переключателя будильника подключите к D2, кнопку сброса — к D3, зуммер — к D4.
  4. Подключите модуль RTC к Arduino согласно его типу (изучите документацию производителя — обычно следуйте схеме).
  5. Соедините DMDCON с Arduino и вставьте DMD.
  6. Для максимальной яркости DMD подключите источник 5 В к контактам High Brightness.
  7. При желании смонтируйте все детали на Proto Shield и соедините соответствующим образом.

Часть 2 — Программное обеспечение

Сначала установите библиотеку DMD (доступна по ссылке) в папку libraries.

Программу можно скачать с Prototyping Corner или внизу этой страницы. Она содержит базовые операции мастер-часов.

Настройка времени на модуле RTC: найдите строки 117–124 и установите текущее время. Раскомментируйте строку 124 и загрузите скетч в Arduino. Затем снова закомментируйте строку 124 и загрузите повторно. Если этого не сделать, RTC останется на заданном времени.

В строках 593 и 594 задайте время и дни срабатывания будильника. Строка 593 — день недели (номера соответствуют):

В строке 594 укажите время сработки в 24-часовом формате.

Дальнейшее развитие

Добавление дисплеев

Можно подключить несколько DMD-дисплеев для увеличения размера часов. Подробнее читайте в документации.

Добавление будильников

Для добавления будильников вставьте в скетч следующий код и вызовите функцию в основном цикле:

void CheckAlarm_ALARM_NO_() {
  AlarmSet = digitalRead(AlarmSetPin);
  Snooze = digitalRead(SnoozePin);
  byte second, minute, hour, dayOfWeek, dayOfMonth, month, year;
  getDateDs1307(&second, &minute, &hour, &dayOfWeek, &dayOfMonth, &month, &year);
  /* Срабатывание только в указанные дни. Измените числа на нужные:
     1 = Воскресенье, 2 = Понедельник, 3 = Вторник, 4 = Среда,
     5 = Четверг, 6 = Пятница, 7 = Суббота */
  if(dayOfWeek == 2 || dayOfWeek == 3 || dayOfWeek == 4 || dayOfWeek == 5 || dayOfWeek == 6) {
    if(hour == 18 && minute == 05) { // Время срабатывания (24-ч формат)
      if(AlarmSet == LOW) { // Если будильник включен
        Snooze = digitalRead(SnoozePin);
        while(Snooze == HIGH) {
          Snooze = digitalRead(SnoozePin);
          // Действия при срабатывании
        }
      }
    }
  }
}

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

  1. Кукушка: история, мастерство и современная эволюция
  2. Arduino POV-часы: сборка дисплея на эффекте сохранения образа
  3. Ретро-часы на индикаторах Numitron с Arduino: просто, надёжно, экономно
  4. Слово-часы (Word Clock) на Arduino — DIY-часы с текстовой индикацией времени
  5. Часы реального времени на Arduino с расчётом времени намаза
  6. Сборка Bluetooth-робота-шпиона на Arduino с управлением с телефона
  7. FlickMote: жестовое IR-пульт для умного дома на Arduino 101 и ультразвуковом датчике
  8. DIY Arduino TV-B-Gone: универсальный пульт для выключения любого телевизора
  9. Монитор температуры и реальные часы на Arduino Due с TFT-дисплеем 3.2"
  10. Надёжные будильник на DS1302 RTC и Arduino UNO — сборка и код