İçindekiler:

O-R-A RGB Led Matris Duvar Saati ve Daha Fazlası **Temmuz 2019'da güncellendi**: 6 Adım (Resimlerle)
O-R-A RGB Led Matris Duvar Saati ve Daha Fazlası **Temmuz 2019'da güncellendi**: 6 Adım (Resimlerle)

Video: O-R-A RGB Led Matris Duvar Saati ve Daha Fazlası **Temmuz 2019'da güncellendi**: 6 Adım (Resimlerle)

Video: O-R-A RGB Led Matris Duvar Saati ve Daha Fazlası **Temmuz 2019'da güncellendi**: 6 Adım (Resimlerle)
Video: Dijital Saat 2024, Temmuz
Anonim
Image
Image
O-R-A RGB Led Matrix Duvar Saati ve Daha Fazlası **Tem 2019'da güncellendi**
O-R-A RGB Led Matrix Duvar Saati ve Daha Fazlası **Tem 2019'da güncellendi**
O-R-A RGB Led Matrix Duvar Saati ve Daha Fazlası **Tem 2019'da güncellendi**
O-R-A RGB Led Matrix Duvar Saati ve Daha Fazlası **Tem 2019'da güncellendi**
O-R-A RGB Led Matrix Duvar Saati ve Daha Fazlası **Tem 2019'da güncellendi**
O-R-A RGB Led Matrix Duvar Saati ve Daha Fazlası **Tem 2019'da güncellendi**

Merhaba. O-R-A adında yeni bir projeyle karşınızdayım.

Aşağıdakileri gösteren bir RGB LED Matrix duvar saatidir:

  • saat:dakika
  • sıcaklık
  • nem
  • mevcut hava durumu simgesi
  • Google Takvim etkinlikleri ve 1 saatlik hatırlatma bildirimleri

belirli bir zamanda şunu gösterir:

  • Google Takvim bugün ve yarın etkinlik listesi
  • hava Durumu tahmini
  • flaş Haber

Bağımlılık işlevleri:

  • Geçerli tarih
  • sihirli 8 top
  • Mutfak zamanlayıcısı

Herhangi bir işlevsellik için cihaz farklı bir sesli alarm çalar. Her türlü hava koşulu için, işlev çağrıldığında çalınacak ilgili bir ses dosyası vardır.

Google Takvim listesi, Hava durumu tahmini, RSS son dakika haberleri, cihaz "saat modunda"yken önceden seçilen zamanda başlar, bunlara doğrudan anahtarları çalıştırarak da çağrılabilir. "Saat modu" sırasındaki başka bir işlev, geçerli günü/ayı/yılı gösterir. ENTER düğmesine basılarak çalıştırılabilir. "Saat modunda" 3 saniye içinde DURUM DEĞİŞTİR düğmesine ve ardından ENTER düğmesine basmak, seçenekler menüsüne girmenizi sağlar. DURUMU DEĞİŞTİR düğmesi menü içinde gezinmeye ayarlıdır, ENTER düğmesi ise seçilen seçeneği onaylamak içindir.

Bu proje, önceki LEGOLED ve TEMPO'mun bir evrimidir. RGB led matrix panel artık 32x64 çözünürlüğe sahip olduğundan, aynı anda daha anlaşılır grafikler, sabit ve kayan metinler görüntülemek mümkündür. TEMPO işlevlerini kullanarak cihaz, herhangi bir düğme veya harici zamanlayıcı olmadan otomatik olarak açılır ve kapanır. Bir PIR modülü, kişilerin varlığını algılar ve bu nedenle ekranı açar/kapatır.

Hava durumu tahmini ve takvim verileri, Google Takvim ve Açık Hava Durumu Haritası tarafından sağlanan her dakika toplanır.

Bu proje, bir Raspberry PI B+, 2 modül 16x64 rgb led matris ve güç kaynağından başlayarak tamamen özelleştirilebilir. Benim yaptığım gibi USB ses kartları, hoparlörler, açma/kapama devresi eklenerek genişletilebilir.

Adım 1: İhtiyacınız Olan Şey

  • Raspberry Pi B+ (dahili wifi veya dongle ile)
  • 2 x 16x64 RGB led matris veya 2 x 32x32
  • genel çerçeve (yaklaşık 40x50 cm ve 3 cm derinlik)
  • buzlu plastik levha
  • pencere güneş filmi
  • PS 5V 10A
  • kablolar
  • termoset kılıf (*)
  • röle modülü (*)
  • ses yükseltici için ekstra PS (*)
  • 3W ses yükseltici modülü (*)
  • hoparlörler (*)
  • USB ses kartı (*)
  • 2 x mikro anahtar (*)
  • PIR (*)
  • Attiny85 (*)
  • DS3231 (*)
  • Mosfet IRF540 (*)
  • Dirençler: 3x1K, 2x10K, 1x2K (*)
  • terminal bloğu (*)
  • başlık şeritleri dişi (*)
  • başlık şeritleri erkek (*)

(*) isteğe bağlı

Adım 2: Raspberry Pi Kurulumu

Bu kılavuz temel olarak Hzeller Github kullanıcısı tarafından Raspbian Jessie Lite, Python 2.7 ve RGB LED MATRIX kitaplığına dayanmaktadır.

Öncelikle RPI'yi güncelleyin ve yükseltin

git'i yükle

~ $ sudo apt-get kurulum git

Github'dan RGB LED MATRIX kitaplığını indirin

~ $ git klonu

~ $ cd rpi-rgb-led-matris

~ $ sudo yapmak

kara liste RPI dahili ses kartı

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

kara liste snd_bcm2835

EOF

~ $ sudo güncelleme-initramfs -u

Ses yetenekleri gerekiyorsa harici ses kartı parametrelerini ayarlayın:

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

değiştirmek:

defaults.ctl.card 0

defaults.pcm.card 0

ile

defaults.ctl.card 1

defaults.pcm.card 1

sonra yeniden başlatın.

Şimdi matris kitaplığını kurun

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

~ $ sudo apt-get update && sudo apt-get install python2.7-dev python-pillow -y

~ $ yap-python

~ $ sudo make install-python

ve gerekli diğer kitaplıkları kurun:

~ $ sudo easy_install pip

~ $ sudo pip kurulumu

Samplebase.py betiğini ~/rpi-rgb-led-matrix/bindings/python/samples/ dizininden ana dizine kopyalayın

Hava Durumu Haritasını Açmak için ücretsiz kayıt olan API anahtarını alın

PYthon 2.7 için OWM Python sarmalayıcısını şimdi yükleyin (CSPARPAGithub kullanıcısı sayesinde)

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

Google Calendar API'deki talimatları izleyerek Google Calendar kimlik bilgilerini alın

Ses çalmak için Pygame'i yükleyin

~ $ sudo apt-get install python-pygame

RSS beslemelerinin Feedparser'ın yüklü olması gerekiyor

~ $ sudo pip yükleme ayrıştırıcısı

komut dosyamı ORAeng_131.py (ingilizce sürüm) veya ORAita_131.py (italyanca sürüm) ana dizine kopyala

sesler ve resimler için klasörler oluşturun:

mkdir dbsounds

mkdir owm

Aşağıdaki bağlantıdan tüm-p.webp

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

OWM kimlik bilgilerinizi satır 69'a ekleyin (API_key)

213, 215 satırlarında hava durumu tahmini için şehri ayarlayın (OWM kapsamında olup olmadığını ve doğru adın kabul edilip edilmediğini kontrol edin)

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

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

************************************ GÜNCELLEME 28/7/2019********** ******************

Yeni Google Takvim API'si sorun yaratıyor. Bazı modülleri kaldırmayı çözdüm:

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

~ $ sudo apt-get autoremove python-pyasn1

komut dosyasını çalıştırmayı deneyin

~ $ sudo python ORAeng_150.py # veya italyanca sürümü için ORAita_150.py

ilk seferde komut dosyası GCAL yetkilendirmesini isteyecektir. Google api kimlik bilgisi için bağlantıyı tıklayın. İzin ver o zaman, her şey yolundaysa, saatin başladığını göreceksin.

Birkaç saat sonra aşırı RAM kullanımı nedeniyle, RAM kullanımı bir eşik seviyesini aştığında python betiğini yeniden başlatan bir betik yazdım. Ardından memcheck adlı betiği memcheck.sh olarak yeniden adlandırarak ana dizine kopyalayın ve ana betiği birlikte crontab -e'ye ekleyin

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

3. Adım: Komut Dosyaları

Ana betiğin ihtiyaçlarınıza göre değiştirilmesi gerekiyor. OWM ve Goggle Calendar kimlik bilgilerinin ilgili API talimatları olarak ayarlandığını varsayarsak, en önemli parametreler şunlardır:

her saat başı 2, 32. dakikada gerçekleştirilen takvim etkinlikleri listesi (komut satırı 65'e bakın)

7. ve 37. dakikada her saat başı hava koşulları ve tahmini performans (bkz. komut satırı 66)

her saat 11. dakikada yapılan son dakika haberleri (bkz. komut satırı 67)

son dakika haberleri rss kanalı. Komut dosyasının içinde Eğitilebilir RSS ayarlanır, ancak değiştirilebilir. (komut satırı 366'ya bakın)

Açıkçası, komut dosyası, gelen takvim etkinliğine veya hatırlatma bildirimlerine öncelik verir. Bazen saat, işlevlerin kesişmesini önlemek için özelliklerini gerçekleştirmez.

Attiny85 açma/kapama zamanlayıcısının Tempo_V1_9_1Mhz_bugfix.ino taslağını yükleyerek programlanması gerekiyor.

Bu, sabah 8'de cihazın açılmasına ve 23'te kapanmasına izin verir. Daha fazla bilgi için öğreticiye bakın.

Adım 4: Devre

Devre
Devre
Devre
Devre
Devre
Devre

Devre temelde 3 bölümden oluşmaktadır.

- DS3231 modülü, Attiny85 ve Mosfet tarafından ele alınan güç açma/kapama zamanlayıcısı

- saat özelliklerinin manuel kontrolü için anahtar

- RGB LED Matrix verileri ve gücü, ses yükselticisi ve Raspberry Pi için kablolamanın yapıldığı bağlantı bölümü

RPI'nin Attiny85'ten YÜKSEK/DÜŞÜK 5V sinyali okumasına izin veren dirençli bir voltaj bölücüsünden bahsetmiyorum

Anahtarlar, dahili dirençler kullanılarak doğrudan RPI pinine bir GND'ye bağlanır

Attiny85 zamanlayıcı, TEMPO adlı önceki projemden geliyor. Temel olarak, DS3231, onu uyku modundan uyandıran Attiny85 kesme pinine DÜŞÜK sinyal gönderir. Uyandığında Attiny85, Mosfet transistörüne YÜKSEK sinyal göndererek RPI, LED Matrix ve ses amplifikatörü için güç kaynağı devresini etkinleştirir (son yapılandırmam olarak, bir röle aracılığıyla ekstra PS'ye bağlı değilse).

RPI'yi kapatmak için betiğim, RPI'nin YÜKSEK olduğunda pim 14'teki dijital sinyali dinlediğini düşünüyor ve buna bir kapatma komutu deniyor. Ardından RPI doğru bir kapatma işlemi gerçekleştirir, ardından bir dakika sonra Attiny85 uyku moduna geri döner ve Mosfet tüm cihazı kapatan bir DÜŞÜK sinyali alır. Bu süreç zorlu ama etkilidir.

PIR modülü isteğe bağlıdır ve doğrudan RPI GPIO'ya bağlıdır.

Yapılandırmam, aşağıdaki RPI GPIO pinlerinin aşağıdakilere bağlı olmasını gerektiriyor:

15 için PIR

14 ila Attiny85 pin 3 aracılığıyla voltaj bölücü

21 röle modülü

2 geçiş yapmak için (GİRİŞ DÜĞMESİ)

3 geçiş yapmak için (DURUM DEĞİŞTİR DÜĞMESİ)

Sorunlar:

- LED Matrix güç kaynağından kaynaklanan gürültü, yalnızca ses amplifikatörü için küçük bir PS kullanılarak çözüldü. İsteğe bağlı bir röle, amplifikatörün yalnızca gerektiğinde açılmasına izin verir. Bu, açıldığında/kapatıldığında bir çarpma sesine neden olabilir.

Devre bakır levha, 3D yazıcı, işaretleyici ve demir klorür kullanılarak kazınmıştır.

Adım 5: Montaj

birleştirme
birleştirme
birleştirme
birleştirme
birleştirme
birleştirme
birleştirme
birleştirme

3D baskılı parçalar ve bazı isteğe bağlı ekstralarla birlikte bu projeye genel bir 40x50cm çerçeve uyarladım.

Cam, pencere güneş filmi ve buzlu plastik levha ile korunmaktadır. Led matrisinin beyaz iç ledleri görmemesi için cama yaklaşık 1cm uzaklıkta tutulması gerekir. M3 somun ve cıvata olarak küçük vidalar gereklidir. Zorunlu kablolar ve ısıyla sertleşen kılıftır.

Led matrisler kasanın arka paneline vidalanmıştır.

Adım 6: Ve Şimdi?

Ve şimdi ?
Ve şimdi ?
Ve şimdi ?
Ve şimdi ?

Bir sonraki adım, maksimum Raspberry Pi potansiyeline kadar bir sıcaklık sensörü, bluetooth özelliklerinin aktivasyonu ve neden olmasın, bir internet radyo oynatıcısı eklemek olacaktır.

Hoşçakal

Saatler Yarışması
Saatler Yarışması
Saatler Yarışması
Saatler Yarışması

Saatler Yarışmasında İkincilik

Önerilen: