Оглавление:
- Шаг 1. Что вам нужно
- Шаг 2: Настройка Raspberry Pi
- Шаг 3: Сценарии
- Шаг 4: Схема
- Шаг 5: Сборка
- Шаг 6: А теперь?
Видео: Матричные настенные часы O-R-A со светодиодной подсветкой и др. ** обновлено, июль 2019 г. **: 6 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:51
Привет. Вот я с новым проектом под названием O-R-A
Это настенные часы с матрицей и светодиодной подсветкой RGB, которые отображают:
- час: минута
- температура
- влажность
- значок текущих погодных условий
- События Календаря Google и уведомления о напоминаниях за 1 час
в определенное время он показывает:
- Календарь Google Календарь сегодня и список завтрашних событий
- прогноз погоды
- последние новости
Зависимые функции:
- текущая дата
- Волшебный шар 8
- Кухонный таймер
Для любой функциональности устройство воспроизводит другой звуковой сигнал. Для любых погодных условий есть соответствующий аудиофайл, который будет воспроизводиться при вызове функции.
Такие функции, как список календаря Google, прогноз погоды, RSS-новости, запускаются в заранее выбранное время, когда устройство находится в «режиме часов», их также можно вызвать непосредственно с помощью переключателей. Еще одна функция в «режиме часов» - отображение текущего дня / месяца / года. Его можно запустить, нажав кнопку ENTER. Нажав кнопку ИЗМЕНИТЬ СОСТОЯНИЕ, а затем кнопку ВВОД в течение 3 секунд в «режиме часов», вы можете войти в меню параметров. Кнопка ИЗМЕНИТЬ СОСТОЯНИЕ предназначена для прокрутки внутри меню, кнопка ВВОД - для подтверждения выбранной опции.
Этот проект является развитием моих предыдущих LEGOLED и TEMPO. Матричная панель со светодиодной подсветкой RGB теперь имеет разрешение 32x64, что позволяет отображать более понятную графику, фиксированный и прокручиваемый текст одновременно. Используя функции TEMPO, устройство включается и выключается автоматически без каких-либо кнопок или внешнего таймера. Модуль PIR обнаруживает присутствие людей, поэтому включает / выключает дисплей.
Прогноз погоды и данные календаря собираются каждую минуту с помощью Календаря Google и Open Weather Map.
Этот проект полностью настраивается, начиная с Raspberry PI B +, двухмодульной светодиодной матрицы 16x64 rgb и блока питания. Его можно расширить, как это сделал я, добавив звуковые карты USB, динамики, схему включения / выключения питания.
Шаг 1. Что вам нужно
- Raspberry Pi B + (со встроенным Wi-Fi или донглом)
- 2 x 16x64 светодиодных матрицы RGB или 2 x 32x32
- стандартная рама (примерно 40x50 см и глубиной 3 см)
- матовый пластиковый лист
- оконная солнечная пленка
- ПС 5В 10А
- кабели
- термореактивная оболочка (*)
- релейный модуль (*)
- дополнительный PS для аудиоусилителя (*)
- Модуль звукового усилителя мощностью 3 Вт (*)
- динамики (*)
- Звуковая карта USB (*)
- 2 х микровыключателя (*)
- PIR (*)
- Attiny85 (*)
- DS3231 (*)
- Mosfet IRF540 (*)
- Резисторы: 3x1K, 2x10K, 1x2K (*)
- клеммная колодка (*)
- полоски жатки с внутренней резьбой (*)
- полоски заголовка наружная (*)
(*) по желанию
Шаг 2: Настройка Raspberry Pi
Это руководство в основном основано на библиотеке Raspbian Jessie Lite, Python 2.7 и RGB LED MATRIX от пользователя Hzeller Github.
Прежде всего, обновите и обновите RPI
Установить git
~ $ sudo apt-get install git
Загрузите библиотеку RGB LED MATRIX с Github
~ $ git clone
~ $ cd rpi-rgb-led-матрица
~ $ sudo make
черный список внутренней звуковой карты RPI
~ $ cat << EOF | sudo tee /etc/modprobe.d/blacklist-rgb-matrix.conf
черный список snd_bcm2835
EOF
~ $ sudo update-initramfs -u
Установите параметры внешней звуковой карты, если нужны звуковые возможности:
~ $ sudo nano /usr/share/alsa/alsa.conf
изменение:
defaults.ctl.card 0
defaults.pcm.card 0
к
defaults.ctl.card 1
defaults.pcm.card 1
затем перезагрузитесь.
Теперь установите матричную библиотеку
~ $ cd / home / pi / rpi-rgb-led-матрица
~ $ sudo apt-get update && sudo apt-get install python2.7-dev python-Pillow -y
~ $ make build-python
~ $ sudo make install-python
и установите другие необходимые библиотеки:
~ $ sudo easy_install pip
~ $ sudo pip install
Скопируйте скрипт samplebase.py из ~ / rpi-rgb-led-matrix / bindings / python / samples / в домашний каталог
Получите бесплатную регистрацию ключа API, чтобы открыть карту погоды
Установить сейчас оболочку OWM Python для PYthon 2.7 (спасибо пользователю CSPARPAGithub)
~ $ sudo pip install git +
Получите учетные данные Календаря Google, следуя инструкциям в API Календаря Google.
Для воспроизведения звука установите Pygame
~ $ sudo apt-get install python-pygame
Для RSS-каналов необходимо установить Feedparser.
~ $ sudo pip установить feedparser
скопируйте мой скрипт ORAeng_131.py (английская версия) или ORAita_131.py (итальянская версия) в домашний каталог
создавать папки для звуков и изображений:
mkdir dbsounds
mkdir owm
скачайте и скопируйте все файлы-p.webp
www.dropbox.com/sh/nemyfcj1a1i18ic/AAB1W7I6lg5EgqL1gJZPWVTxa?dl=0
добавьте свои учетные данные OWM в строку 69 (API_key)
укажите город для прогноза погоды (проверьте, входит ли он в OWM и правильное ли название принято) в строках 213, 215
obs = owm.weather_at_place ('Неаполь, Италия')
fc = owm.three_hours_forecast ('Неаполь, Италия')
********************************* ОБНОВЛЕНИЕ 28/7/2019 ********** ******************
Новый Google Calendar API создает проблемы. Я решил удалить некоторые модули:
~ $ sudo apt-get remove --purge python-setuptools
~ $ sudo apt-get автоудаление python-pyasn1
попробуйте запустить скрипт
~ $ sudo python ORAeng_150.py # или ORAita_150.py для итальянской версии
в первый раз скрипт запросит авторизацию GCAL. Щелкните ссылку на учетные данные API Google. Тогда дайте разрешение, если все в порядке, вы увидите, что часы начнутся.
из-за чрезмерного использования ОЗУ через несколько часов я написал сценарий, который просто перезапускает сценарий Python, когда использование ОЗУ превышает пороговый уровень. Затем скопируйте в домашний каталог скрипт с именем memcheck, переименовав его в memcheck.sh и добавьте в crontab -e вместе основной скрипт
* / 5 * * * * bash /home/pi/memcheck.sh@reboot sudo python /home/pi/ORAeng_150.py
Шаг 3: Сценарии
Основной сценарий необходимо изменить в соответствии с вашими потребностями. Предполагая, что учетные данные OWM и Goggle Calendar заданы как соответствующие инструкции API, наиболее важными параметрами являются:
список событий календаря, выполняющихся каждый час на 2, 32 минуте (см. строку 65 скрипта)
погодные условия и прогноз выполняются каждый час на 7, 37 минуте (см. строку 66 скрипта)
последние новости каждый час на 11-й минуте (см. строку сценария 67)
Последние новости rss канал. Внутри скрипта установлен Instructable RSS, но его можно изменить. (см. строку сценария 366)
Очевидно, что скрипт отдает приоритет приходящим календарным событиям или уведомлениям-напоминаниям. Иногда часы не выполняют свои функции, чтобы избежать пересечения функций.
Таймер включения / выключения Attiny85 необходимо запрограммировать, загрузив скетч Tempo_V1_9_1Mhz_bugfix.ino.
Это позволяет включать устройство в 8 часов утра и выключать в 23. Для получения дополнительной информации см. Руководство.
Шаг 4: Схема
Схема состоит в основном из 3-х секций.
- таймер включения / выключения, управляемый модулем DS3231, Attiny85 и Mosfet
- переключатель для ручного управления функциями часов
- секция подключения, где проложены кабели для данных и питания RGB LED Matrix, аудиоусилителя и Raspberry Pi
Не упоминается резистивный делитель напряжения, который позволяет RPI считывать сигнал HIGH / LOW 5V от Attiny85.
Переключатели подключаются к выводу RPI и GND напрямую с помощью внутренних резисторов.
Таймер Attiny85 взят из моего предыдущего проекта под названием TEMPO. По сути, DS3231 отправляет сигнал LOW на вывод прерывания Attiny85, который выводит его из спящего режима. При пробуждении Attiny85 отправляет HIGH сигнал на транзистор Mosfet, активируя цепь питания для RPI, светодиодной матрицы и аудиоусилителя (если не подключен к дополнительному PS через реле, как моя последняя конфигурация).
Чтобы выключить RPI, мой сценарий предполагает, что RPI прослушивает цифровой сигнал на выводе 14, когда он ВЫСОКИЙ, называется командой выключения. Затем RPI выполняет правильный процесс выключения, затем через одну минуту Attiny85 возвращается в спящий режим, а Mosfet получает сигнал LOW, который выключает все устройство. Это грубый, но эффективный процесс.
Модуль PIR не является обязательным и подключается непосредственно к RPI GPIO.
Моя конфигурация требует, чтобы следующие контакты RPI GPIO были подключены к:
15 в PIR
14 к контакту 3 Attiny85 через делитель напряжения
21 к релейному модулю
2 для переключения (КНОПКА ВВОДА)
3 для переключения (КНОПКА ИЗМЕНЕНИЯ СОСТОЯНИЯ)
Проблемы:
- шум от источника питания LED Matrix, решаемый с помощью небольшого PS только для аудиоусилителя. Дополнительное реле позволяет включать усилитель только при необходимости. Это может вызвать шум при включении / выключении.
Схема была вытравлена с помощью медной пластины, 3D-принтера, маркера и хлорида железа.
Шаг 5: Сборка
Я адаптировал для этого проекта стандартную раму 40x50 см вместе с деталями, напечатанными на 3D-принтере, и некоторыми дополнительными аксессуарами.
Стекло защищено оконной солнечной пленкой и матовым пластиковым листом. Светодиодную матрицу необходимо держать на расстоянии около 1 см от стекла, чтобы не видеть белые внутренние светодиоды. Маленькие винты необходимы как гайки и болты M3. Обязательны кабели и термореактивная оболочка.
Светодиодные матрицы прикручиваются к тыльной панели рамы.
Шаг 6: А теперь?
Следующим шагом будет добавление датчика температуры, активация возможностей bluetooth и, почему бы и нет, интернет-радио плеера до максимального потенциала Raspberry Pi.
до свидания
Финалист в конкурсе часов
Рекомендуемые:
Взрывающиеся настенные часы своими руками с подсветкой движения: 20 шагов (с изображениями)
Взрывающиеся настенные часы своими руками с подсветкой движения: в этом обучающем видео я покажу вам шаг за шагом, как создать креативные и уникальные настенные часы со встроенной системой освещения движения. Эта довольно уникальная идея дизайна часов ориентирована на то, чтобы сделать часы более интерактивными. . Когда я иду
Светодиодные матричные часы ESP8266: 8 шагов (с изображениями)
Светодиодные матричные часы ESP8266: Светодиодные матричные часы ESP8266 Простые светодиодные матричные часы на основе популярного ESP8266 с модулем часов реального времени и синхронизацией времени через WiFi с сервера NTP. Также доступна версия ESP32
Матричные часы со светодиодной подсветкой 8x8 и предупреждение о вторжении: 4 шага (с изображениями)
Светодиодные матричные часы 8x8 и предупреждение о вторжении: в этом руководстве мы увидим, как построить светодиодные матричные часы 8x8, активируемые при обнаружении движения. Эти часы также можно использовать в качестве устройства защиты от вторжений, которое отправляет предупреждающее сообщение, если движение обнаружен телеграмм-ботом !!! Обойдемся двумя разными
Деревянные свадебные часы со светодиодной подсветкой: 8 шагов (с изображениями)
Деревянные свадебные часы со светодиодной подсветкой: я начал этот проект, чтобы создать уникальные, единственные в своем роде свадебные часы для моей сестры и зятя. Хотели сделать что-то, что они могли бы осветить и показать какой-то аспект их свадебного дня на долгое время. Прошли через множество дизайнов
Анимированные настенные часы с RGB-подсветкой: 10 шагов (с изображениями)
НАСТЕННЫЕ ЧАСЫ С АНИМАЦИЕЙ RGB: нет сомнений, что вам понравятся эти настенные часы. В этом проекте мы снова использовали светодиоды RGB. И, конечно же, для нас очень важен 3d принтер. Мы снова спроектировали и произвели некоторые детали, необходимые для НАСТЕННЫХ ЧАСОВ. И это не просто часы. Это