Índice:

Relógio NeoPixel: 10 etapas (com imagens)
Relógio NeoPixel: 10 etapas (com imagens)

Vídeo: Relógio NeoPixel: 10 etapas (com imagens)

Vídeo: Relógio NeoPixel: 10 etapas (com imagens)
Vídeo: Raspberry Pi Pico Tutorial : NeoPixels / WS2812B LED's 2024, Julho
Anonim
Image
Image
Peças eletrônicas necessárias
Peças eletrônicas necessárias

*********************************************************************************************************

ESTA É UMA INSCRIÇÃO NO CONCURSO DE MICRO CONTROLADOR, VOTE EM MIM

********************************************************************************************************

Eu construí um espelho infinito NeoPixel há alguns anos enquanto estava na Tailândia e pode ser visto AQUI.

Fiz isso da maneira mais difícil, não usando um Arduino, mas um microprocessador autônomo, um PIC18F2550. Isso envolveu escavar os registros e tempos do Micro para escrever o código, alguns dos quais continham assembly.

Tudo isso é um grande conhecimento para se ter e tem me mantido em boa posição, pois torna o trabalho com o Arduino uma brincadeira de criança. A maior parte do trabalho foi feito com o uso de bibliotecas de terceiros, enquanto antes eu escrevia meu próprio código de biblioteca.

Este relógio foi projetado para emitir luz da periferia para a parede ao qual está conectado usando LEDs RGB endereçáveis individualmente WS2812B espaçados a 144 por metro. Isso me deu um clock de 200 mm de diâmetro, algo que eu poderia fazer sozinho na minha impressora 3D.

Tem um efeito impressionante, especialmente à noite ou em uma sala escura, a luz brilha cerca de 500 mm dando um deslumbramento total de mais de um metro de diâmetro. Os padrões são incríveis.

O relógio exibe as horas (azul), minutos (verde) e segundos (vermelho). Também é exibida a data em um display de 8 dígitos e 7 segmentos e o dia da semana em uma forma de lista.

O relógio é controlado por smartphone em WiFi usando o aplicativo Blynk e um servidor Blynk local em execução em um RPi 3.

O uso de um servidor local para Blynk é opcional e sua configuração não faz parte das instruções. O Blynk hospedado na web pode ser usado após criar uma conta em www.blynk.cc e baixar o aplicativo.

Há muitas informações sobre como usar o Blynk em seu site, portanto, não faz parte deste instrutível.

Em uma etapa posterior neste instrutível, há um código QR para escanear, então você terá meu aplicativo no seu telefone.

O aplicativo possui controles para mostrar o relógio ou padrões (com feedback de LCD no aplicativo), a capacidade de definir seu fuso horário em qualquer lugar do mundo e obter a hora por meio de um servidor NTP. Também pode ser definido para hibernar.

Há um módulo de relógio em tempo real com bateria de backup que fornece funções de hora / data para o Arduino.

O firmware no NodeMCU-E12 no relógio pode ser atualizado pelo ar (OTA).

Agora vamos começar …

Etapa 1: Ferramentas necessárias

Um bom ferro de solda e solda

descascadores de arame

cortadores de fio pequenos

alicate pequeno de ponta longa

pequena serra para cortar placa vero

faca afiada de passatempo

tesoura

cola de papel

Etapa 2: peças eletrônicas necessárias

Peças eletrônicas necessárias
Peças eletrônicas necessárias
Peças eletrônicas necessárias
Peças eletrônicas necessárias

1 x módulo NodeMCE-12E de AQUI

1 x módulo de relógio RTC AQUI

Módulo Max7219 de 1 x 8 dígitos com 7 segmentos aqui

1 x conector de alimentação DC aqui

2 x deslocadores de nível (necessário, pois o Arduino é 3.3v e o display de RTC e 7 segmentos é 5v) aqui

68 LEDs de uma faixa LED de 114 / mtr WS2812B aqui.

Fonte de alimentação DC 5v 10A aqui.

10kOhm 1 / 4W resistente.

Conforme necessário, fio de conexão.

Placa Vero de aproximadamente 77 mm x 56 mm para montar todos os módulos e conectá-los.

Na verdade, usei um deslocador de nível Adafruit para as linhas I2c do módulo RTC, pois era para ser seguro para I2c !!

No entanto, acho que a maioria dos deslocadores de nível lógico bidirecional de 3,3 V a 5 V deve funcionar.

Cortar a faixa de LED desperdiçou um LED, pois as almofadas para soldar ambas as extremidades da faixa de 60 LED eram necessárias e as almofadas são necessárias na faixa de 7 LED.

Etapa 3: peças impressas

Peças Impressas
Peças Impressas
Peças Impressas
Peças Impressas
Peças Impressas
Peças Impressas

Existem três partes impressas em 3D; o corpo do relógio principal, a tampa frontal e a tampa da bateria na parte traseira.

A tampa da bateria pode ser omitida.

Também há uma 'Máscara' impressa sob a capa com os dias da semana. Eu imprimi isso em papel comum. Eu forneci um arquivo.dwg e um.dxf disso.

Existem 2 capas frontais disponíveis, uma não tem nome, caso você não consiga editar a peça.

Minha impressora 3D (bico de 0,4 mm) tinha as seguintes configurações com o Slic3r:

altura da primeira camada = 0,2 mm

altura das camadas = 0,2 mm

temperatura do leito = 60 C

temperatura do bico = 210 C

perímetros verticais = 2

cascas horizontais = 3

infill = estrelas retilíneas a 45 graus

sem borda

nenhum material de apoio

É altamente recomendável que você tenha um método de nivelamento da cama

Arquivos impressos em 3D e desenho de máscara aqui:

Etapa 4: arquivo de montagem completo

Abaixo está um arquivo IGS da montagem completa para quem deseja modificar o relógio.

Etapa 5: instalando as bibliotecas

INSTALAR PLACAS ESP

Você precisará do IDE do Arduino. A instalação não faz parte das instruções, mas pode ser baixada AQUI.

Depois que o IDE do Arduino estiver instalado, se ainda não o tiver feito, você precisará copiar / colar o texto abaixo na caixa de texto em Arquivo> Preferências - URLs adicionais do gerenciador de placas:

arduino.esp8266.com/stable/package_esp8266com_index.json

Reinicie o IDE.

Depois de fazer isso, vá para Ferramentas> Placa> Gerenciador de placas. Deixe a atualização terminar e você verá a versão da comunidade ESP8266 na lista de placas instaladas.

INSTALAR BIBLIOTECAS

Instalando todas as bibliotecas em sua pasta Documentos / Arduino / Bibliotecas como de costume, exceto aquelas instaladas pelo gerenciador de placa.

Depois de instalar as bibliotecas, reinicie o Arduino IDE, vá para Sketch> Incluir Biblioteca> Gerenciar Bibliotecas, deixe terminar a atualização, você deve ver suas novas bibliotecas na lista.

RTClib - disponível aquiAdafruit_NeoPixel - disponível aqui

HCMAX7219 daqui

Blynk - disponível aqui. siga as instruções de instalação CUIDADOSAMENTE.

Todos os outros 'includes' no arquivo NeoPixelClock são instalados pelo Board Manager ou são fornecidos com a instalação do Arduino IDE.

Etapa 6: Instalando o Firmware

Nesse estágio, é uma boa ideia conectar tudo em uma placa de pão para fins de teste.

Verifique toda a fiação cuidadosamente antes de conectar a fonte de alimentação de 5 V e / ou o cabo USB.

Navegue até a pasta Sketch Documents> Arduino.

Crie uma pasta "NeopixelClock".

coloque o arquivo.ino abaixo na pasta.

Abra o IDE do Arduino.

Configure o IDE para exibir números de linha, vá para Arquivo> Preferências e marque a caixa "Exibir números de linha" e clique em OK.

Conecte sua placa NodeMCU a uma porta USB.

Vá para Ferramentas> Placa e selecione NodeMCU 1.0 (Módulo ESP-12E)

Vá para Ferramentas> Porta e selecione a porta à qual sua placa está conectada.

INSTALAR OTA FIRMWARE

Para usar a atualização OTA, você primeiro precisa gravar uma parte especial do firmware no NodeMCU.

vá em Arquivo> Exemplos> ArduinoOTA> BasicOTA.

um programa será carregado no IDE, preencha a parte para ssid com o SSID do roteador. Você pode ver esse nome se passar o mouse sobre o ícone WiFi na bandeja do sistema.

Preencha a senha com sua senha de rede (geralmente escrita na parte inferior do roteador sem fio.

Agora faça o upload para sua placa NodeMCU via USB.

Quando concluído, pressione o botão de reinicialização na placa NodeMCU.

INSTALAR O FIRMWARE NEOPIXELCLOCK

Vá para Arquivo> Sketchbook> NeoPixelClock e abra o arquivo NeoPixelClock.

Preencha seu 'auth', 'ssid' e 'pass' deve estar na linha 114.

Observação; como obter o token de autoridade é explicado na próxima etapa

Você também pode definir o fuso horário local na linha 121, que pode ser qualquer 1/4 de hora entre -12 e +14 de acordo com os fusos horários ao redor do mundo. Isso também pode ser definido no aplicativo, se preferir. Atualmente está definido para Queensland, Austrália.

Na linha número 332, você deve definir o endereço IP do servidor local, se estiver usando.

Uma observação sobre a porta do servidor local. Devido a uma atualização recente do software Blynk, a porta agora é 8080 e não 8442.

Se você estiver usando o novo software atualizado, altere isso.

Ou, se estiver usando o servidor da web Blynk, comente a linha 332 e descomente a linha 333.

Essa é toda a edição que precisa ser feita.

Agora faça o upload para sua placa NodeMCU via USB.

Depois de fazer o upload com sucesso, desconecte o cabo USB da placa.

Você verá em Ferramentas> Porta uma nova porta (parece um endereço IP), selecione-a como sua porta para se comunicar com o NodeMCU para futuras atualizações que você possa fazer.

Se tudo correr bem, o relógio deve iniciar, caso contrário, pressione o botão 'reset' no módulo NodeMCU.

Nota: Tenho notado que às vezes ele não inicia na primeira vez, descobri que desligar a fonte de alimentação e reconectar funciona na maioria das vezes. Estou trabalhando em uma solução para essa falha ao inicializar corretamente.

Etapa 7: aplicativo para smartphone

Aplicativo para smartphone
Aplicativo para smartphone
Aplicativo para smartphone
Aplicativo para smartphone

Para começar a usá-lo:

1. Baixe o aplicativo Blynk: https://j.mp/blynk_Android ou https://j.mp/blynk_iOS se ainda não estiver instalado.

2. Abra o aplicativo ou faça login, se for novo, você precisará fazer uma conta.

NOTA, esta não é a mesma coisa que a conta online.

3. Toque no ícone QR no aplicativo na parte superior e aponte a câmera para o código QR acima ou abra o link abaixo -

tinyurl.com/yaqv2czw

4. um código de autoridade deve ser enviado para seu e-mail indicado, que você deve colocar no código do Arduino, onde indicado em uma etapa posterior. Se você pressionar o ícone de noz, poderá enviar um e-mail novamente, se necessário.

Conforme mencionado antes, você deve criar uma conta online em www. Blynk.cc. antes de fazer isso.

Desculpe-me pela imprecisão, não posso testar isso porque já tenho o aplicativo e não uso o servidor web.

Etapa 8: Construindo o Conjunto da Placa Vero

Construindo a Montagem da Placa Vero
Construindo a Montagem da Placa Vero
Construindo a Montagem da Placa Vero
Construindo a Montagem da Placa Vero
Construindo a Montagem da Placa Vero
Construindo a Montagem da Placa Vero

Decidi colocar todas as placas e módulos em um pedaço de placa vero.

Isso mantém tudo limpo e organizado.

O esquema pode ser visto no arquivo.pdf abaixo.

Os conectores da placa foram removidos após o teste, conectei todos os periféricos diretamente à placa vero, pois não havia espaço suficiente para os conectores e conectores associados.

Desculpe, não tirei nenhuma foto da parte de baixo da placa, mas não deve ser muito difícil de descobrir. Você pode até melhorar meu layout. Mantenha a placa Vero do mesmo tamanho, caso contrário ela não caberá na base impressa em 3D.

Com os deslocadores de nível lógico, o LV (+ 3,3 V) vai para 3,3 V em qualquer um dos pinos 3 V no módulo Arduino, o HV (+ 5 V) vai para o pino VIN na placa Arduino.

Todos os Grounds vêm de qualquer / todos os pinos GND do Arduino e devem estar todos vinculados para evitar loops.

Faça a fiação usando algo como fio de núcleo único isolado de bitola 26, o isolamento de PTFE seria bom, pois não derrete.

Verifique toda a fiação cuidadosamente 2 ou 3 vezes.

Examine-o com um multímetro configurado para verificação de continuidade, verifique se todos os Gnds estão conectados de volta ao VIN GND.

Verifique todas as conexões de + 5 V no módulo RTC, os dois pinos HV dos módulos de deslocamento de nível e o pino VIN + 5 V no módulo NodeMCU.

É uma boa ideia verificar também todas as outras ligações.

Etapa 9: Montagem do relógio

Conjunto de relógio
Conjunto de relógio
Conjunto de relógio
Conjunto de relógio
Conjunto de relógio
Conjunto de relógio

Depois de imprimir as peças, limpe qualquer brilho, caroços e saliências com uma faca afiada.

Como eu só tinha filamento azul e preto, pintei o interior das cavidades do LED com tinta modelo prata.

Acho que isso deve ajudar a refletir melhor a luz e também a evitar o sangramento de luz pelas paredes para as cavidades adjacentes.

O conjunto da placa vero precisa ser conectado:

para a faixa de LED + 5v, Gnd e DIN do conjunto da placa vero.

para a tela de 7 segmentos do conjunto da placa vero.

para o conector DC do conjunto da placa vero.

Um fio para a faixa de LED de 7 vias (DIN) separada da extremidade (número 60) da faixa de LED de 60 vias principal (DOUT).

Eu só soldei os dados (DOUT) da extremidade (LED número 60) da faixa de LED de 60 vias, + 5v e Gnd para a faixa de LED de 7 vias que conectei do conjunto da placa vero.

para evitar curtos, coloquei um pequeno pedaço de cartão fino entre o início e o fim da faixa de LED de 60 vias, pois estavam bem próximos.

Meça e corte todos os fios nos comprimentos apropriados, adicionei 5 ou 6 mm para dar uma pequena margem de manobra.

Não retirei o papel de suporte da fita adesiva das tiras de LED, isso teria dificultado a colocação na base e muito difícil a remoção, se necessário.

Achei que as tiras se encaixam bem e bem ajustadas, empurrei até o fundo da cavidade.

Coloque o conjunto da placa Vero na cavidade, existem espaçadores para mantê-lo fora do fundo em 2 mm.

Coloque o visor de 7 segmentos de 8 vias na cavidade, existem postes de suporte para a montagem.

O conector DC se encaixa perfeitamente em sua cavidade, solde os fios no interior das etiquetas. Remova a etiqueta lateral se desejar.

Todos os fios devem ser colocados ordenadamente nas cavidades fornecidas.

Por fim, passe o conector de força da fonte de alimentação pelo orifício e insira-o no conector DC, empurre o cabo na ranhura fornecida abaixo.

Verifique toda a fiação cuidadosamente 2 ou 3 vezes. Consulte o diagrama de fiação abaixo.

Etapa 10: Ajustando a tampa frontal para terminar

O bloco de base tem vários pequenos pinos salientes no anel externo, que devem estar alinhados com os orifícios na tampa frontal.

A máscara de papel deve ser impressa em preto, recortada e colada na capa frontal com algo parecido com um bastão de cola.

Os furos serão perfurados através do papel quando ele for, com a tampa frontal, pressionado contra a base.

Estamos prontos para ligar, conecte, o relógio deve iniciar automaticamente, caso contrário, como descobri várias vezes, desligue a energia e conecte novamente.

Se você não tiver bateria no módulo RTC, precisará definir a hora e a data.

Faça isso com o aplicativo, defina o fuso horário com o controle para cima / para baixo e pressione o botão 'SET NTP TIME'.

Você verá no terminal de aplicativos se é bem-sucedido ou não, se não, tente novamente.

Quando DONE é exibido, o botão Clock pode ser pressionado e o relógio deve funcionar e exibir a hora, a data e o dia da semana.

Os padrões podem ser executados pressionando o botão Padrões, isso pode ser interrompido a qualquer momento pressionando o botão Relógio ou o botão Padrões novamente.

O brilho dos LEDs do relógio e do display de 7 segmentos pode ser ajustado para brilho com os controles deslizantes associados.

Todos os LEDs podem ser desligados pressionando o botão Clock Off.

Pendure-o na parede e a luz brilhará na parede, especialmente bonita em uma sala escura.

Qualquer dúvida terei o maior prazer em tentar responder.

APROVEITE e não se esqueça de votar em mim.

*************************************************** *************************************************** ***** ESTA É UMA INSCRIÇÃO NO CONCURSO DE MICRO CONTROLADOR, POR FAVOR VOTE POR MIM ******************************* *************************************************** ***********************

Recomendado: