
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.
