Professional Documents
Culture Documents
LDR e disparo atravs de uma porta digital Esse experimento prope que a partir da leitura de um LDR ligado em uma porta analgica, perceber que um feixe de luz foi bloqueado. Por exemplo acender um LED vermelho em uma porta digital. Nesse experimento sero utilizados os seguintes componentes: 1 LDR um resistor de 33Kohms, 1 led, 1 resistor de 1 a 2,2 Ohm, alguns fios. 1 passo Leitura na porta Analgica LDR na porta Analgica So dispositivos eltricos que tm a sua resistncia eltrica alterada com a incidncia de luz. Com o circuito usando um LDR, um resistor podemos efetuar leitura de tenso no LDR atravs da porta analgica do Arduino.
+V R
//Codigo int LDR; void setup(){ pinMode(A0, INPUT); Serial.begin(9600); } void loop(){ LDR = analogRead(A0); Serial.print("Valor lido no LDR:\t"); Serial.println(LDR); delay(250); }
GND
Copie o cdigo e faca upload para o Arduino e abra o monitor serial. Neste cdigo introduza a linha para leitura da tenso no LDR.
Incida um feixe de luz (lanterna da ponteira) no LDR. Veja qual ser o valor de VLDR e LDR (em decimal- frase binria correspondente) quando o feixe de luz e bloqueado Em seguida estabelea a condio para o disparo do alarme. Se a leitura na analgica for maior que o valor obtido na calibrao escreva da porta digital 13 HIGHT, seno escreva LOW Cdigo int LDR; //declara variavel float VLDR; int ledPin=13; void setup(){ Serial.begin(9600); pinMode(A0, INPUT);// entrada A0 pinMode(13,OUTPUT); // define o pino 13 como saida } void loop(){ LDR = analogRead(A0); VLDR=LDR*5.0000000/1024; Serial.print(LDR); Serial.print(" "); Serial.print(VLDR); Serial.println ( "\t"); delay(2); if (LDR > valor que vc vai calibrar) { escreva da porta digital 13 tal coisa} else { escreva oposto da condio anterior;} }
2 Marisa Cavalcante e Eduardo Silva Damasceno ( marisac@pucsp.br )
Orientao para o Cdigo int LDR; //declara variavel float VLDR; int ledPin=13;
pinMode(A0, INPUT);// entrada A0 pinMode(13,OUTPUT); // define o pino 13 como saida pinMode(9,OUTPUT); } void loop(){ LDR = analogRead(A0); VLDR=LDR*5.0000000/1024; Serial.print(LDR); Serial.print(" "); Serial.print(VLDR); Serial.println ( "\t"); delay(2); if (LDR > valor que vc vai calibrar) { escreva da porta digital 13 tal coisa} toque a freqncia de 440 Hz (funo tone no pino 9) else { escreva oposto da condio anterior; e no toque nada 9 noTone no pino 9; } }