Circuito a ser montado
Leds
•Cada Led possui um resistor de 100Ωpara garantir que ele não queime.
•Veja que eles devem ser ligados em paralelo ao terra e ao resistor, sendo o cátodo (-) ao terra e o ânodo (+) ao resistor.
•Cada resistor deve estar ligado a uma porta PWM (Pulse WidthModulation–Modulação por Largura de Pulso) do Arduino. Esta porta é capaz de obter resultados analógicos por meios digitais.
•O mapeamento dos valores dos ledsdevem ficar entre 0 e 255.
•O Led vermelho deve ser ligado na porta 11, o verde na porta 10 e o azul na porta 9.
BotãoResistor "pull-down"
•O botão deve ser usado pela técnica de resistores pull-down. Esta técnica garante que os estados de liga e desliga sejam consistentes mesmo se a voltagem não for.
•O botão se liga na alimentação (5v) em um lado.
•O outro lado no resistor de 10KΩe na porta 2.
•A outra conexão do resistor fica no terra.
Potenciômetro
•O potenciômetro possui três conectores.
•Devemos ligar o primeiro dele na fonte de alimentação da protoboard(5v), o terceiro no terra e o do meio na porta analógica A1.
•O potenciômetro devolve um valor entre 0 e 1023.
•Como vamos regular os leds(0-255 lembra?) devemos mapear os resultados lidos do potenciômetro com os configurados no led.
Funcionamento desejado
Inicio Leds Vermelho , Verde e Azul acesos .
1º toque no botão, Controla Intensidade Led Vermelho.
2º toque no botão, Controla Intensidade Led Verde.
3º toque no botão, Controla Intensidade Led Azul.
- Pressionar o botão uma vez e selecionar o ledvermelho. Os outros devem apagar e somente ele se acender.
- Usar o potenciômetro para configurar sua intensidade.
- Pressionar o botão uma segunda vez e selecionar o ledverde. Repetir o mesmo processo.
- Pressionar o botão uma terceira vez e selecionar o ledazul. Repetir o mesmo processo.
- Pressionar o botão uma quarta vez e todos devem se acender na intensidade selecionada individualmente pelo potenciômetro.
A Execução do Projeto
arduino nano
Após Conseguir a Solução para Configuração Do Arduino Nano na IDE.
MoodLamp
- int ledAzul = 9;
- int ledVerde = 10;
- int ledVermelho = 11;
- int botao = 2;
- int estadoBotao = 0;
- int intensidadeVermelho = 255;
- int intensidadeVerde = 255;
- int intensidadeAzul = 255;
- int pot;
- boolean botaoPressionado();
- void setup()
- {
- pinMode(ledVermelho, OUTPUT);
- pinMode(ledVerde, OUTPUT);
- pinMode(ledAzul, OUTPUT);
- pinMode(botao, INPUT);
- }
- void loop()
- {
- if (botaoPressionado())
- estadoBotao++;
- if (estadoBotao == 0)
- {
- analogWrite(ledVermelho, intensidadeVermelho);
- analogWrite(ledVerde, intensidadeVerde);
- analogWrite(ledAzul, intensidadeAzul);
- }
- else if(estadoBotao == 1)
- {
- digitalWrite(ledVerde, 0);
- digitalWrite(ledAzul, 0);
- pot = analogRead(A1);
- intensidadeVermelho = map(pot, 0, 1023, 0,255);
- analogWrite(ledVermelho, intensidadeVermelho);
- }
- else if(estadoBotao == 2)
- {
- digitalWrite(ledVermelho, 0);
- digitalWrite(ledAzul, 0);
- pot = analogRead(A1);
- intensidadeVermelho = map(pot, 0, 1023, 0,255);
- analogWrite(ledVerde, intensidadeVerde);
- }
- else if(estadoBotao == 3)
- {
- digitalWrite(ledVermelho, 0);
- digitalWrite(ledVerde, 0);
- pot = analogRead(A1);
- intensidadeAzul = map(pot, 0, 1023, 0,255);
- analogWrite(ledAzul, intensidadeAzul);
- }
- else if(estadoBotao == 4)
- estadoBotao = 0;
- }
- boolean botaoPressionado()
- {
- int foiPressionado = LOW;
- foiPressionado = digitalRead(botao);
- delay(200);
- return(foiPressionado == HIGH);
- }
Inicio Leds Vermelho , Verde e Azul acesos .
1º toque no botão, Controla Intensidade Led Vermelho.
2º toque no botão, Controla Intensidade Led Verde.
3º toque no botão, Controla Intensidade Led Azul.
Demonstrando a Intensidade Modificada pelo Potenciometro.
Nenhum comentário:
Postar um comentário