Spisu treści:
- Krok 1: Czego potrzebujesz
- Krok 2: Konfiguracja Raspberry Pi
- Krok 3: Skrypty
- Krok 4: Obwód
- Krok 5: Montaż
- Krok 6: A teraz?
Wideo: Zegar ścienny O-R-A RGB Led Matrix i więcej **aktualizacja: lipiec 2019**: 6 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:29
Dzień dobry. Oto jestem z nowym projektem o nazwie O-R-A
Jest to zegar ścienny RGB LED Matrix, który wyświetla:
- godzina:minuta
- temperatura
- wilgotność
- ikona aktualnych warunków pogodowych
- Wydarzenia z Kalendarza Google i przypomnienia o godzinie 1h
w określonym czasie pokazuje:
- Lista dzisiejszych i jutrzejszych wydarzeń w Kalendarzu Google
- Prognoza pogody
- z ostatniej chwili
Dodatkowe funkcjonalności:
- bieżąca data
- Magiczna kula 8
- Minutnik
Dla dowolnej funkcjonalności urządzenie odtwarza inny alarm dźwiękowy. Dla wszystkich warunków pogodowych po wywołaniu funkcji jest odpowiedni plik audio do odtworzenia.
Funkcjonalności takie jak lista kalendarza Google, prognoza pogody, aktualności RSS uruchamiają się o określonej godzinie, gdy urządzenie jest w „trybie zegara”, można je również nazwać bezpośrednim sterowaniem przełącznikami. Kolejna funkcjonalność w trybie „zegara” wyświetla aktualny dzień/miesiąc/rok. Można go uruchomić naciskając przycisk ENTER. Naciśnięcie przycisku CHANGE STATE, a następnie przycisku ENTER w ciągu 3 sekund w "trybie zegara", pozwala wejść do menu opcji. Przycisk CHANGE STATE służy do przewijania menu, przycisk ENTER do potwierdzania wybranej opcji.
Ten projekt jest ewolucją moich poprzednich LEGOLED i TEMPO. Matryca LED RGB ma teraz rozdzielczość 32x64, dzięki czemu możliwe jest wyświetlanie bardziej czytelnej grafiki, stałego i przewijanego tekstu jednocześnie. Korzystając z funkcji TEMPO urządzenie włącza się i wyłącza automatycznie bez żadnego przycisku lub zewnętrznego timera. Moduł PIR wykrywa obecność osób, dlatego włącza/wyłącza wyświetlacz.
Prognoza pogody i dane z kalendarza są gromadzone co minutę przez Kalendarz Google i Open Weather Map.
Ten projekt jest w pełni konfigurowalny, począwszy od Raspberry PI B+, 2-modułowej matrycy led 16x64 rgb i zasilacza. Można go rozbudować, tak jak ja, dodając karty dźwiękowe USB, głośniki, obwód włączania/wyłączania zasilania.
Krok 1: Czego potrzebujesz
- Raspberry Pi B+ (z wbudowanym WiFi lub kluczem sprzętowym)
- Matryca LED 2 x 16x64 RGB lub 2 x 32x32
- ogólna rama (około 40x50 cm i 3 cm głębokości)
- matowy arkusz z tworzywa sztucznego
- folia słoneczna do okien
- PS 5V 10A
- kable
- osłona termoutwardzalna (*)
- moduł przekaźnikowy (*)
- dodatkowy PS do wzmacniacza audio (*)
- Moduł wzmacniacza audio 3W (*)
- głośniki (*)
- Karta dźwiękowa USB (*)
- 2 x mikroprzełącznik (*)
- PIR (*)
- Attiny85 (*)
- DS3231 (*)
- Mosfet IRF540 (*)
- Rezystory: 3x1K, 2x10K, 1x2K (*)
- listwa zaciskowa (*)
- listwy nagłówka żeńskie (*)
- listwy nagłówka męskie (*)
(*) opcjonalny
Krok 2: Konfiguracja Raspberry Pi
Ten przewodnik jest zasadniczo oparty na bibliotece Raspbian Jessie Lite, Python 2.7 i RGB LED MATRIX autorstwa użytkownika Hzeller Github.
Przede wszystkim aktualizacja i aktualizacja RPI
Zainstaluj git
~ $ sudo apt-get install git
Pobierz bibliotekę RGB LED MATRIX z Github
~ $ klon git
~ $ cd rpi-rgb-led-macierz
~ $ sudo make
czarna lista wewnętrzna karta dźwiękowa RPI
~ $ kot <<EOF | koszulka sudo /etc/modprobe.d/blacklist-rgb-matrix.conf
czarna lista snd_bcm2835
EOF
~ $ sudo update-initramfs -u
Ustaw parametry zewnętrznej karty dźwiękowej, jeśli potrzebujesz możliwości audio:
~ $ sudo nano /usr/share/alsa/alsa.conf
reszta:
defaults.ctl.card 0
domyślna.karta.pcm 0
do
defaults.ctl.card 1
domyślna.karta.pcm 1
następnie uruchom ponownie.
Teraz zainstaluj bibliotekę macierzy
~ $ cd /home/pi/rpi-rgb-led-matryca
~ $ sudo apt-get update && sudo apt-get install python2.7-dev python-pillow -y
~ $ make build-python
~ $ sudo make install-python
i zainstaluj inne potrzebne biblioteki:
~ $ sudo easy_install pip
~ $ sudo pip zainstaluj
Skopiuj skrypt samplebase.py z ~/rpi-rgb-led-matrix/bindings/python/samples/ do katalogu domowego
Uzyskaj klucz API, rejestrując się za darmo, aby otworzyć mapę pogody
Zainstaluj teraz wrapper OWM Python dla PYthon 2.7 (dzięki użytkownikowi CSPARPAGithub)
~ $ sudo pip zainstaluj git+https://github.com/csarpa/[email protected]
Uzyskaj dane logowania do Kalendarza Google, postępując zgodnie z instrukcjami w interfejsie API kalendarza Google
Aby odtwarzać dźwięk, zainstaluj Pygame
~ $ sudo apt-get install python-pygame
Kanały RSS wymagają zainstalowanego Feedparsera
~ $ sudo pip zainstaluj feedparser
skopiuj mój skrypt ORAeng_131.py (wersja angielska) lub ORAita_131.py (wersja włoska) do katalogu domowego
utwórz foldery na dźwięki i obrazy:
mkdir dbsounds
mkdir owm
pobierz i skopiuj wszystkie pliki-p.webp
www.dropbox.com/sh/nemyfcj1a1i18ic/AAB1W7I6lg5EgqL1gJZPWVTxa?dl=0
dodaj swoje poświadczenia OWM do wiersza 69 (klucz_API)
ustaw miasto do prognozy pogody (sprawdź, czy jest objęte OWM i poprawna nazwa zaakceptowana) w liniach 213, 215
obs =owm.weather_at_place('Napoli, IT')
fc = owm.three_hours_forecast('Napoli, IT')
**********************************AKTUALIZACJA 28.07.2019********** ******************
Nowy interfejs API Kalendarza Google stwarza problemy. Rozwiązałem usuwanie niektórych modułów:
~ $ sudo apt-get remove --purge python-setuptools
~ $ sudo apt-get autoremove python-pyasn1
spróbuj uruchomić skrypt
~ $ sudo python ORAeng_150.py # lub ORAita_150.py dla wersji włoskiej
za pierwszym razem skrypt poprosi o autoryzację GCAL. Kliknij link do danych logowania Google API. Daj więc pozwolenie, jeśli wszystko jest w porządku, zobaczysz, że zegar się zaczyna.
z powodu nadmiernego zużycia pamięci RAM po kilku godzinach napisałem skrypt, który po prostu restartuje skrypt Pythona, gdy użycie pamięci RAM przekroczy poziom progowy. Następnie skopiuj do katalogu domowego skrypt o nazwie memcheck zmieniający nazwę na memcheck.sh i dodaj do crontab -e razem główny skrypt
*/5 * * * * bash /home/pi/memcheck.sh@reboot sudo python /home/pi/ORAeng_150.py
Krok 3: Skrypty
Główny skrypt musi zostać zmodyfikowany zgodnie z Twoimi potrzebami. Zakładając, że poświadczenia OWM i Goggle Calendar są ustawione jako odpowiednie instrukcje API, najważniejszymi parametrami są:
lista wydarzeń kalendarza występujących co godzinę w minucie 2, 32 (patrz wiersz skryptu 65)
warunki pogodowe i prognoza wykonywane co godzinę w minucie 7, 37 (patrz wiersz skryptu 66)
najświeższe wiadomości pojawiające się co godzinę w minucie 11 (patrz wiersz skryptu 67)
najświeższe wiadomości na kanale rss. Skrypt wewnętrzny jest ustawiony jako Instructable RSS, ale można go zmienić. (patrz wiersz skryptu 366)
Oczywiście w skrypcie pierwszeństwo mają zdarzenia kalendarza przychodzącego lub powiadomienia przypominające. Czasami zegar nie wykonuje swoich funkcji, aby uniknąć przekraczania funkcjonalności.
Należy zaprogramować zegar włączania/wyłączania Attiny85 wgrywając szkic Tempo_V1_9_1Mhz_bugfix.ino.
Pozwala to na włączenie urządzenia o 8 rano i wyłączenie o 23. Więcej informacji znajdziesz w tutorialu.
Krok 4: Obwód
Obwód ma w zasadzie 3 sekcje
- wyłącznik czasowy obsługiwany przez moduł DS3231, Attiny85 i Mosfet
- przełącznik ręcznego sterowania funkcjami zegara
- sekcja połączeniowa, w której znajduje się okablowanie dla danych i zasilania RGB LED Matrix, wzmacniacza audio i Raspberry Pi
Nie wspomniano o rezystancyjnym dzielniku napięcia, który pozwala RPI na odczyt sygnału HIGH/LOW 5V z Attiny85
Przełączniki są podłączone do pinu RPI i GND bezpośrednio za pomocą wewnętrznych rezystorów
Zegar Attiny85 pochodzi z mojego poprzedniego projektu o nazwie TEMPO. Zasadniczo DS3231 wysyła sygnał LOW do pinu przerwania Attiny85, który wybudza go z trybu uśpienia. Po wybudzeniu Attiny85 wysyła sygnał HIGH do tranzystora Mosfet, aktywując obwód zasilania RPI, matrycy LED i wzmacniacza audio (jeśli nie jest podłączony do dodatkowego zasilacza przez przekaźnik, jak moja ostatnia konfiguracja).
Aby wyłączyć RPI, mój skrypt zakłada, że RPI nasłuchuje sygnału cyfrowego na styku 14, gdy jest WYSOKI, nazywa się poleceniem zamknięcia. Następnie RPI wykonuje poprawny proces wyłączania, po czym po minucie Attiny85 wraca do trybu uśpienia, a Mosfet otrzymuje sygnał LOW, który wyłącza całe urządzenie. Ten proces jest trudny, ale skuteczny.
Moduł PIR jest opcjonalny i podłączany bezpośrednio do RPI GPIO.
Moja konfiguracja wymaga podłączenia następujących pinów RPI GPIO do:
15 do PIR
14 do Attiny85 pin 3 przez dzielnik napięcia
21 do modułu przekaźnikowego
2, aby przełączyć (przycisk ENTER)
3, aby przełączyć (PRZYCISK ZMIANY STANU)
Zagadnienia:
- szumy spowodowane zasilaniem matrycy LED, rozwiązane za pomocą małego PS tylko dla wzmacniacza audio. Opcjonalny przekaźnik pozwala na włączenie wzmacniacza tylko wtedy, gdy jest to wymagane. Może to powodować odgłos uderzenia podczas włączania/wyłączania.
Obwód został wytrawiony za pomocą miedzianej płytki, drukarki 3D, markera i chlorku żelazowego.
Krok 5: Montaż
Do tego projektu zaadaptowałem standardową ramę 40x50cm razem z częściami wydrukowanymi w 3D i kilkoma opcjonalnymi dodatkami.
Szyba jest osłonięta przez okienną folię słoneczną i matową folię z tworzywa sztucznego. Matryca LED musi być trzymana około 1 cm do szkła, aby uniknąć zobaczenia białych diod wewnątrz diod. Niezbędne są małe śruby jako nakrętki i śruby M3. Obowiązkowe są kable i osłona termoutwardzalna.
Matryce led przykręcane są na tylnym panelu ramy.
Krok 6: A teraz?
Następnym krokiem będzie dodanie czujnika temperatury, aktywacja funkcji bluetooth i, dlaczego nie, radia internetowego do maksymalnego potencjału Raspberry Pi.
Do widzenia
Drugie miejsce w konkursie Zegary
Zalecana:
DIY Eksplodujący zegar ścienny z oświetleniem ruchomym: 20 kroków (ze zdjęciami)
DIY Eksplodujący zegar ścienny z oświetleniem ruchomym: W tym instruktażowym / wideo pokażę Ci krok po kroku, jak zrobić kreatywny i niepowtarzalnie wyglądający zegar ścienny ze zintegrowanym systemem oświetlenia ruchu. Ten dość wyjątkowy pomysł na projekt zegara jest zorientowany, aby zegar był bardziej interaktywny . Kiedy chodzę
Ambientowy zegar ścienny LED: 11 kroków (ze zdjęciami)
Zegar ścienny LED Ambient: Ostatnio widziałem wielu ludzi budujących ogromne matryce LED, które wyglądają absolutnie pięknie, ale składają się albo ze skomplikowanego kodu, albo z drogich części, albo z obu tych elementów. Pomyślałem więc o zbudowaniu własnej matrycy LED składającej się z bardzo tanich części i bardzo
Łatwa konfiguracja pilota na podczerwień za pomocą LIRC dla Raspberry PI (RPi) - lipiec 2019 [Część 1]: 7 kroków
Łatwa konfiguracja pilota na podczerwień za pomocą LIRC dla Raspberry PI (RPi) - lipiec 2019 r. [Część 1]: Po długich poszukiwaniach byłem zaskoczony i przerażony sprzecznymi informacjami na temat konfiguracji pilota na podczerwień dla mojego projektu RPi. Myślałem, że będzie to łatwe, ale konfiguracja Linux InfraRed Control (LIRC) była problematyczna od dłuższego czasu, ale
Łatwa konfiguracja pilota na podczerwień za pomocą LIRC dla Raspberry PI (RPi) - lipiec 2019 [Część 2]: 3 kroki
Łatwa konfiguracja pilota na podczerwień za pomocą LIRC dla Raspberry PI (RPi) - lipiec 2019 [Część 2]: W części 1 pokazałem, jak zmontować RPi + VS1838b i skonfigurować moduł LIRC Raspbian do odbierania poleceń IR z pilota na podczerwień. Wszystkie kwestie związane ze sprzętem i konfiguracją LIRC zostały omówione w części 1. Część 2 pokaże, jak skomunikować się ze sprzętem
ANIMOWANY ZEGAR ŚCIENNY RGB: 10 kroków (ze zdjęciami)
ANIMOWANY ZEGAR ŚCIENNY RGB: Nie ma wątpliwości, że pokochasz ten zegar ścienny. W tym projekcie ponownie wykorzystaliśmy LED RGB. I oczywiście drukarka 3d jest dla nas bardzo ważna. Ponownie zaprojektowaliśmy i wyprodukowaliśmy niektóre elementy potrzebne do naszego ZEGARA ŚCIENNEGO. I to nie tylko zegar. Ono