Você está na página 1de 4

Universidade Estadual de Campinas

Faculdade de Tecnologia

Sensor Analógico

Microcontroladores 1
Drª Tália Simões dos Santos

Aluna: Thays Rodrigues Barboza


RA: 224782

Limeira, SP
2021
Desafio
Particionar a leitura do LDR em 3 partes para que obtenha 3 nı́veis diferentes de luz,
por exemplo, sem luz, pouco de luz e muita luz. Em cada uma dessas partes, acender um
led diferente, por exemplo, verde, vermelho e amarelo. E em um desses nı́veis acionar o
buzzer.

Desenvolvimento
Para a simulação do programa foi necessário conectar o positivo (fio vermelho) do
buzzer (terminal maior) ao pino digital 3 e o negativo ao GND no qual foi associado o
fio preto. Para usar o LDR, foi conectado um resistor de 1kΩ nos leds, o outro terminal
do resistor ficou conectado junto a um terminal do LDR (fio cinza) e ao pino analógico 0
(A0). Logo abaixo encontram-se a simulação e o código utilizado.

Figura 1: Circuito montado.

Figura 2: Circuito em simulação: led verde ligado.

1
Figura 3: Circuito em simulação: LDR ativado alternando para o led azul e buzzer sendo
acionado.

Figura 4: Componentes utilizados.

2
1 int led1 = 9; // variável led 1 - verde
2 int led2 = 10; // variável led 2 - azul
3 int buzz = 3; // variável buzz
4 int luminosidade = 0;// é atribuido o valor inicial 0
5

6 void setup()
7 {
8 Serial.begin(9600);//
9 pinMode (led1, OUTPUT);// led1 saı́da
10 pinMode (led2, OUTPUT);// led2 saı́da
11 pinMode (buzz, OUTPUT);// buzz saı́da
12 }
13

14 void loop()
15 {
16 luminosidade = analogRead (A0);// recebe os valores lidos na porta A0
17 Serial.println(luminosidade);// imprimir no monitor serial
18 delay(250);
19 if (luminosidade<300);// Se luminosidade < que 300 acende led verde
20 {
21 digitalWrite(led1,HIGH);// aceso
22 digitalWrite(led2,LOW);// apagado
23 digitalWrite(buzz,LOW);// buzzer desligado
24 }
25 else if (luminosidade >=300 && luminosidade <600)
26 {
27 digitalWrite(led1,LOW);// apagado
28 digitalWrite(led2,LOW);// apagado
29 digitalWrite(buzz,HIGH);// Buzzer acionado em intervalos
30 delay(500);
31 digitalWrite(buzz,LOW);
32 delay(500);
33 }
34 else
35 digitalWrite(led1,LOW);// apagado
36 digitalWrite(led2,HIGH);// aceso
37 digitalWrite(buzz,HIGH); // buzzer ligado
38 }

Você também pode gostar