Metodologia:
Foram testados dois tipos de circuito sensor:
Um sensor simples usando divisor de tensão entre um ldr e um resistor de 10kohm (ldr)
Um sensor com amplificação usando o mesmo divisor e um bc548 como amplificador (ldr com bc) e um resistor de 330 ohm (laranja laranja marrom) na base
Os sensores foram colocados sobre o branco, e após 3 segundos inicia a leitura, 10 leituras com intervalo de 0,1 seg entre elas. Após as 10 leituras, o programa calcula a média e envia os dados para o serial monitor. O processo foi repetido 5 vezes, totalizando 50 leituras e 5 médias.
O mesmo processo foi repetido colocando o sensor sobre uma etiqueta de 2,5x2,5 recoberta com fita transparente: 10 leituras com 5 repetições = 50 leituras e 5 médias.
Após este processo foi subtraído do valor de branco o valor do verde de cada teste (ldr e ldr com bc) e tirado a média das 5 repetições. O resultado indica qual processo apresentou a melhor amplitude.
Este processo foi repetido 2 vezes: na primeira vez o sensor estava em uma posição mais alta que o LED e no segundo experimento o sensor estava na mesma altura que o led.
Resultados
Conclusão
Pelos resultados apresentados podemos concluir que o sensor com maior amplitude entre o branco e o verde é o sensor com BC548 na mesma altura do led branco.
Anexos - programação utilizada
int x = 0;
int y = 0;
int ldr=0;
int ldr2=0;
void setup() {
// put your setup code here, to run once:
Serial.begin (9600);
delay (3000);
for (x=0; x<5; x++){
for (y=0; y<10; y++){
delay (100);
int leitura1 = analogRead (A0);
int leitura2= analogRead (A1);
ldr = leitura1+ldr;
ldr2=leitura2+ldr;
Serial.print (x);
Serial.print (", sem bc= ");
Serial.print (ldr);
Serial.print (", com bc= ");
Serial.print (ldr2);
Serial.println ();
}
ldr=ldr/10;
ldr2=ldr2/10;
Serial.print (y);
Serial.print (", media ldr= ");
Serial.print (ldr);
Serial.print (", media com bc= ");
Serial.print (ldr2);
Serial.println ();
ldr=0;
ldr2=0;
}
}
void loop() {
// put youry main code here, to run repeatedly:
}
Mostrando postagens com marcador ldr. Mostrar todas as postagens
Mostrando postagens com marcador ldr. Mostrar todas as postagens
domingo, 10 de abril de 2016
Teste de sensor de cor verde
Marcadores:
arduino,
ldr,
sensor de cor
terça-feira, 4 de dezembro de 2012
Sensor de cor com LDR
12 de Dezembro de 2012
Hoje nós fizemos a medida da sensibilidade do LDR variando os resistores.
O Teste foi feito com os LEDS das cores:
Branco, vermelho e verde.
Calculando os valores máximos e mínimos.
Os resultados foram:
Resultados com resistor de 10K ohm:
Resultados com resistor de 1K ohm:
Valor de mínimo e máximo do ldr usando led azul
Vídeo do teste
05 de Dezembro de 2012
Conversão de luz em som
PS: o barulho é irritante
Descrição
Hoje nós fizemos a medida da sensibilidade do LDR variando os resistores.
O Teste foi feito com os LEDS das cores:
Branco, vermelho e verde.
Calculando os valores máximos e mínimos.
Os resultados foram:
Resultados com resistor de 10K ohm:
Branco
|
Verde
|
Vermelho
|
|||
Max.
|
Min.
|
Max.
|
Min.
|
Max.
|
Min.
|
1003
|
676
|
1018
|
806
|
1012
|
789
|
1004
|
678
|
1019
|
808
|
1013
|
791
|
1012
|
680
|
1017
|
810
|
1014
|
792
|
1014
|
681
|
1016
|
804
|
1015
|
793
|
1016
|
682
|
1015
|
807
|
1016
|
795
|
Resultados com resistor de 1K ohm:
Branco
|
Verde
|
Vermelho
| |||
Max.
|
Min.
|
Max.
|
Min.
|
Max.
|
Min.
|
987
|
452
|
1005
|
646
|
1020
|
986
|
988
|
460
|
1010
|
646
|
1023
|
985
|
988
|
460
|
1011
|
647
|
1019
|
983
|
913
|
457
|
1009
|
648
|
1021
|
984
|
926
|
458
|
1008
|
649
|
1016
|
985
|
Valor de mínimo e máximo do ldr usando led azul
Vídeo do teste
05 de Dezembro de 2012
Conversão de luz em som
Tabela 1- Sensibilidade do LDR variando os resistores
5 cms de distancia do LDR ao LEDs
1k ohm
|
4k7 ohm
|
10k ohm
| ||||
Cor
|
Min
|
Max
|
Min
|
Max
|
Min
|
Max
|
Branco
|
189
|
210
|
649
|
701
| ||
Verde
|
121
|
173
| ||||
Vermelho
| ||||||
Tabela 2- Sensibilidade do LDR variando os resistores
5 cms de distancia do LDR ao led
1k ohm
|
4k7 ohm
|
10k ohm
| ||||
Cor
|
Min
|
Max
|
Min
|
Max
|
Min
|
Max
|
Branco
|
913
|
1004
|
314
|
582
| ||
Verde
| ||||||
Vermelho
| ||||||
Tabela 3- Sensibilidade do LDR variando os resistores
0,5 cms
1k ohm
|
4k7 ohm
|
10k ohm
| ||||
Cor
|
Min
|
Max
|
Min
|
Max
|
Min
|
Max
|
Branco
| ||||||
Verde
|
705
|
715
| ||||
Vermelho
|
410
|
423
| ||||
Descrição
Elaboração de um sensor de cor usando LDR e Arduino, com objetivo de utilizar na Olimpíada Brasileira de Robótica, no nível fundamental para reconhecer a cor verde e para o nível médio para reconhecer uma lata de refrigerante vermelha.
Teste 1- Simulação
Este teste foi feito através do SIMULINO - simulador do Arduino, usando o programa acima e variando os resistores. Não é preciso pois não usa led de 2 cores mas, o led tem controle de intensidade permitindo a determinação dos valores máximos e mínimos de cada resistor, permitindo uma prévia seleção do mesmo.
Conclusão
Segundo a análise dos resultados do Simulino, o sensor de 10k ohm obteve a maior faixa de valores de leitura e portanto, é considerado o mais sensível em relação aos outros resistores. Se faz necessário testes reais com os resistores para confirmar os dados. A programação utilizada é a mesma do teste 2.
Teste 2- Sensibilidade do LDR
Usaremos resistores de valores diferentes e faremos a leitura no Arduino dos valores para cor verde e vermelha (valor máximo e mínimo), usando um fade (PWM) fazendo com que o led bicolor reduza a intensidade, simulando a distância ótima do sensor em relação ao objeto. Colocaremos uma proteção tubo de caneta com fita isolante ou canudinho - para evitar a influência da luz ambiente.
Programação do Arduino:
Este programa tem a função de calibrar o LDR e ajudar a decidir qual resistor é o mais indicado
*/
void setup(){
pinMode (8, OUTPUT);
pinMode (7, OUTPUT);
pinMode (A0, INPUT);
Serial.begin (9600);
}
void loop (){
float LDR; //variável para leitura do LDR
LDR = analogRead (A0); //Leitura do LDR
//envia o valor para o monitor serial
Serial.print ("leitura do LDR= ");
Serial.println (LDR);
//Pino Vermelho
for(int fadeValue = 0 ; fadeValue <= 255; fadeValue +=5) // seleciona o valor numa escola de 0 a 255, aumentando de 5 em 5
analogWrite(8, fadeValue);
// espera 30 milissegundos para acabar o efeito
delay(30);
//Pino Verde
for(int fadeValue = 0 ; fadeValue <= 255; fadeValue +=5) // seleciona o valor numa escola de 0 a 255
analogWrite(7, fadeValue);
// espera 30 milissegundos para acabar o efeito
delay(30);
}
Montagem - Fritzing
3 resistores de 220 ohm
1 led bicolor - vermelho/verde
1 led alto brilho branco
1 ldr
1 resistor de 10kohm
1 resistor de 4k7 ohm
1 resistor de 1kohm
Arduino UNO
Fios
Resultados
Tabela 1- Sensibilidade do LDR variando os resistores
1k ohm
|
4k7 ohm
|
10k ohm
| ||||
Cor
|
Min
|
Max
|
Min
|
Max
|
Min
|
Max
|
Branco
| ||||||
Verde
| ||||||
Vermelho
| ||||||
Teste 3 - Sensor de cor
Após a calibração dos sensores, determinando qual resistor é mais adequado e qual o valor máximo e mínimo para cada cor o programa abaixo será complementado e testado em protoboard. O objetivo é que o led que acenda vermelho produza um ruído com frequência maior que o led que acenda verde.
Material
2 resistores de 220 ohm
1 resistor de 100 ohm
1 led bicolor - vermelho/verde
1 ldr
1 buzzer
1 resistor de ___kohm (depende do resultado do teste 2)
Arduino UNO
Fios
/* Programa para detecção de cores usando um ldr - sensor de cor para projeto OBR - Ensino Fundamental
O Led Vermelho acende alterando a frequência do Buzzer, o mesmo ocorrendo para o led verde
*/
void setup (){
pinMode (A0, INPUT); //ldr
pinMode (6, OUTPUT); // buzzer
pinMode (7, OUTPUT); //LED vermelho
pinMode (8, OUTPUT); //LED verde
Serial.begin (9600);
}
void loop(){
float LDR; //variável do LDR
LDR = analogRead (A0);//leitura do ldr
Serial.print ("valor do LDR =/t");
Serial.println (LDR);
//acende o led verde por 2 segundos
digitalWrite (8, HIGH);
delay (2000);
//acende o led vermelho por 2 segundos
digitalWrite (8, LOW);
digitalWrite (7, HIGH);
delay (2000);
//apaga o led vermelho
digitalWrite (7, LOW);
if ( ? <LDR< ?){ //se o led vermelho acender o buzzer oscila numa frequência maior
tone (6, LDR*1000);
}
if ( ? <LDR< ? ){
tone (6, LDR*1000);//se o led verde acender, o buzzer oscila numa frequência menor
}
}
? - faixa de valores depende do resultado do teste 2.
Assinar:
Postagens (Atom)

