Circuito a ser montado
Partes
do Circuito
Botão
O botão será usado para ligar ou desligar
o circuito.
- Ele deve ser conectado a porta 13 do Arduino.
- Ao ser pressionado a primeira vez ele liga o circuito.
- Ao ser pressionado novamente ele desliga o circuito.
Partes
do Circuito
Buzzer
O Buzzer será usado para dar um retorno auditivo
de diversas situações.
- Ele deve ser ligado à porta 11 do Arduino
- Toda vez que o botão for pressionado ele deve emitir um som.
- Quando a intensidade de luz muda ele deve emitir um som.
- Quando o circuito é desligado ele deve emitir um som.
Partes
do Circuito
LDR
O LDR serve para ler a intensidade de luz
disponível.
- Ele deve ser ligado à porta A0 do Arduino
- Quando o circuito está ligado ela deve ser lida, e conforme a intensidade de luz, ascender o led branco.
Partes
do Circuito
LEDs
Os LEDs serão usados para indicação visual e
iluminação
•O
LED vermelho deve estar aceso quando o sistema estiver em stand by
(energizado e desligado).
•O
LED verde deve estar aceso quando o circuito estiver ligado.
•O
LED branco deve ficar aceso quando o circuito estiver ligado conforme a
intensidade de luz do LDR (quanto menos luz disponível, mais aceso deve estar o
LED).
LuzNoturna
- int ligado = LOW;
- int botao = 13;
- int ledverde = 10;
- int ledvermelho = 12;
- int ledbranco = 9;
- int buzzer = 11;
- int valoranteriorLDR = 0;
- int valoratualLDR = 0;
- boolean botaoPressionado();
- void som(int frquencia, int duracao);
- int leLDR();
- void setup()
- {
- pinMode(botao, INPUT);
- pinMode(ledverde, OUTPUT);
- pinMode(ledvermelho, OUTPUT);
- pinMode(ledbranco, OUTPUT);
- pinMode(buzzer, OUTPUT);
- }
- void loop()
- {
- if (botaoPressionado())
- {
- som(10, 100);
- if (ligado == LOW)
- ligado = HIGH;
- else
- ligado == LOW;
- }
- if (ligado == LOW)
- {
- digitalWrite(ledvermelho, HIGH);
- digitalWrite(ledverde, LOW);
- digitalWrite(ledbranco, LOW);
- }
- else
- {
- digitalWrite(ledvermelho, LOW);
- digitalWrite(ledverde, HIGH);
- valoratualLDR = leLDR();
- if (valoranteriorLDR != valoratualLDR)
- {
- valoranteriorLDR = valoratualLDR;
- analogWrite(ledbranco, valoratualLDR);
- som(2000, 5);
- }
- }
- }
- boolean botaoPressionado()
- {
- int foiPressionado = LOW;
- foiPressionado = digitalRead(botao);
- delay(200);
- return (foiPressionado == HIGH);
- }
- void som(int frequencia, int duracao)
- {
- analogWrite(buzzer, frequencia);
- delay(duracao);
- analogWrite(buzzer, 0);
- }
- int leLDR()
- {
- int i;
- int auxLDR;
- auxLDR = 0;
- for (i = 0; i < 10; i++)
- auxLDR += analogRead(A0);
- auxLDR /= 10;
- auxLDR = map(auxLDR, 0, 500, 0, 200);
- if (auxLDR < 20) auxLDR = 0;
- if (auxLDR > 200) auxLDR = 255;
- return auxLDR;
- }
Projeto Montado e Funcionando
Nenhum comentário:
Postar um comentário