Índice:
- Suprimentos
- Etapa 1: configurar o LED na placa de ensaio
- Etapa 2: Configurar LED no Arduino
- Etapa 3: configurar fotocélula na placa de ensaio
- Etapa 4: conectar a fotocélula ao Arduino
- Etapa 5: Conecte o Arduino
- Etapa 6: comece seu código
- Etapa 7: Configuração de Vazio
- Etapa 8: Loop de vazio
- Etapa 9: Mudança de cores
- Etapa 10: Código RGB LED final
- Etapa 11: Teste as luzes
- Etapa 12: Solução de problemas
- Etapa 13: Produto Final
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
Fui encarregado de criar um protótipo usando algum tipo de sensor para gerar uma saída. Decidi usar uma fotocélula, que mede a quantidade de luz em um ambiente, e um LED RGB como saída. Eu sabia que queria incorporar a capacidade do LED de exibir várias cores, porque achei que seria divertido ter. Se eu pudesse criar qualquer tipo de saída que eu quisesse, imaginei que seria o mais colorido possível.
Custo estimado:
$ 37 - Kit Elegoo Super Starter (inclui todos os suprimentos)
$ 53 - Para comprar todos os suprimentos individualmente
Links úteis:
LED RGB -
create.arduino.cc/projecthub/muhammad-aqib…
Fotocélula -
create.arduino.cc/projecthub/MisterBotBreak/how-to-use-a-photoresistor-46c5eb
Software Arduino -
www.arduino.cc/en/software
Kit Elegoo Super Start -
www.amazon.com/gp/product/B01D8KOZF4/ref=p…
Suprimentos
- 1 LED RGB
- 1 fotocélula (também conhecida como fotorresistor)
- 1 placa Arduino UNO
- 1 breadboard
- 1 cabo USB para Arduino
- 7 fios de jumper
- 3 resistores de 220 ohms
- 1 resistor de 10k ohm
- Software Arduino (download gratuito)
Opcional
- um alicate de bico fino
Etapa 1: configurar o LED na placa de ensaio
Primeiro, o LED RGB deve ser configurado corretamente na placa de ensaio
Coloque o LED com cada uma das quatro pernas em orifícios separados da mesma coluna (indicados por letras). A perna mais longa deve ser a segunda perna a partir do topo.
Na linha (indicada por números) da perna mais longa, conecte uma extremidade de um fio de jumper.
Para cada uma das três pernas mais curtas, coloque um resistor de 220 ohms. Cada resistor deve ter ambas as pernas na mesma fileira das pernas do LED. É aqui que eu usaria o alicate de bico fino, pois as pernas dos resistores podem ser difíceis de conectar manualmente.
Conecte três fios de jumper no lado do resistor oposto ao LED. Para essas três linhas, deve haver um fio de jumper, um resistor e uma perna do LED.
Etapa 2: Configurar LED no Arduino
Agora que o LED está configurado corretamente na placa de ensaio, ele precisa ser conectado ao Arduino.
O primeiro fio de jumper conectado à perna mais longa (deve ser a segunda linha do LED) precisa ser conectado ao aterramento, indicado por "GND" no Arduino.
Os outros três fios de jumpers, em ordem decrescente, precisam ser conectados às portas 11, 10 e 9. O fio da linha superior deve ser conectado a 11, o próximo fio abaixo (deve ser a terceira linha) se conecta a 10 e o último fio se conecta a 9. Esses três fios devem passar paralelos entre si e não se sobrepor.
Etapa 3: configurar fotocélula na placa de ensaio
Para que o LED reaja ao brilho do ambiente, ele precisa receber informações de um sensor.
Conecte a fotocélula na placa de ensaio com as duas pernas na mesma coluna, semelhante a como o LED foi conectado.
Conecte o resistor de 10k ohm com uma perna na mesma linha da perna inferior da fotocélula. Conecte a segunda perna do resistor mais abaixo na mesma coluna.
Etapa 4: conectar a fotocélula ao Arduino
Conecte um fio de jumper na mesma linha do resistor de 10k ohm, mas não na mesma linha da fotocélula.
Conecte a outra extremidade deste fio de jumper ao aterramento (GND) no Arduino.
Conecte dois fios de jumper diferentes, um na mesma fileira de cada uma das pernas da fotocélula.
Conecte o fio mais distante ao topo na porta 5 V do Arduino.
Conecte o fio mais ao fundo na porta A0 do Arduino.
Etapa 5: Conecte o Arduino
Agora que a placa de ensaio está configurada e conectada ao Arduino, use o conector USB para conectar o Arduino ao seu computador.
Etapa 6: comece seu código
Usando o programa Arduino, crie um novo esboço.
Em um comentário, escreva seu nome, alguns detalhes sobre o esboço e vincule quaisquer recursos que você usou.
Acima da configuração do vazio, estabeleça as variáveis globais. Sinta-se à vontade para copiar e colar o código abaixo. Conforme você escreve o código, certas partes se tornam de cores diferentes. Isso deveria acontecer.
int red_light_pin = 11; int green_light_pin = 10; int foto_luz_azul = 9; int fotocélulaLeitura = 0; int fotocélula = 5;
Se você notar, os números atribuídos a essas variáveis correspondem a onde os fios estão conectados na placa Arduino.
Etapa 7: Configuração de Vazio
Estabeleça o LED RGB como saída.
pinMode (red_light_pin, OUTPUT); pinMode (green_light_pin, OUTPUT); pinMode (blue_light_pin, OUTPUT);
Inicie o monitor serial para visualizar as leituras da fotocélula.
Serial.begin (9600); Serial.println ("Monitor serial iniciado"); atraso (500); Serial.println ("."); atraso (500); Serial.println ("."); atraso (500); Serial.println ("."); atraso (500);
Certifique-se de que o código de configuração de vazio esteja contido em um par de chaves {}
Etapa 8: Loop de vazio
Escreva o código para a seção de loop void.
O código da primeira imagem imprime as leituras da fotocélula em linhas separadas. Isso torna a leitura mais fácil.
valor int = analogRead (A0); photocellReading = analogRead (photocell); Serial.println (photocellReading); atraso (40);
O código na segunda imagem é o que corresponde a certos valores de leitura à cor que o LED exibirá.
if (leitura fotocélula 0) {RGB_color (255, 0, 0); // Vermelho} if (photocellReading 99) {RGB_color (255, 255, 0); // Amarelo} if (photocellReading 199) {RGB_color (0, 255, 0); // Verde} if (photocellReading 299) {RGB_color (0, 0, 255); // Azul} if (photocellReading 399) {RGB_color (255, 0, 255); // Magenta}
Alterar os valores numéricos de RGB_color (os 0s e 255s) mudará a cor exibida. Estas são as cores que escolhi, mas fique à vontade para alterá-las ou trocá-las como quiser.
Verifique se a seção de loop vazio está contida em um par de chaves {}
Etapa 9: Mudança de cores
Estas são mais algumas cores para escolher na etapa anterior. Usei este código como referência para o meu esboço.
Etapa 10: Código RGB LED final
No final do esboço, fora da seção de loop vazio, insira este código para determinar qual porta no Arduino comunica o valor da luz vermelha, o valor da luz verde e o valor da luz verde.
void RGB_color (int red_light_value, int green_light_value, int blue_light_value) {analogWrite (red_light_pin, red_light_value); analogWrite (green_light_pin, green_light_value); analogWrite (blue_light_pin, blue_light_value); }
Assim como com a configuração do void e as seções de loop do void, certifique-se de que esta seção esteja contida dentro de um par de chaves {}
Etapa 11: Teste as luzes
Faça upload do código para a placa Arduino pressionando o botão de upload no programa. Se você fez isso corretamente, o LED deve exibir uma cor dependendo de quanta luz há nas redondezas.
O vermelho é o ambiente mais escuro, a leitura de fotocélula mais baixa.
Amarelo é um ambiente ligeiramente mais claro / leitura de fotocélula mais alta. Parece azul-petróleo na imagem, mas brilhou amarelo pessoalmente.
As três cores seguintes, verde, azul e magenta, todas correspondem a leituras cada vez mais altas da fotocélula.
Etapa 12: Solução de problemas
Se as cores não estão mudando, ou são necessárias mudanças extremas para que as cores mudem, verifique as leituras da fotocélula no monitor serial. Cada ambiente tem diferentes níveis de luz, por isso é importante que o código reflita isso.
Clique em Ferramentas na parte superior do programa Arduino -> Clique em Monitor Serial.
Deve aparecer uma janela que exibe uma lista contínua de números. Ajuste os números das declarações if da etapa Void Loop.
Etapa 13: Produto Final
Ao fazer todas essas etapas, você deve acabar com uma luz que muda de cor dependendo do brilho do ambiente.
Para mim, no brilho médio do meu quarto, a luz brilha em verde, mas posso facilmente mudar a cor cobrindo a fotocélula ou aumentando a quantidade de luz existente.