Bem-vindo a 2021 com Raspberry Pi: Topo da árvore de Natal simulada de fogo

O ano novo está chegando e, se você tiver algumas horas de tempo livre, pode fazer uma decoração de alta tecnologia para uma árvore de Natal, palmeira ou tangerina. Não importa - ficará bem em qualquer lugar.









Debaixo do corte - um gif com uma demonstração do trabalho dessa



coisa.A base do design é a faixa flexível LED NeoPixel 32x8, Raspberry Pi e bom humor. Bem, sim, você precisa de algum código Python.



O que você precisa para trabalhar









  • Raspberry Pi 3, Raspberry Pi 4 ou Raspberry Pi Zero W com conector GPIO.
  • Fonte de alimentação, mouse, monitor, teclado e cabo HDMI para Raspberry Pi
  • Matriz LED RGB NeoPixel 32x8 com tira flexível
  • Conjunto de jumpers (M-para-F, M-para-M e F-para-F)
  • Fonte de alimentação 5V
  • Capacitor 1000 µF
  • Você também pode pegar uma tira de tecido para difundir a luz da tira de LED.
  • Base impressa em 3D para toda a estrutura.


Parte 1. Preparação da matriz RGB



Neste ponto, você precisará soldar um par de pinos e usar o código de amostra do NeoPixel Uberguide da Adafruit . Para o nosso projeto, precisamos de duas fontes de alimentação - para a "framboesa" e a faixa de LED. Para o último, você precisará conectar não apenas energia, mas também dados. Tudo é simples aqui.









Se desejar, você pode adicionar outra tira de tecido para difundir a luz LED brilhante.



Conectamos os dados



Pegamos qualquer "terra" da "framboesa" e conectamos à linha de dados GND da faixa de LED.









Conectamos a fonte de alimentação.



Isso pode ser feito usando um cabo comum, conforme o esquema já mostrado acima, ou usando um cabo USB. Neste caso, você precisa se conectar de acordo com este esquema.









Agora vamos verificar a matriz executando o código da Adafruit.



Lance o "raspberry", conecte a alimentação da matriz RGB, abra o terminal e instale as dependências: Baixe o código do repositório do autor: Selecione a pasta scrollingTextMask: Execute o código de teste fillMatrix.py:



sudo pip3 install rpi_ws281x adafruit-circuitpython-neopixel

sudo python3 -m pip install --force-reinstall adafruit-blinka












git clone https://github.com/carolinedunn/RGBTreeTopper











cd RGBTreeTopper











sudo python3 32-fillMatrix.py













Se você conseguir um arco-íris, como no gif acima, tudo funciona, você pode passar para a próxima fase. Se algo deu errado, provavelmente alguns contatos estão conectados incorretamente.



Dicas: Se o sistema não funcionar com o pino framboesa 21 GPIO, experimente os pinos 10, 12 ou 18. Em seguida, abra 32-fillMatrix.py na pasta scrollingTextMask e atualize o pino GPIO. Nesse caso, você precisará alterar os outros arquivos de projeto de acordo.



Pare o script pressionando Ctrl + C.



Parte 2. Ilumine!



Agora no terminal, que ainda está aberto, digitamos o comando:



sudo python3 treeTopper.py













Nas pastas que recebemos do GitHub, há uma pasta “fire” que contém 10 imagens jpeg. Isso é o que o código treeTopper.py faz:



Declara as bibliotecas que são usadas no código. Atenção deve ser dada ao PIL (Pillow Imaging Library), uma biblioteca que adiciona recursos de processamento de imagem ao interpretador Python.









  • Diz ao Pi para onde enviar os dados para o dado, especificando os 21 pinos GPIO (linha 8).
  • Especifica os parâmetros da matriz, incluindo tamanho, brilho e tempo de pausa entre a exibição de cada uma das imagens (linhas 9-13).
  • Cria uma matriz com os dados desses 10 arquivos JPEG em ordem sequencial (linhas 28-32).
  • Analisa os pixels da imagem e os converte em matriz RGB com saída de imagem em matriz RGB (linhas 35-41).
  • Pausa 0,2 segundos e, a seguir, repete o processo para a próxima imagem (linha 42).
  • O processo é executado até a execução da combinação Ctrl + C.


E se você quiser suas próprias fotos?



Os parâmetros devem ser os seguintes:



  • Formato - JPEG.
  • Largura - 32 pixels.
  • Altura - 8 pixels.


Cada arquivo deve ser salvo com os nomes 1-10.JPG na pasta apropriada.



Para exibir imagens, você precisa definir um novo caminho para as imagens. Se desejar, você pode alterar a sequência de sua exibição.









Iniciar na inicialização Assim



que tivermos todas as imagens prontas, use Python para executar o script na inicialização. A melhor opção é o Crontab.



Abra o Crontab no console: crontab -e



Digite 1 e pressione Enter.









Isso abre um novo arquivo crontab. Dentro, desça e digite ->



sudo python3 /home/pi/RGBTreeTopper/treeTopper.py







@reboot sudo python3 /home/pi/RGBTreeTopper/treeTopper.py







Pressione Ctrl + X, e então crontab para salvar.



Desligamos o "framboesa" e desligamos tudo o que coletamos.



Parte 3. Montagem final



Nesta etapa, você já pode demonstrar uma luz de Ano Novo no topo de nada menos que uma árvore de Natal.



  • Imprimimos o corpo em uma impressora 3D.
  • Passamos os fios para os lugares certos e os corrigimos.
  • Dobramos a matriz de LED, você não precisa pressionar com força.
  • Colocamos a estrutura no topo da árvore de Natal. Nós ligamos e nos alegramos.








Aliás, o autor sabe que sua invenção tem o formato de um rolo de papel higiênico.









Ela brinca que, tendo como pano de fundo o que está acontecendo em 2020, isso é bastante adequado. Mas, em geral, pode ser alterado - o design pode ser facilmente modificado, se desejado, para que um rolo de papel se transforme ... sim, em qualquer coisa.










All Articles