Mündəricat:

O-R-A RGB Led Matrix Divar Saatı və daha çox ** İyul 2019 **: 6 Addım (Şəkillərlə)
O-R-A RGB Led Matrix Divar Saatı və daha çox ** İyul 2019 **: 6 Addım (Şəkillərlə)

Video: O-R-A RGB Led Matrix Divar Saatı və daha çox ** İyul 2019 **: 6 Addım (Şəkillərlə)

Video: O-R-A RGB Led Matrix Divar Saatı və daha çox ** İyul 2019 **: 6 Addım (Şəkillərlə)
Video: Dünyanın En Havalı Dekorasyonu! Pixel LED Ekran İnceleme ve Sökme 2024, Noyabr
Anonim
Image
Image
O-R-A RGB Led Matrix Divar Saatı və daha çox ** İyul 2019 yeniləndi **
O-R-A RGB Led Matrix Divar Saatı və daha çox ** İyul 2019 yeniləndi **
O-R-A RGB Led Matrix Divar Saatı və daha çox ** İyul 2019 yeniləndi **
O-R-A RGB Led Matrix Divar Saatı və daha çox ** İyul 2019 yeniləndi **
O-R-A RGB Led Matrix Divar Saatı və daha çox ** İyul 2019 yeniləndi **
O-R-A RGB Led Matrix Divar Saatı və daha çox ** İyul 2019 yeniləndi **

Salam. Burada O-R-A adlı yeni bir layihəyəm

RGB LED Matrix divar saatıdır:

  • saat: dəqiqə
  • temperatur
  • rütubət
  • cari hava şəraiti nişanı
  • Google Təqvim hadisələri və 1 saatlıq xatırlatma bildirişləri

müəyyən bir zamanda göstərir:

  • Google Calendar bu gün və sabah hadisələr siyahısı
  • hava proqnozu
  • Qaynar Xəbərlər

Asılılıq funksiyaları:

  • Hal-hazırki Tarix
  • Sehrli 8 top
  • Mətbəx taymeri

Hər hansı bir funksiya üçün cihaz fərqli bir səs siqnalı çalır. Hər cür hava şəraiti üçün, funksionallıq çağırıldıqda səslənəcək uyğun bir audio fayl var.

Google Təqvim siyahısı, Hava proqnozu, RSS xəbərləri kimi funksiyalar, cihaz "saat rejimində" olduqda əvvəlcədən seçilmiş vaxtdan başlayır, bunları birbaşa açarları işlədən adlandırmaq olar. "Saat rejimi" zamanı başqa bir funksiya cari günü/ayı/ili göstərir. ENTER düyməsini basaraq işə salmaq olar. "Saat rejimi" ndə 3 saniyə ərzində DÖYÜŞDÜRÜM düyməsini və sonra ENTER düyməsini basaraq seçimlər menyusuna daxil olursunuz. STATE DEĞİŞDİR düyməsi menyu daxilində hərəkət etmək üçün qurulmuşdur, ENTER düyməsi seçilmiş seçimi təsdiq etməkdir.

Bu layihə, əvvəlki LEGOLED və TEMPO -nun təkamülüdür. RGB LED matris panelində indi 32x64 qətnamə var, buna görə də eyni vaxtda daha ağıllı qrafika, sabit və sürüşmə mətni göstərmək mümkündür. TEMPO funksiyalarından istifadə edərək cihaz heç bir düymə və ya xarici taymer olmadan avtomatik olaraq açılır və sönür. PIR modulu insanların varlığını aşkar edir, buna görə də ekranı yandırın/söndürün.

Hava proqnozu və təqvim məlumatları Google Təqvim və Açıq Hava Xəritəsi tərəfindən verilən hər dəqiqə toplanır.

Bu layihə bir Raspberry PI B+, 2 modul 16x64 rgb led matrisdən və enerji təchizatından başlayaraq tamamilə fərdiləşdirilə bilər. Etdiyim kimi, USB səs kartları, dinamiklər, açma/söndürmə dövrəsi əlavə etməklə genişləndirilə bilər.

Addım 1: Nə lazımdır

  • Raspberry Pi B+ (quraşdırılmış wifi və ya dongle ilə)
  • 2 x 16x64 RGB led matris və ya 2 x 32x32
  • ümumi çərçivə (təxminən 40x50 sm və 3 sm dərinlikdə)
  • buzlu plastik təbəqə
  • pəncərə günəş filmi
  • PS 5V 10A
  • kabellər
  • termoset kılıf (*)
  • röle modulu (*)
  • audio gücləndirici üçün əlavə PS (*)
  • 3W səs gücləndirici modulu (*)
  • dinamiklər (*)
  • USB səs kartı (*)
  • 2 x mikro açar (*)
  • PIR (*)
  • Attiny85 (*)
  • DS3231 (*)
  • Mosfet IRF540 (*)
  • Rezistorlar: 3x1K, 2x10K, 1x2K (*)
  • terminal hissə (*)
  • başlıq qadın zolaqları (*)
  • başlıq zolaqları kişi (*)

(*) isteğe bağlı

Addım 2: Raspberry Pi Quraşdırması

Bu təlimat əsasən Hzeller Github istifadəçisi tərəfindən Raspbian Jessie Lite, Python 2.7 və RGB LED MATRIX kitabxanasına əsaslanır.

Əvvəlcə RPI -ni yeniləyin və təkmilləşdirin

Git quraşdırın

~ $ sudo apt-get install git

Github -dan RGB LED MATRIX kitabxanasını yükləyin

~ $ git klonu

~ $ cd rpi-rgb-led-matrix

~ $ sudo etmək

qara siyahı RPI daxili səs kartı

~ $ cat << EOF | sudo tee /etc/modprobe.d/blacklist-rgb-matrix.conf

qara siyahı snd_bcm2835

EOF

~ $ sudo yeniləmə -initramfs -u

Səs imkanlarına ehtiyac varsa xarici səs kartı parametrlərini təyin edin:

~ $ sudo nano /usr/share/alsa/alsa.conf

dəyişdirmək:

defaults.ctl.card 0

defaults.pcm.card 0

default.ctl.card 1

defaults.pcm.card 1

sonra yenidən başladın.

İndi matris kitabxanasını quraşdırın

~ $ cd/home/pi/rpi-rgb-led-matrix

~ $ sudo apt-get update && sudo apt-get install python2.7-dev python-yastıq -y

~ $ build-python etmək

~ $ sudo install-python edir

və lazım olan digər kitabxanaları quraşdırın:

~ $ sudo easy_install pip

~ $ sudo pip httplib2 quraşdırın

Samplebase.py skriptini ~/rpi-rgb-led-matrix/bindings/python/sample/-dən ev qovluğuna kopyalayın

Açıq Hava Xəritəsində API açarını pulsuz qeydiyyatdan keçin

İndi PYthon 2.7 üçün OWM Python paketini quraşdırın (CSPARPAGithub istifadəçisi sayəsində)

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

Google Calendar API -də təlimatlara əsasən Google Calendar etimadnaməsini əldə edin

Səs çalmaq üçün Pygame quraşdırın

~ $ sudo apt-get python-pygame quraşdırın

RSS -də Feedparser quraşdırılmalıdır

~ $ sudo pip feedparser quraşdırın

ORAeng_131.py (ingilis versiyası) və ya ORAita_131.py (italyan versiyası) skriptimi ev kataloquna kopyalayın

səslər və şəkillər üçün qovluqlar yaradın:

mkdir dbsounds

mkdir owm

bütün-p.webp

www.dropbox.com/sh/nemyfcj1a1i18ic/AAB1W7I6lg5EgqL1gJZPWVTxa?dl=0

69 nömrəli OWM etimadnamənizi əlavə edin (API_key)

213, 215 -ci sətirlərdə hava proqnozu üçün şəhər qurun (OWM tərəfindən əhatə olunduğunu və düzgün adın qəbul edildiyini yoxlayın)

obs = owm.weather_at_place ('Napoli, IT')

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

********************************** Yeniləmə 28/7/2019 ********** ******************

Yeni Google Calendar API problem yaradır. Bəzi modulların çıxarılmasını həll etdim:

~ $ sudo apt-get remove-python-setuptools -u təmizləyin

~ $ sudo apt-get autoremove python-pyasn1

işləyən ssenarini sınayın

~ $ sudo python ORAeng_150.py # və ya ORAita_150.py italyan versiyası üçün

ilk dəfə skript GCAL icazəsi istəyəcək. Google api etimadnaməsini əldə etmək üçün linki vurun. İcazə verin, əgər hər şey qaydasındadırsa, saatın başladığını görəcəksiniz.

Bir neçə saatdan sonra həddindən artıq RAM istifadəsi səbəbindən, RAM istifadəsi hədd səviyyəsini keçdikdə python skriptini yenidən başlatan bir skript yazdım. Sonra memcheck.sh adını dəyişən memcheck adlı skripti ev qovluğuna kopyalayın və crontab -e birlikdə əsas skriptə əlavə edin.

*/5 * * * * bash /home/pi/memcheck.sh@reboot sudo python /home/pi/ORAeng_150.py

Addım 3: Skriptlər

Əsas skript ehtiyaclarınıza uyğun olaraq dəyişdirilməlidir. OWM və Goggle Calendar etimadnamələrinin müvafiq API təlimatları olaraq təyin edildiyini nəzərə alsaq, ən vacib parametrlər bunlardır:

hər saat 2, 32 -də baş verən təqvim hadisələri siyahısı (65 -ci skript xəttinə baxın)

hava şəraiti və proqnoz hər saat 7, 37 -də yerinə yetirilir (skript satırı 66 -ya baxın)

Hər saat 11 -də hər saat baş verən xəbərlər (67 -ci skript xəttinə baxın)

son xəbər rss kanalı. Daxili skript Instructable RSS olaraq təyin olunur, ancaq dəyişdirilə bilər. (skript xəttinə baxın 366)

Aydındır ki, skript gəlir təqvim hadisəsi və ya xatırlatma bildirişlərinə üstünlük verir. Bəzən funksiyaların kəsişməməsi üçün saat öz xüsusiyyətlərini yerinə yetirmir.

Attiny85 açma/söndürmə taymeri Tempo_V1_9_1Mhz_bugfix.ino eskizini yükləmək üçün proqramlaşdırılmalıdır.

Bu, cihazı səhər 8 -də açmağa və 23 -də söndürməyə imkan verir. Ətraflı məlumat üçün təlimata baxın.

Addım 4: Dövrə

Dövrə
Dövrə
Dövrə
Dövrə
Dövrə
Dövrə

Dövrə əsasən 3 hissədən ibarətdir

- DS3231 modulu, Attiny85 və Mosfet tərəfindən idarə olunan güc açma/söndürmə taymeri

- Saat xüsusiyyətlərinin əl ilə idarə edilməsi üçün keçid

- RGB LED Matrix məlumatları və gücü, səs gücləndiricisi və Raspberry Pi üçün kabellərin yerləşdiyi əlaqə bölməsi

RPI -nin Attiny85 -dən yüksək/aşağı 5V siqnalını oxumasına imkan verən müqavimətli bir gərginlik ayırıcıdan bəhs edilmir.

Açarlar birbaşa daxili rezistorlar istifadə edərək RPI pin GND -yə bağlanır

Attiny85 timer, TEMPO adlı əvvəlki layihəmdən gəlir. Əsasən, DS3231, yuxu rejimindən oyandıran Attiny85 kəsmə pininə LOW siqnal göndərir. Uyandıqda Attiny85, Mosfet tranzistoruna YÜKSƏ siqnal göndərir, RPI, LED Matrix və səs gücləndiricisi üçün enerji təchizatı dövrəsini aktivləşdirir (əgər son konfiqurasiyam olaraq bir röle vasitəsilə əlavə PS -yə qoşulmursa).

RPI -ni bağlamaq üçün skriptim, RPI -nin pin 14 -də rəqəmsal siqnal dinlədiyini, YÜKSƏK olduqda, bağlama əmri adlandırıldığını düşünür. Sonra RPI düzgün bir bağlama prosesi həyata keçirir, sonra bir dəqiqədən sonra Attiny85 yenidən yuxu rejiminə keçir və Mosfet bütün cihazı söndürən LOW siqnal alır. Bu proses kobud, lakin təsirli olur.

PIR modulu isteğe bağlıdır və birbaşa RPI GPIO -ya bağlıdır.

Konfiqurasiyam aşağıdakı RPI GPIO pinlərinin bağlı olmasını tələb edir:

15 üçün PIR

14 gərginlik bölücü vasitəsilə Attiny85 pin 3 -ə

Modul üçün 21

Keçmək üçün 2 (ENTER BUTTON)

Keçmək üçün 3 (DÖVLƏT DÜĞMƏSİNİ DEĞİŞTİR)

Məsələlər:

- yalnız səs gücləndiricisi üçün kiçik bir PS istifadə edərək həll olunan LED Matrix enerji təchizatı səbəbiylə səs -küy. İsteğe bağlı bir röle gücləndiricini yalnız lazım olduqda açmağa imkan verir. Bu açıldıqda/söndürüldükdə səs -küyə səbəb ola bilər.

Dövrə mis lövhə, 3D printer, marker və dəmir xloriddən istifadə edərək həkk olunmuşdur.

Addım 5: Montaj

Montaj
Montaj
Montaj
Montaj
Montaj
Montaj
Montaj
Montaj

Ümumi 40x50 sm ölçülü bir çərçivəni 3D çap hissələri və bəzi əlavə əlavələrlə birlikdə bu layihəyə uyğunlaşdırdım.

Şüşə şüşəli günəş filmi və buzlu plastik təbəqə ilə qorunur. Led matrisi, içərisində olan ağları görməmək üçün təxminən 1 sm şüşəyə qədər saxlanılmalıdır. Kiçik vintlər M3 qoz -fındıq və boltlar kimi lazımdır. Kabellər və termoset örtük məcburidir.

Led matrislər çərçivənin arxa panelinə vidalanmışdır.

Addım 6: İndi?

Və indi ?
Və indi ?
Və indi ?
Və indi ?

Növbəti addım, maksimum Raspberry Pi potensialına qədər bir temperatur sensoru, bluetooth imkanlarının aktivləşdirilməsi və niyə internet radio pleyerinin əlavə edilməsi olacaq.

Sağol

Saat Müsabiqəsi
Saat Müsabiqəsi
Saat Müsabiqəsi
Saat Müsabiqəsi

Saat Yarışmasında 2 -ci yeri tutdu

Tövsiyə: