Arduino RGB Night Light



Provavelmente todos na infância tiveram um sonho (e não um). Você pode até tentar se lembrar do sentimento que domina a alma de uma criança na realização de seus sonhos ou daquele brilho familiar distante em seus olhos ... Quando criança, eu sonhava em ter minha luz noturna.

Agora, estou estudando no quarto ano do BSUIR e, quando fomos informados de que o projeto do curso de design de circuitos não pode ser feito em papel, mas em um pedaço de ferro, ocorreu-me: a lâmpada noturna, que eu tanto desejava na infância, pode ser executada sozinha. E fazer não apenas um objeto que ilumine a sala no escuro, mas um dispositivo que pode ser facilmente controlado para qualquer humor. Porque não Decidi adicionar a capacidade de alterar as cores usando as mãos: quanto mais perto a mão da luz noturna, mais brilhante se acende uma das cores (RGB). E eu também gostaria de controlar a luz noturna usando o controle remoto.

Admito imediatamente que espiei a idéia no cxem.net . Em resumo, este exemplo usou uma matriz RGB que foi controlada usando registros de deslocamento e sensores de distância ultrassônicos. Mas pensei que a matriz brilha exclusivamente em uma direção, mas queria que a luz noturna brilhasse nos dois lados.

Substanciação dos elementos do circuito


Arduino unoVoltei minha atenção para os microcontroladores Arduino. A UNO é uma opção bastante adequada para a minha ideia, primeiro porque é a plataforma mais popular e o número de pinos não é muito grande, ao contrário do Mega, e segundo, você pode conectar uma fonte de energia externa a ele, no meu caso é 12V, ao contrário do Nano terceiro ... bem, acho que você pode se concentrar nesses dois pontos. A plataforma é muito popular em todo o mundo devido à conveniência e simplicidade da linguagem de programação, bem como sua arquitetura aberta e código de programa.

Mais informações sobre este fórum podem ser facilmente encontradas na Internet, portanto não sobrecarregarei o artigo.

Portanto, os requisitos básicos para o sistema. Obrigatório:
- sensores que rastreiam a distância até a barreira para controlar o sistema;
- um sensor para ler sinais do controle remoto;
- LEDs, que fornecerão a funcionalidade de iluminação necessária;
- uma unidade de controle que controlará todo o sistema.

Diagrama de circuito

Os sensores de alcance são necessários como sensores de distância para o projeto, cada um dos quais corresponderá a uma cor específica: vermelho, verde e azul. Os sensores de distância monitoram a distância da mão em relação à lâmpada noturna e, quanto mais próxima a mão é de um sensor específico, mais a cor correspondente a esse telêmetro queima. Por outro lado, quanto mais longe a mão, menos tensão é aplicada à cor correspondente ao sensor.

Os telémetros mais populares no momento são o Sharp GP2Y0A21YK e HC-SR04. O Sharp GP2Y0A21YK é um telêmetro infravermelho. É equipado com um emissor de infravermelho e um receptor de infravermelho: o primeiro serve como fonte do feixe, cuja reflexão captura o segundo. Ao mesmo tempo, os raios infravermelhos do sensor para o olho humano são invisíveis e inofensivos nessa intensidade.

Comparado com o sensor ultrassônico HC-SR04, esse sensor possui vantagens e desvantagens. As vantagens incluem neutralidade e inofensividade. E as desvantagens são um alcance menor e dependência de ruído externo, incluindo alguns tipos de iluminação.

HC-SR04Os telêmetros ultrassônicos HC-SR04 foram usados ​​como sensores de distância para o projeto.
O princípio de ação do HC-SR04 é baseado no conhecido fenômeno da ecolocalização. Ao usá-lo, o emissor gera um sinal acústico que, refletido no obstáculo, retorna ao sensor e é gravado pelo receptor. Sabendo a velocidade de propagação do ultrassom no ar (aproximadamente 340 m / s) e o tempo de atraso entre o sinal emitido e o recebido, é fácil calcular a distância da barreira acústica.

A entrada TRIG está conectada a qualquer pino do microcontrolador. Esta saída requer um sinal digital pulsado com uma duração de 10 μs. O sinal no sensor TRIG de entrada envia um pacote de pulsos ultrassônicos. Depois de receber o sinal refletido, o sensor gera um sinal de pulso na saída ECHO, cuja duração é proporcional à distância do obstáculo.

Sensor IRSensor infravermelho. Obviamente, o sinal necessário para o controle remoto será lido e decodificado neste sensor. TSOP18 diferem apenas em frequência. O sensor VS1838B TSOP1838 foi selecionado para o projeto.

O projeto foi baseado na idéia de iluminar a sala com qualquer cor, o que sugere que serão necessárias 3 cores primárias para obter a iluminação: vermelho, verde e azul. Portanto, foi escolhido o modelo de LED SMD 5050RGB, que irá lidar perfeitamente com a tarefa.

Dependendo da quantidade de voltagem fornecida a cada LED, eles mudarão a intensidade dessa iluminação. O LED deve ser conectado através de um resistor, caso contrário, corremos o risco de estragar não apenas ele, mas também o Arduino. É necessário um resistor para limitar a corrente no LED a um valor aceitável. O fato é que a resistência interna do LED é muito baixa e, se você não usar um resistor, uma corrente passará pelo LED que simplesmente queima o LED e o controlador.

Tiras de LEDAs tiras com LEDs usadas no projeto são alimentadas por 12V.

Como a tensão nos LEDs no estado “desligado” é de 6V e é necessário regular a fonte de alimentação que excede 5V, é necessário adicionar transistores ao circuito no modo de chave. Minha escolha caiu no BC547c.

Considere brevemente, para aqueles que esqueceram, o princípio de operação do transistor npn. Se você não aplicar tensão, mas simplesmente tirar e fechar as conclusões da base e do emissor, mesmo que não sejam curtas, mas através de um resistor de vários ohms, verifica-se que a tensão do emissor da base é zero. Consequentemente, não há corrente de base. O transistor está fechado, a corrente do coletor é insignificante, exatamente a mesma corrente inicial. Nesse caso, diz-se que o transistor está em um estado de corte. O estado oposto é chamado saturação: quando o transistor está totalmente aberto, de modo que não há lugar para abrir mais. Com esse grau de abertura, a resistência da seção coletor-emissor é tão pequena que é simplesmente impossível ligar o transistor sem carga no circuito coletor, que queima instantaneamente. Nesse caso, a tensão residual no coletor pode ser de apenas 0,3 ... 0,5V.

Esses dois estados - saturação e corte - são usados ​​quando o transistor está no modo de chave como um contato de relé normal. O ponto principal desse modo é que uma pequena corrente de base controla uma grande corrente de coletor, que é várias dezenas de vezes maior que a corrente de base. Uma grande corrente de coletor é obtida devido a uma fonte de energia externa, mas, mesmo assim, o ganho de corrente, como se costuma dizer, é óbvio. No nosso caso, o microcircuito, cuja tensão operacional é de 5V, inclui 3 tiras com LEDs operando a partir de 12V.

Calculamos o modo de operação da cascata de teclas. É necessário calcular o valor do resistor no circuito base para que os LEDs acendam na potência máxima. Uma condição necessária no cálculo é que o ganho de corrente seja maior ou igual ao quociente de dividir a corrente máxima possível do coletor pela corrente base mínima possível:
Ganho
Portanto, as tiras podem ter tensão operacional de 220 V e o circuito base pode ser controlado a partir de um microcircuito de 5 V. Se o transistor for projetado para funcionar com essa tensão no coletor, os LEDs acenderão sem problemas.
A queda de tensão na junção base-emissor é de 0,77V, desde que a corrente de base seja 5mA e a corrente do coletor seja 0,1A.
A tensão no resistor de base será:

De acordo com a Lei de Ohm:

Da série padrão de resistências, escolhemos um resistor de 8,2 kOhm. O cálculo está completo agora.

Quero chamar sua atenção para um problema que encontrei. Ao usar a biblioteca IRremote, o Arduino travou ao ajustar a cor azul. Após uma pesquisa longa e completa na Internet, verificou-se que esta biblioteca usa o timer padrão 2 para este modelo do Arduino. Os temporizadores são usados ​​para controlar as saídas PWM.

Temporizador 0 (hora do sistema, PWM 5 e 6);
Temporizador 1 (PWM 9 e 10);
Temporizador 2 (PWM 3 e 11).

Inicialmente, usei o PWM 11 para ajustar a cor azul. Portanto, tenha cuidado ao trabalhar com PWM, timers e bibliotecas de terceiros que possam usá-los. É estranho que nada tenha sido dito sobre essa nuance na página principal do github. Se desejar, você pode descomentar a linha com o timer 1 e comentar 2. A

conexão dos elementos na placa de ensaio se parece com:



Após o teste na placa de ensaio, começaram as fases “Colocação de elementos na placa” e “Trabalho com ferro de soldar”. Após o primeiro teste da prancha finalizada, o pensamento surge na minha cabeça: algo deu errado. E então começa a fase familiar do "Trabalho meticuloso com o testador". No entanto, os problemas de funcionamento (vários contatos vizinhos foram acidentalmente soldados) foram rapidamente consertados e aqui está a luz travada há muito esperada dos LEDs.



Além disso, era apenas o caso. Por esse motivo, foram cortados compensados ​​com furos para nossos sensores. A tampa traseira foi especialmente removível para que você possa apreciar a vista de dentro e, se desejar, finalizar ou refazer algo. Ele também possui 2 orifícios para reprogramar a placa e a alimentação.

O corpo foi colado em um adesivo epóxi de dois componentes. Vale a pena notar a peculiaridade desta cola, para aqueles que não a encontraram antes. Este acompanhante é entregue em dois recipientes separados, quando o conteúdo é misturado, ocorre uma reação química instantânea. Após a mistura, você deve agir rapidamente, dentro de 3-4 minutos. Para uso posterior, você precisa misturar uma nova porção. Então, se você está tentando repetir isso, meu conselho é misturar pequenas porções e agir rapidamente, não haverá muito tempo para pensar. Portanto, vale a pena considerar antecipadamente como e onde colar o estojo. E em uma sessão isso não vai funcionar.

Para fixar as tiras com LEDs, um tubo foi inserido na tampa superior através da qual todos os fios foram perfeitos.



Quando a pergunta surgiu com um abajur, lembrei-me de que na infância eu fazia artesanato com fios simples, cola e um balão, que servia de base. O princípio para o abajur é o mesmo, mas envolver um poliedro era mais difícil que uma bola. Devido à pressão exercida pelas roscas na estrutura, ela começou a afinar para cima e as roscas começaram a cair. Emergência, com as mãos na cola, foi decidido fortalecer a estrutura de cima. E então o CD veio em socorro. Como resultado, recebemos uma luz noturna:



O que você quer dizer como resultado


O que devo mudar no projeto? Para sinalizar sensores de distância TRIG, uma saída do Arduino pode ser usada em vez de três. Além disso, eu teria fornecido um furo para o sensor de infravermelho (do qual esqueci), que, infelizmente, está oculto no caso em que, é claro, não consegue ler sinais do controle remoto. No entanto, quem disse que você não pode soldar e perfurar nada?



Gostaria de observar que foi um semestre interessante e uma ótima oportunidade para tentar fazer algo que não está no papel, para que eu possa colocar outra marca de seleção ao lado do item “sonho de infância”. E se lhe parecer que tentar algo novo é difícil e você não souber o que fazer primeiro, não se preocupe. O pensamento passa pela mente de muitos: por onde começar e como isso pode ser feito? Na vida, há muitas tarefas das quais você pode se confundir, mas se você apenas tentar, perceberá que, com um brilho nos olhos, pode transformar montanhas, mesmo que tenha que tentar um pouco para isso.

Link para o código fonte .

Autor do artigo: Anastasia Kovsh

Source: https://habr.com/ru/post/pt388573/


All Articles