Índice:
- Etapa 1: Fiação dos Módulos e Circuito NRF24L01
- Etapa 2: Codificando o Transmissor
- Etapa 3: Codificando o Receptor
- Etapa 4: CONCLUÍDO
Vídeo: Lâmpada LED de combinação de luz sem fio Arduino usando fotorresistor: 4 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:39
Isso detalha as etapas necessárias para construir uma lâmpada LED com detecção de luz sem fio rudimentar usando Arduino Unos e um fotorresistor. Uma possível aplicação para este dispositivo seria iluminar uma sala que não possui janelas com luz solar artificial, combinando as condições reais de iluminação externa em tempo real. Vamos começar!
Lista de suprimentos:
Arduino Uno x2
Transceptor sem fio NRF24L01 x2 (opcional - mochila NRF24L01 x2)
TIP120 transistor darlington
Fotorresistor
LEDs de 5 mm x3
Botão de apertar
100 ohm resistor x3
10k ohm resistor x3
Vários fios de ligação
Etapa 1: Fiação dos Módulos e Circuito NRF24L01
Neste projeto, um Arduino atuará como um transmissor, enviando dados de nível de luz do fotorresistor quando o botão for pressionado. O outro Arduino servirá como receptor, pegando esses dados e transformando-os em sinal para os LEDs. A primeira imagem mostra o diagrama do transmissor e a segunda mostra o receptor.
Nota: nas fotos do meu projeto, você notará que os transceptores NRF24L01 estão acoplados a outro PCB. Este é um módulo de mochila para os transceptores, que atua como um regulador de energia. Além de facilitar a fiação, essas mochilas regulam a entrada de energia do NRF24L01, permitindo o uso de uma fonte de alimentação de 5V. Omiti essas mochilas em meu diagrama por uma questão de clareza.
(Se você decidir usar as mochilas, consulte este link para um diagrama das localizações dos pinos em referência ao estoque NRF24L01).
Em anexo abaixo está uma cópia em PDF do circuito, para facilitar o zoom / visualização detalhada.
Etapa 2: Codificando o Transmissor
A última etapa é a codificação. Você precisará instalar a biblioteca RadioHead ou uma biblioteca equivalente para usar com os módulos NRF24L01.
Para este projeto, o transmissor e o receptor Arduinos usam códigos diferentes em cada um. Aqui está o código do transmissor:
Anexei também o arquivo.ino (NRF_Send) para sua conveniência.
#incluir
#incluir
RH_NRF24 nrf24; // Inicializando um transceptor como nrf24
botão int = 5; // Definindo os valores dos pinos para o botão e fotorresistor
int pResistor = A0; valor int = 0; // Valor da luz de 0-1023
void setup ()
{Serial.begin (9600); pinMode (botão, INPUT); pinMode (pResistor, INPUT); if (! nrf24.init ()) // Alerta o usuário se a inicialização do módulo falhar Serial.println ("falha de inicialização"); // Os padrões após o init são 2,402 GHz (canal 2), 2Mbps, 0dBm if (! Nrf24.setChannel (1)) Serial.println ("setChannel falhou"); if (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF falhou"); }
void loop ()
{if (digitalRead (button)) {// Envia uma mensagem se o botão for pressionado value = analogRead (pResistor); // Lê o valor do fotorresistor (0-1023) uint8_t data = {value}; // Define um array chamado "data " contendo o valor de luz nrf24.send (data, sizeof (data)); // Envia o array para o receptor nrf24.waitPacketSent (); // Espere até que o pacote seja enviado Serial.println ("Light Value:" + String (value)); // Imprime o valor da luz no monitor serial}}
Etapa 3: Codificando o Receptor
Para o receptor, o código também usa a Biblioteca RadioHead.
#incluir
#incluir
RH_NRF24 nrf24;
int LEDPin = 3;
valor int = 0; // Valor da luz de 0-1023
void setup ()
{Serial.begin (9600); pinMode (LEDPin, OUTPUT); if (! nrf24.init ()) Serial.println ("falha de inicialização"); // Os padrões após o init são 2,402 GHz (canal 2), 2Mbps, 0dBm if (! Nrf24.setChannel (1)) Serial.println ("setChannel falhou"); if (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF falhou"); }
void loop ()
{// Aguarde uma mensagem uint8_t buf [RH_NRF24_MAX_MESSAGE_LEN]; // Armazena a mensagem recebida como um array chamado "buf " uint8_t len = sizeof (buf); // Armazena o tamanho do buf como "len" while (nrf24.waitAvailableTimeout (200) && nrf24.recv (buf, & len)) // Recebe a mensagem por 200 milissegundos ou até que toda a mensagem seja recebida {value = buf [0]; // Define o valor para o primeiro índice de buf , que é o int do fotorresistor analogWrite (LEDPin, map (value, 0, 1023, 0, 255)); // Define o pino PWM para emitir um valor escalado entre 0-255 para o brilho do LED Serial.println (String (value)); } analogWrite (LEDPin, 0); }
Etapa 4: CONCLUÍDO
Divirta-se brincando com diferentes níveis de luz e observando os LEDs combinando com eles! O fotorresistor pode ser exigente às vezes e funciona melhor em um quarto escuro com uma fonte de luz localizada (mas também pode funcionar ao ar livre com o sol).
Recomendado:
Robô Arduino sem fio usando módulo sem fio HC12: 7 etapas
Robô Arduino sem fio usando módulo sem fio HC12: Olá pessoal, bem-vindos de volta. Em meu post anterior, eu expliquei o que é um circuito de ponte H, L293D motor driver IC, pegando carona L293D Motor driver IC para dirigir drivers de motor de alta corrente e como você pode projetar e fazer sua própria placa de driver de motor L293D
Ponto de acesso sem fio com alcance de cinquenta metros com adaptador sem fio TP Link WN7200ND USB no trecho Raspbian: 6 etapas
Ponto de acesso sem fio com alcance de cinquenta metros com adaptador sem fio USB TP Link WN7200ND no Raspbian Stretch: Raspberry Pi é ótimo para criar pontos de acesso sem fio seguros, mas não tem um bom alcance, usei um adaptador sem fio USB TP Link WN7200ND para estendê-lo. Quero compartilhar como fazer por que quero usar um pi de framboesa em vez de um roteador?
Faça você mesmo de microfone sem fio para sistema de guitarra sem fio: 4 etapas
Faça você mesmo de microfone sem fio para sistema de guitarra sem fio: Tenho assistido a alguns vídeos e bandas e quase todas usam um sistema sem fio na guitarra. Enlouquecer, mover-se, caminhar e fazer o que quiserem sem o cabo, então sonho em ter um .. Mas .. para mim agora é muito caro então eu vim para isso
Transforme uma campainha sem fio em um interruptor de alarme sem fio ou botão liga / desliga: 4 etapas
Transforme uma campainha sem fio em um interruptor de alarme sem fio ou botão liga / desliga: recentemente construí um sistema de alarme e o instalei em minha casa. Usei interruptores magnéticos nas portas e os conectei através do sótão. As janelas eram outra história e fiação direta não era uma opção. Eu precisava de uma solução sem fio e isso é
Converter roteador sem fio em ponto de acesso 2x do extensor sem fio: 5 etapas
Converter Roteador Wireless em Ponto de Acesso Wireless Extender 2x: Eu tinha uma conexão de internet wireless ruim em minha casa devido a um RSJ (viga de suporte de metal no teto) e queria aumentar o sinal ou adicionar um extensor extra para o resto da casa. Eu tinha visto extensores por cerca de £ 50 em um eletro