Table des matières:
- Étape 1: ce dont vous avez besoin
- Étape 2: configuration du Raspberry Pi
- Étape 3: les scripts
- Étape 4: Le circuit
- Étape 5: Assemblage
- Étape 6: Et maintenant ?
Vidéo: Horloge murale matricielle à LED RVB O-R-A et plus ** mise à jour en juillet 2019 ** : 6 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:07
Bonjour. Me voici avec un nouveau projet nommé O-R-A
Il s'agit d'une horloge murale RGB LED Matrix qui affiche:
- heure:minute
- Température
- humidité
- icône des conditions météorologiques actuelles
- Événements Google Agenda et notifications de rappel 1h
à un moment précis, il affiche:
- Liste des événements Google Agenda d'aujourd'hui et de demain
- prévisions météorologiques
- dernières nouvelles
Fonctionnalités annexes:
- date actuelle
- Boule magique 8
- Minuterie de cuisine
Pour toute fonctionnalité, l'appareil joue une alarme audio différente. Pour toutes sortes de conditions météorologiques, il existe un fichier audio correspondant à lire lorsque la fonctionnalité est appelée.
Les fonctionnalités telles que la liste Google Agenda, les prévisions météo, les dernières nouvelles RSS commencent à une heure présélectionnée lorsque l'appareil est en "mode horloge", elles peuvent également être appelées en actionnant directement les commutateurs. Une autre fonctionnalité pendant le "mode horloge" affiche le jour/mois/année en cours. Il peut être exécuté en appuyant sur le bouton ENTER. En appuyant sur le bouton CHANGE STATE puis sur le bouton ENTER dans les 3 secondes en "mode horloge", vous entrez dans le menu des options. Le bouton CHANGE STATE est configuré pour faire défiler le menu, le bouton ENTER pour confirmer l'option sélectionnée.
Ce projet est une évolution de mes précédents LEGOLED et TEMPO. Le panneau matriciel à LED RVB a maintenant une résolution de 32x64, il est donc possible d'afficher des graphiques plus intelligibles, du texte fixe et défilant en même temps. Grâce aux fonctionnalités TEMPO, l'appareil s'allume et s'éteint automatiquement sans bouton ni minuterie externe. Un module PIR détecte la présence de personnes donc allume/éteint l'affichage.
Les prévisions météorologiques et les données du calendrier sont collectées chaque minute fournies par Google Calendar et Open Weather Map.
Ce projet est entièrement personnalisable à partir d'un Raspberry PI B+, d'une matrice de 2 modules 16x64 rgb led et d'une alimentation. Il peut être étendu, comme je l'ai fait, en ajoutant des cartes son USB, des haut-parleurs, un circuit d'alimentation marche/arrêt.
Étape 1: ce dont vous avez besoin
- Raspberry Pi B+ (avec wifi ou dongle intégré)
- 2 x matrice led 16x64 RGB ou 2 x 32x32
- cadre générique (40x50 cm & 3 cm de profondeur environ)
- feuille de plastique givrée
- film solaire pour fenêtre
- PS 5V 10A
- câbles
- gaine thermodurcissable (*)
- module relais (*)
- PS supplémentaire pour amplificateur audio (*)
- Module amplificateur audio 3W (*)
- haut-parleurs (*)
- Carte son USB (*)
- 2 x micro-interrupteur (*)
- PIR (*)
- Attiny85 (*)
- DS3231 (*)
- Mosfet IRF540 (*)
- Résistances: 3x1K, 2x10K, 1x2K (*)
- bornier (*)
- barrettes femelles (*)
- barrettes mâles (*)
(*) optionnel
Étape 2: configuration du Raspberry Pi
Ce guide est essentiellement basé sur la bibliothèque Raspbian Jessie Lite, Python 2.7 et RGB LED MATRIX de l'utilisateur Hzeller Github.
Tout d'abord mettre à jour et mettre à niveau le RPI
Installer git
~ $ sudo apt-get install git
Télécharger la bibliothèque RGB LED MATRIX depuis Github
~ $ git clone
~ $ cd rpi-rgb-led-matrix
~ $ sudo faire
liste noire RPI carte son interne
~ $ chat <<EOF | sudo tee /etc/modprobe.d/blacklist-rgb-matrix.conf
liste noire snd_bcm2835
EOF
~ $ sudo update-initramfs -u
Définissez les paramètres de la carte son externe si vous avez besoin de capacités audio:
~ $ sudo nano /usr/share/alsa/alsa.conf
monnaie:
defaults.ctl.card 0
defaults.pcm.card 0
à
defaults.ctl.card 1
defaults.pcm.card 1
puis redémarrez.
Installez maintenant la bibliothèque de matrices
~ $ cd /home/pi/rpi-rgb-led-matrix
~ $ sudo apt-get update && sudo apt-get install python2.7-dev python-pillow -y
~ $ make build-python
~ $ sudo make install-python
et installez les autres bibliothèques nécessaires:
~ $ sudo easy_install pip
~ $ sudo pip installer
Copiez le script samplebase.py de ~/rpi-rgb-led-matrix/bindings/python/samples/ dans le répertoire de base
Obtenez la clé API en vous inscrivant gratuitement à Open Weather Map
Installez maintenant OWM Python wrapper pour PYthon 2.7 (merci à l'utilisateur CSPARPAGithub)
~ $ sudo pip install git+https://github.com/csarpa/[email protected]
Obtenez les informations d'identification de Google Calendar en suivant les instructions de l'API Google Calendar
Pour la lecture audio, installez Pygame
~ $ sudo apt-get install python-pygame
Les flux RSS nécessitent l'installation de Feedparser
~ $ sudo pip install feedparser
copier mon script ORAeng_131.py (version anglaise) ou ORAita_131.py (version italienne) dans le répertoire personnel
créer des dossiers pour les sons et les images:
mkdir dbsounds
mkdir owm
téléchargez et copiez tous les fichiers-p.webp
www.dropbox.com/sh/nemyfcj1a1i18ic/AAB1W7I6lg5EgqL1gJZPWVTxa?dl=0
ajoutez vos informations d'identification OWM à la ligne 69 (API_key)
définissez la ville pour les prévisions météorologiques (vérifiez si elle est couverte par OWM et le nom correct est accepté) aux lignes 213, 215
obs =owm.weather_at_place('Napoli, IT')
fc = owm.three_hours_forecast('Napoli, IT')
*************************************MISE À JOUR 28/7/2019********** ******************
La nouvelle API Google Calendar crée des problèmes. J'ai résolu de supprimer certains modules:
~ $ sudo apt-get remove --purge python-setuptools
~ $ sudo apt-get suppression automatique python-pyasn1
essayez le script en cours d'exécution
~ $ sudo python ORAeng_150.py # ou ORAita_150.py pour la version italienne
au début, le script demandera l'autorisation GCAL. Cliquez sur le lien vers les informations d'identification de l'API google. Donnez la permission alors, si tout va bien, vous verrez l'horloge démarrer.
en raison d'une utilisation excessive de la RAM après plusieurs heures, j'ai écrit un script qui redémarre simplement le script python lorsque l'utilisation de la RAM dépasse un seuil. Copiez ensuite dans le répertoire personnel le script nommé memcheck en le renommant en memcheck.sh et ajoutez-le à crontab -e ensemble le script principal
*/5 * * * * bash /home/pi/memcheck.sh@reboot sudo python /home/pi/ORAeng_150.py
Étape 3: les scripts
Le script principal doit être modifié en fonction de vos besoins. En supposant que les informations d'identification OWM et Goggle Calendar sont définies comme leurs instructions API respectives, les paramètres les plus importants sont:
liste des événements du calendrier s'exécutant toutes les heures à la minute 2, 32 (voir la ligne de script 65)
conditions météorologiques et prévisions toutes les heures à la minute 7, 37 (voir la ligne de script 66)
les dernières nouvelles se produisant toutes les heures à la minute 11 (voir la ligne de script 67)
dernière chaîne d'informations rss. Le script intérieur est défini RSS Instructable, mais peut être modifié. (voir la ligne de script 366)
Évidemment, le script donne la priorité aux événements de calendrier entrants ou aux notifications de rappel. Parfois, l'horloge ne remplit pas ses fonctions pour éviter le croisement des fonctionnalités.
La minuterie marche/arrêt Attiny85 doit être programmée pour télécharger le croquis Tempo_V1_9_1Mhz_bugfix.ino.
Cela permet d'allumer l'appareil à 8 heures du matin et de l'éteindre à 23 heures. Voir le tutoriel pour plus d'informations.
Étape 4: Le circuit
Le circuit a essentiellement 3 sections
- minuterie de mise sous/hors tension gérée par le module DS3231, Attiny85 et Mosfet
- interrupteur pour le contrôle manuel des fonctions de l'horloge
- section de connexion où se trouve le câblage pour les données et l'alimentation de la matrice LED RVB, l'amplificateur audio et le Raspberry Pi
Non mentionné un diviseur de tension résistif qui permet à RPI de lire un signal HIGH/LOW 5V d'Attiny85
Les commutateurs sont connectés à la broche RPI et au GND directement à l'aide de résistances internes
La minuterie Attiny85 provient de mon précédent projet nommé TEMPO. Fondamentalement, DS3231 envoie un signal FAIBLE à la broche d'interruption Attiny85 qui le réveille du mode veille. Au réveil, Attiny85 envoie un signal HAUT au transistor Mosfet, activant le circuit d'alimentation pour le RPI, la matrice LED et l'amplificateur audio (s'il n'est pas connecté à un PS supplémentaire via un relais, comme ma dernière configuration).
Pour arrêter RPI, mon script envisage que RPI écoute le signal numérique sur la broche 14, lorsqu'il est HAUT, s'appelle une commande d'arrêt. Ensuite, RPI effectue un processus d'arrêt correct, puis après une minute, Attiny85 repasse en mode veille et Mosfet reçoit un signal LOW qui éteint l'ensemble de l'appareil. Ce processus est rude mais efficace.
Le module PIR est optionnel et connecté directement au RPI GPIO.
Ma configuration nécessite que les broches RPI GPIO suivantes soient connectées à:
15 au PIR
14 à Attiny85 broche 3 via diviseur de tension
21 au module relais
2 pour changer (BOUTON ENTER)
3 pour changer (BOUTON DE CHANGEMENT D'ÉTAT)
Problèmes:
- bruit dû à l'alimentation LED Matrix, résolu en utilisant un petit PS uniquement pour l'amplificateur audio. Un relais en option permet d'allumer l'amplificateur uniquement lorsque cela est nécessaire. Cela peut provoquer un bruit de choc lorsqu'il s'allume/s'éteint.
Le circuit a été gravé à l'aide d'une plaque de cuivre, d'une imprimante 3D, d'un marqueur et de chlorure ferrique.
Étape 5: Assemblage
J'ai adapté un cadre générique 40x50cm à ce projet avec des pièces imprimées en 3D et quelques extras optionnels.
Le verre est protégé par un film solaire pour fenêtre et une feuille de plastique dépoli. La matrice de LED doit être maintenue à environ 1 cm du verre pour éviter de voir les LED blanches à l'intérieur. De petites vis sont nécessaires comme écrous et boulons M3. Les câbles et la gaine thermodurcissable sont obligatoires.
Des matrices de led sont vissées sur le panneau arrière du cadre.
Étape 6: Et maintenant ?
La prochaine étape sera d'ajouter un capteur de température, l'activation des capacités bluetooth et, pourquoi pas, un lecteur radio internet jusqu'au potentiel maximal du Raspberry Pi.
Au revoir
Finaliste du concours d'horloges
Conseillé:
Ventilateur ESP8266 POV avec horloge et mise à jour du texte de la page Web : 8 étapes (avec images)
Ventilateur POV ESP8266 avec horloge et mise à jour du texte de la page Web : il s'agit d'un ventilateur POV (Persistance de la vision) à vitesse variable qui affiche l'heure par intermittence et deux messages texte pouvant être mis à jour "à la volée". Le ventilateur POV est également un serveur Web à page unique qui vous permet de modifier les deux textes moi
Système Ambilight pour chaque entrée connectée à votre téléviseur. WS2812B Arduino UNO Raspberry Pi HDMI (Mise à jour 12.2019): 12 étapes (avec photos)
Système Ambilight pour chaque entrée connectée à votre téléviseur. WS2812B Arduino UNO Raspberry Pi HDMI (Mise à jour 12.2019) : J'ai toujours voulu ajouter de l'ambilight à mon téléviseur. Ça a l'air tellement cool ! Je l'ai finalement fait et je n'ai pas été déçu ! J'ai vu de nombreuses vidéos et de nombreux tutoriels sur la création d'un système Ambilight pour votre téléviseur mais je n'ai jamais trouvé de tutoriel complet pour mon besoin exact
Trieur de cartes pour une machine à cartes à collectionner (Mise à jour 2019-01-10): 12 étapes (avec photos)
Trieur de cartes pour une machine à cartes à collectionner (Mise à jour 2019-01-10) : Trieur de cartes pour une machine à cartes à collectionnerLe journal des modifications se trouve à la dernière étape.Le contexteJ'ai déjà expliqué la motivation de mon projet dans l'article Card Feeder. Mais bref, mes enfants et moi avons amassé une grande quantité de Trading Card
HORLOGE MURALE RVB ANIMÉE : 10 étapes (avec photos)
HORLOGE MURALE RVB ANIMÉE : Il ne fait aucun doute que vous allez adorer cette horloge murale. Dans ce projet, nous avons à nouveau utilisé des LED RVB. Et bien sûr, l'imprimante 3D est très importante pour nous. Nous avons conçu et produit à nouveau certaines des pièces nécessaires à notre HORLOGE MURALE. Et ce n'est pas qu'une horloge. Ce
Support de pince pour classeur IPhone / IPod Touch avec fourniture de câble MISE À JOUR : 5 étapes (avec photos)
Support à pince pour classeur IPhone / IPod Touch avec fourniture de câble MISE À JOUR : Inspiré par d'autres (merci les gars, vous savez qui vous êtes), j'ai décidé de créer un support pour mon iPod Touch 3G (qui n'est pas fourni avec un support) à l'aide de cette agrafe stationnaire …….. des pinces à reliure. Bien que certains designs intelligents aient été montrés