Você está na página 1de 3

ENTRADAS ANALÓGICAS - LDR

Experimento 1 - “Theremin” com LDR e potenciômetro


Material necessário:

 Arduino UNO + cabo USB + computador


 Potenciômetro de qualquer valor (ex: 10k, 100k)
 Resistor de 1k ohms
 LDR
 Alto-falante
 Protoboard, fios e jumpers

O circuito abaixo usa duas entradas analógicas. Uma para obter a leitura de
luz, e a outra para obter a posição do potenciômetro que será usada para
especificar um intervalo de tempo. A quantidade de luz no LDR irá variar a
tensão sobre o resistor de 1k (e consequentemente no pino A0). O mesmo
ocorre no pino A1, que obtém seu valor do divisor de tensão formado pelo
potenciômetro.

A saída PWM varia de 0 a 255, portanto em um circuito perfeitamente


calibrado, dividiríamos o valor lido em qualquer uma das entradas analógica
por 4 (1024/4 = 256) para usá-lo diretamente na saída. 
Teste a programação abaixo
#define FTE 12
#define LDR A0
#define POT A1

void setup() {} // pinMode é opcional com analogRead

void loop() {
int luz   = analogRead(LDR);
int pausa = analogRead(POT);
delay(pausa * .25);
int tom = luz * luz * luz / 16; // experimente outros valores
tone(FTE, tom);
}

Atividade 1 – Implemente o Serial Monitor para verificar a saída


do Sensor LDR
void setup() {

Serial.begin(9600); //Para aparecer no Serial Monitor

void loop() {

Serial.print("Saída do LDR: ");


Serial.println(luz);

Atividade 2 – Implemente um sinalizador com LED para indicar


a falta de LUZ.
Int led = 8;
void loop() {

if (luz>0 && luz<300){


digitalWrite(led, HIGH);
}
else{

digitalWrite(led, LOW);
}

FINAL
#define FTE 12
#define LDR A0
#define POT A1

int led = 8; // Para acender o LED quando faltar LUZ

void setup() {
Serial.begin(9600); //Para aparecer no Serial Monitor
pinMode (led, OUTPUT);
}

void loop() {
int luz = analogRead(LDR);
Serial.print("Saída do LDR: ");
Serial.println(luz);

if (luz>0 && luz<300){


digitalWrite(led, HIGH);
}
else{

digitalWrite(led, LOW);
}
int pausa = analogRead(POT);
delay(pausa * .25);
int tom = luz * luz * luz / 16; // experimente outros valores
tone(FTE, tom);

Você também pode gostar