Съдържание:

O-R-A RGB Led Matrix Wall Clock и други ** актуализиран юли 2019 **: 6 стъпки (със снимки)
O-R-A RGB Led Matrix Wall Clock и други ** актуализиран юли 2019 **: 6 стъпки (със снимки)

Видео: O-R-A RGB Led Matrix Wall Clock и други ** актуализиран юли 2019 **: 6 стъпки (със снимки)

Видео: O-R-A RGB Led Matrix Wall Clock и други ** актуализиран юли 2019 **: 6 стъпки (със снимки)
Видео: Section 9 2024, Юли
Anonim
Image
Image
O-R-A RGB Led Matrix Wall Clock и още ** актуализиран юли 2019 **
O-R-A RGB Led Matrix Wall Clock и още ** актуализиран юли 2019 **
O-R-A RGB Led Matrix Wall Clock и още ** актуализиран юли 2019 **
O-R-A RGB Led Matrix Wall Clock и още ** актуализиран юли 2019 **
O-R-A RGB Led Matrix Wall Clock и още ** актуализиран юли 2019 **
O-R-A RGB Led Matrix Wall Clock и още ** актуализиран юли 2019 **

Здравейте. Ето ме с нов проект, наречен O-R-A

Това е RGB LED Matrix стенен часовник, който показва:

  • час: минута
  • температура
  • влажност
  • икона за текущо състояние на времето
  • Събития в Google Календар и известия за напомняния за 1 час

в определен час показва:

  • Списък на събитията в Google Календар днес и утре
  • прогноза за времето
  • извънредни новини

Пристрастяващи функции:

  • текуща дата
  • Магия 8 топка
  • Кухненски таймер

За всяка функционалност устройството възпроизвежда различна аудио аларма. За всякакви метеорологични условия има изигран съответния аудио файл при извикване на функционалността.

Функционалностите като списък на Google Календар, прогноза за времето, новини за RSS започват в предварително избрания час, когато устройството е в "часовник", те също могат да бъдат наречени директно задействане на превключвателите. Друга функционалност по време на "часовник" показва текущия ден/месец/година. Може да се стартира с натискане на бутона ENTER. Натискането на бутона CHANGE STATE и след това ENTER в рамките на 3 секунди в "часовник" ви позволява да влезете в менюто с опции. Бутонът CHANGE STATE е зададен за превъртане в менюто, бутонът ENTER е за потвърждаване на избраната опция.

Този проект е еволюция на предишните ми LEGOLED и TEMPO. RGB светодиодният матричен панел вече има резолюция 32x64, така че е възможно да се показват по -разбираеми графики, фиксиран и превъртащ се текст едновременно. Използвайки функции TEMPO, устройството се включва и изключва автоматично без никакъв бутон или външен таймер. PIR модул открива присъствието на хора, затова включва/изключва дисплея.

Прогнозата за времето и данните от календара се събират всяка минута, предоставена от Google Календар и Отворена карта на времето.

Този проект е напълно адаптивен, започвайки от Raspberry PI B+, 2 модул 16x64 rgb led матрица и захранване. Може да се разшири, както направих аз, като добавя USB звукови карти, високоговорители, верига за включване/изключване.

Стъпка 1: Какво ви трябва

  • Raspberry Pi B+ (с вграден wifi или dongle)
  • 2 x 16x64 RGB LED матрица или 2 x 32x32
  • обща рамка (40x50 см и приблизително 3 см дълбочина)
  • матов пластмасов лист
  • слънчев филм за прозорци
  • PS 5V 10A
  • кабели
  • термореактивна обвивка (*)
  • релеен модул (*)
  • допълнителен PS за аудио усилвател (*)
  • 3W аудио усилвател модул (*)
  • високоговорители (*)
  • USB звукова карта (*)
  • 2 x микропревключвател (*)
  • 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 клонинг

~ $ 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-matrix

~ $ sudo apt-get update && sudo apt-get инсталирайте python2.7-dev python-pillow -y

~ $ направете build-python

~ $ sudo направи install-python

и инсталирайте други необходими библиотеки:

~ $ sudo easy_install pip

~ $ sudo pip инсталирайте

Копирайте samplebase.py скрипт от ~/rpi-rgb-led-matrix/bindings/python/sample/в началната директория

Вземете безплатно регистриране на API ключ, за да отворите карта на времето

Инсталирайте сега OWM Python обвивка за PYthon 2.7 (благодарение на потребителя на CSPARPAGithub)

~ $ sudo pip install git+https://github.com/csarpa/[email protected]

Вземете идентификационни данни за Google Календар, следвайки инструкциите в Google Calendar API

За възпроизвеждане на аудио инсталирайте Pygame

~ $ sudo apt-get инсталирайте 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 ('Napoli, IT')

fc = owm.three_hours_forecast ('Napoli, IT')

********************************** АКТУАЛИЗИРАНЕ 28/7/2019 ********** ******************

Новият API на Google Календар създава проблеми. Реших да премахна някои модули:

~ $ sudo apt-get remove --purge python-setuptools

~ $ sudo apt-get автоматично премахване на python-pyasn1

опитайте да стартирате скрипта

~ $ sudo python ORAeng_150.py # или ORAita_150.py за италианска версия

за първи път скриптът ще поиска разрешение от GCAL. Щракнете върху връзката, за да получите идентификационни данни за google api. Дайте разрешение тогава, ако всичко е наред, ще видите, че часовникът започва.

поради прекомерно използване на RAM след няколко часа, написах скрипт, който просто рестартира скрипта на python, когато използването на RAM надхвърли прагово ниво. След това копирайте в началната директория скрипта с име 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 канал. Вътрешният скрипт е настроен за инструкции RSS, но може да бъде променен. (вижте скрипт ред 366)

Очевидно скриптът дава приоритет на входящите събития в календара или известията за напомняния. Понякога часовникът не изпълнява своите функции, за да избегне пресичане на функционалности.

Таймерът за включване/изключване на Attiny85 трябва да бъде програмиран за качване на скицата Tempo_V1_9_1Mhz_bugfix.ino.

Това позволява включване на устройството в 8 сутринта и изключване в 23. Вижте урока за повече информация.

Стъпка 4: Веригата

Веригата
Веригата
Веригата
Веригата
Веригата
Веригата

Веригата има основно 3 секции

- таймер за включване/изключване, управляван от модул DS3231, Attiny85 и Mosfet

- превключвател за ръчно управление на функциите на часовника

- раздел за свързване, където има кабели за RGB LED Matrix данни и мощност, аудио усилвател и Raspberry Pi

Не е споменат резистивен делител на напрежение, който позволява на RPI да прочете ВИСОК/НИСКИ 5V сигнал от Attiny85

Превключвателите са свързани към RPI извод GND директно с помощта на вътрешни резистори

Таймерът Attiny85 идва от предишния ми проект, наречен TEMPO. По принцип DS3231 изпраща LOW сигнал към прекъсващ щифт Attiny85, който го събужда от спящ режим. При събуждане Attiny85 изпраща ВИСОК сигнал към транзистора на Mosfet, активирайки захранващата верига за RPI, LED матрица и аудио усилвател (ако не е свързан към допълнителен PS чрез реле, като последната ми конфигурация).

За изключване на RPI моят скрипт обмисля, че RPI слуша цифров сигнал на пин 14, когато е ВИСОК, се нарича команда за изключване. След това RPI извършва правилен процес на изключване, след което след една минута Attiny85 се връща в спящ режим и Mosfet получава НИСКИ сигнал, който изключва цялото устройство. Този процес е груб, но ефективен.

PIR модулът е опция и е свързан директно към RPI GPIO.

Моята конфигурация изисква следните RPI GPIO щифтове да са свързани към:

15 към PIR

14 към Attiny85 щифт 3 чрез делител на напрежение

21 към релейния модул

2 за превключване (бутон ENTER)

3 за превключване (бутон за промяна на състоянието)

Проблеми:

- шум, дължащ се на LED Matrix захранване, решен с помощта на малък PS само за аудио усилвателя. Допълнително реле позволява включването на усилвателя само когато е необходимо. Това може да предизвика шум при удар при включване/изключване.

Веригата е гравирана с помощта на медна плоча, 3D принтер, маркер и железен хлорид.

Стъпка 5: Сглобяване

Сглобяване
Сглобяване
Сглобяване
Сглобяване
Сглобяване
Сглобяване
Сглобяване
Сглобяване

Аз адаптирах обща рамка 40x50cm към този проект заедно 3D отпечатани части и някои допълнителни екстри.

Стъклото е защитено от слънчево фолио за прозорци и матово пластмасово фолио. Светодиодната матрица трябва да се държи на около 1 см до стъклото, за да не се види бялото вътре в светодиодите. Малки винтове са необходими като M3 гайки и болтове. Задължителни са кабелите и термореактивната обвивка.

Светодиодните матрици се завинтват на задния панел на рамката.

Стъпка 6: И сега?

И сега ?
И сега ?
И сега ?
И сега ?

Следващата стъпка ще бъде добавяне на температурен сензор, активиране на Bluetooth възможности и защо не, интернет радио плейър до максимален потенциал на Raspberry Pi.

Чао

Конкурс за часовници
Конкурс за часовници
Конкурс за часовници
Конкурс за часовници

Вицешампион в състезанието за часовници

Препоръчано: