Pages

Ads 468x60px

Labels

Featured Posts

Aula do dia 28/04/2012‏ (LDR)

IMAGEM DO PROJETO:



PROGRAMAÇÃO DO PROJETO: (LDR)


int LDR; //declara a variável 
float VLDR;
float Vr;
float I;
float P;
float RLDR;
unsigned long time;

void setup() { 
pinMode(A0, INPUT);
Serial.begin(9600);
  }
                                                                        
void loop() {
time = millis();
LDR = analogRead(A0);
VLDR=LDR*5.0/1024 ;
Vr=5.0-VLDR;
I=Vr/10;
P=5.0*I;
RLDR=VLDR/I;

Serial.print(LDR);
Serial.print("    ");
Serial.print(VLDR,3);
Serial.print("    ");
Serial.print(Vr, 3);
Serial.print("    ");
Serial.print(I,3);
Serial.print("    ");
Serial.print(P,3);
Serial.print("    ");
Serial.print(RLDR,3);
Serial.print("    ");
Serial.println(time);
Serial.print("    ");

    delay(1000);
         }

Som com o Arduino e um LDR

A ideia deste experimento é produzir um som cuja frequencia depende da intensidade da luz.
Circuito:
1. Um LDR é conectado através do um resistor a entrada analogica do Arduino (no exemplo analog 0). No exemplo utilizamos R= 33 Kohms conectado no +V e o LDR em GND.
2. Utilizaremos a saida 9 do Arduino e apenas por precaução um resistor de 330 a 1 Kohms em serie com o alto falante. Veja a figura abaixo com o esquema.
A foto da montagem também pode ser visualizada abaixo:


O código segue abaixo:
int LDR; //declara variavel
float VLDR;
int som; // variavel som para o alarme

void setup(){
Serial.begin(9600);
pinMode(A0, INPUT);// entrada A0
}

void loop(){
LDR = analogRead(A0);
VLDR=LDR*5.0000000/1024;
Serial.print(LDR);
Serial.print(" ");
Serial.print(VLDR);
Serial.println ( "\t");
delay(2);

int som = map(LDR, 100, 200, 100, 1000); // toca o som com uma frequencia que
//varia de 100 a 1000 Hz de acordo com a distancia:
tone(9, som, 10000);
}
Segue o link para o tutorial "Tone" que mostra como utiliza-lo lhttp://arduino.cc/en/Reference/Tone

Passos:
1. Cole o código acima na IDE do Arduino
2. Imprima os valores lidos no LDR e verifique o intervalo que pretende obter o sinal sonoro
3. A função " int som = map(LDR, 100, 200, 100, 1000)" fará esta conversão em valor lido no LDR (aqui está em decimal , varia de 0 a 1023 e está em vermelho) e a saída para o pino 9 será um sinal cuja frequência esta variando de 100 a 1000 e está em azul)
4 a função " tone(9, som, 10000)" indica; pino de saída , frequência, que no caso deixaremos dependente da distancia e portanto da leitura no LDR, e o tempo de duração em geral maior do que 100 ms, para retirar o ruido de fundo.



FONTES: http://picjrintelpucsp.blogspot.com/

Followers