Índice:

Relógio de parede de matriz LED O-R-A RGB e muito mais ** atualizado em julho de 2019 **: 6 etapas (com fotos)
Relógio de parede de matriz LED O-R-A RGB e muito mais ** atualizado em julho de 2019 **: 6 etapas (com fotos)

Vídeo: Relógio de parede de matriz LED O-R-A RGB e muito mais ** atualizado em julho de 2019 **: 6 etapas (com fotos)

Vídeo: Relógio de parede de matriz LED O-R-A RGB e muito mais ** atualizado em julho de 2019 **: 6 etapas (com fotos)
Vídeo: Não importa a profissão e sim o sentimento GARI COM UMA POLÍCIAL ❤️ 2024, Dezembro
Anonim
Image
Image
Relógio de parede de matriz LED O-R-A RGB e muito mais ** atualizado em julho de 2019 **
Relógio de parede de matriz LED O-R-A RGB e muito mais ** atualizado em julho de 2019 **
Relógio de parede de matriz LED O-R-A RGB e muito mais ** atualizado em julho de 2019 **
Relógio de parede de matriz LED O-R-A RGB e muito mais ** atualizado em julho de 2019 **
Relógio de parede de matriz LED O-R-A RGB e muito mais ** atualizado em julho de 2019 **
Relógio de parede de matriz LED O-R-A RGB e muito mais ** atualizado em julho de 2019 **

Olá. Aqui estou eu com um novo projeto chamado O-R-A

É um relógio de parede RGB LED Matrix que exibe:

  • hora: minuto
  • temperatura
  • umidade
  • ícone de condição climática atual
  • Eventos do Google Agenda e notificações de lembrete de 1h

em um momento específico mostra:

  • Lista de eventos do Google Agenda hoje e amanhã
  • previsão do tempo
  • últimas notícias

Funcionalidades adicionais:

  • data atual
  • Bola 8 mágica
  • Cronômetro de cozinha

Para qualquer funcionalidade, o dispositivo reproduz um alarme de áudio diferente. Para todos os tipos de condições climáticas, há um arquivo de áudio correspondente a ser reproduzido quando a funcionalidade é chamada.

As funcionalidades como lista do Google Calendar, previsão do tempo, notícias de última hora RSS começam no horário pré-selecionado quando o dispositivo está no "modo relógio", também podem ser chamadas operando diretamente os interruptores. Outra funcionalidade durante o "modo relógio" exibe o dia / mês / ano atual. Pode ser executado pressionando o botão ENTER. Pressionar o botão CHANGE STATE e, em seguida, o botão ENTER dentro de 3 segundos no "modo relógio", permite que você entre no menu de opções. O botão ALTERAR ESTADO é definido para rolar dentro do menu, o botão ENTER é para confirmar a opção selecionada.

Este projeto é uma evolução do meu anterior LEGOLED e TEMPO. O painel de matriz de led RGB agora tem resolução de 32x64, portanto é possível exibir gráficos mais inteligíveis, fixos e texto de rolagem ao mesmo tempo. Usando as funcionalidades TEMPO, o dispositivo liga e desliga automaticamente sem qualquer botão ou temporizador externo. Um módulo PIR detecta a presença de pessoas, portanto, liga / desliga a tela.

A previsão do tempo e os dados do calendário são coletados a cada minuto fornecidos pelo Google Calendar e Open Weather Map.

Este projeto é totalmente personalizável a partir de um Raspberry PI B +, matriz de LEDs de 2 módulos 16x64 rgb e fonte de alimentação. Ele pode ser expandido, como eu fiz, adicionando placas de som USB, alto-falantes, circuito de alimentação liga / desliga.

Etapa 1: O que você precisa

  • Raspberry Pi B + (com wi-fi ou dongle integrado)
  • Matriz led 2 x 16x64 RGB ou 2 x 32x32
  • quadro genérico (40x50 cm e profundidade de 3 cm aproximadamente)
  • folha de plástico fosco
  • filme solar de janela
  • PS 5V 10A
  • cabos
  • bainha termoendurecível (*)
  • módulo de relé (*)
  • PS extra para amplificador de áudio (*)
  • Módulo amplificador de áudio 3W (*)
  • caixas de som (*)
  • Placa de som USB (*)
  • 2 x microinterruptor (*)
  • PIR (*)
  • Attiny85 (*)
  • DS3231 (*)
  • Mosfet IRF540 (*)
  • Resistores: 3x1K, 2x10K, 1x2K (*)
  • bloco terminal (*)
  • tiras de cabeçalho fêmea (*)
  • tiras de cabeçalho macho (*)

(*) opcional

Etapa 2: configuração do Raspberry Pi

Este guia é basicamente baseado na biblioteca Raspbian Jessie Lite, Python 2.7 e RGB LED MATRIX do usuário Hzeller Github.

Em primeiro lugar, atualizar e atualizar RPI

Instale o git

~ $ sudo apt-get install git

Baixe a biblioteca RGB LED MATRIX do Github

~ $ git clone

~ $ cd rpi-rgb-led-matrix

~ $ sudo make

placa de som interna RPI da lista negra

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

lista negra snd_bcm2835

EOF

~ $ sudo update-initramfs -u

Defina os parâmetros da placa de som externa se precisar de recursos de áudio:

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

mudança:

defaults.ctl.card 0

defaults.pcm.card 0

para

defaults.ctl.card 1

defaults.pcm.card 1

em seguida, reinicie.

Agora instale a biblioteca de matriz

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

e instale outras bibliotecas necessárias:

~ $ sudo easy_install pip

~ $ sudo pip install

Copie o script samplebase.py de ~ / rpi-rgb-led-matrix / bindings / python / samples / para o diretório inicial

Obtenha a chave de API registrando-se gratuitamente para abrir o mapa meteorológico

Instale agora o wrapper OWM Python para PYthon 2.7 (graças ao usuário CSPARPAGithub)

~ $ sudo pip install git +

Obtenha a credencial do Google Agenda seguindo as instruções na API do Google Agenda

Para reprodução de áudio, instale o Pygame

~ $ sudo apt-get install python-pygame

Os feeds RSS precisam do Feedparser instalado

~ $ sudo pip install feedparser

copie meu script ORAeng_131.py (versão em inglês) ou ORAita_131.py (versão em italiano) para o diretório inicial

crie pastas para sons e imagens:

mkdir dbsounds

mkdir owm

baixe e copie todos os arquivos-p.webp

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

adicione sua credencial OWM à linha 69 (API_key)

defina a cidade para a previsão do tempo (verifique se ela é coberta pelo OWM e o nome correto é aceito) nas linhas 213, 215

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

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

*********************************** ATUALIZAÇÃO 28/7/2019 ********** ******************

A nova API do Google Agenda cria problemas. Resolvi remover alguns módulos:

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

~ $ sudo apt-get autoremove python-pyasn1

tente o script rodando

~ $ sudo python ORAeng_150.py # ou ORAita_150.py para a versão italiana

na primeira vez, o script pedirá autorização GCAL. Clique no link para a credencial da API do Google. Dê permissão então, se tudo estiver ok, você verá que o relógio começa.

devido ao uso excessivo de RAM após várias horas, escrevi um script que simplesmente reinicia o script python quando o uso de RAM ultrapassa um nível limite. Em seguida, copie para o diretório inicial o script denominado memcheck renomeando para memcheck.sh e adicione ao crontab -e o script principal.

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

Etapa 3: os scripts

O script principal precisa ser modificado de acordo com suas necessidades. Supondo que as credenciais do OWM e do Goggle Calendar sejam definidas como suas respectivas instruções de API, os parâmetros mais importantes são:

lista de eventos do calendário em execução a cada hora no minuto 2, 32 (consulte a linha 65 do script)

condições meteorológicas e previsão de execução a cada hora no minuto 7, 37 (consulte a linha 66 do script)

notícias de última hora a cada hora no minuto 11 (consulte a linha 67 do script)

canal de rss de notícias de última hora. O script interno é definido como RSS instrutível, mas pode ser alterado. (consulte a linha 366 do script)

Obviamente, o script dá prioridade a eventos de calendário de entrada ou notificações de lembrete. Às vezes, o relógio não executa seus recursos para evitar o cruzamento de funcionalidades.

O temporizador de ligar / desligar Attiny85 precisa ser programado carregando o esboço Tempo_V1_9_1Mhz_bugfix.ino.

Isso permite ligar o dispositivo às 8 da manhã e desligá-lo às 23. Veja o tutorial para mais informações.

Etapa 4: O circuito

O circuito
O circuito
O circuito
O circuito
O circuito
O circuito

O circuito tem basicamente 3 seções

- temporizador de ligar / desligar controlado pelo módulo DS3231, Attiny85 e Mosfet

- interruptor para controle manual dos recursos do relógio

- seção de conexão onde está o cabeamento para dados e alimentação RGB LED Matrix, amplificador de áudio e Raspberry Pi

Não mencionado um divisor de tensão resistivo que permite RPI ler um sinal HIGH / LOW 5V de Attiny85

As chaves são conectadas ao pino RPI e GND diretamente usando resistores internos

O temporizador Attiny85 vem do meu projeto anterior chamado TEMPO. Basicamente, o DS3231 envia sinal LOW para o pino de interrupção Attiny85 que o tira do modo de hibernação. Ao acordar o Attiny85 envia sinal HIGH para o transistor Mosfet, ativando o circuito de alimentação para RPI, LED Matrix e amplificador de áudio (se não estiver conectado ao PS extra através de um relé, como minha última configuração).

Para desligar o RPI, meu script contempla que o RPI escuta o sinal digital no pino 14, quando está HIGH, é chamado de comando de desligamento. Em seguida, o RPI executa um processo de desligamento correto e, após um minuto, o Attiny85 volta ao modo de hibernação e o Mosfet recebe um sinal LOW que desliga todo o dispositivo. Este processo é difícil, mas eficaz.

O módulo PIR é opcional e conectado diretamente ao RPI GPIO.

Minha configuração requer que os seguintes pinos RPI GPIO sejam conectados a:

15 para PIR

14 para Attiny85 pino 3 através do divisor de tensão

21 para o módulo de relé

2 para mudar (botão ENTER)

3 para mudar (BOTÃO DE ALTERAÇÃO DE ESTADO)

Problemas:

- ruído devido à fonte de alimentação LED Matrix, resolvido usando um pequeno PS apenas para o amplificador de áudio. Um relé opcional permite ligar o amplificador apenas quando necessário. Isso pode causar um ruído de choque ao ligar / desligar.

O circuito foi gravado com placa de cobre, impressora 3D, marcador e cloreto férrico.

Etapa 5: montagem

Montagem
Montagem
Montagem
Montagem
Montagem
Montagem
Montagem
Montagem

Eu adaptei um quadro genérico de 40x50cm para este projeto junto com peças impressas em 3D e alguns extras opcionais.

O vidro é protegido por um filme solar de janela e uma folha de plástico fosco. A matriz de Led deve ser mantida a cerca de 1cm do vidro para evitar ver o branco dentro dos leds. Parafusos pequenos são necessários como porcas e parafusos M3. Obrigatórios são cabos e bainha termofixa.

As matrizes de led são aparafusadas no painel traseiro da moldura.

Etapa 6: e agora?

E agora ?
E agora ?
E agora ?
E agora ?

O próximo passo será adicionar um sensor de temperatura, ativação de recursos bluetooth e, por que não, um player de rádio na Internet até o potencial máximo do Raspberry Pi.

Tchau

Concurso de Relógios
Concurso de Relógios
Concurso de Relógios
Concurso de Relógios

Vice-campeão no Concurso de Relógios

Recomendado: