Esta barra, indica o nível de dificuldade encontrado para cada experiência realizada.
sendo:
"VERDE", indicação de nível 1 a 5 (Fácil);
"AMARELO", indicação de nível 6 a 8 (Médio);
VERMELHO, indicação de nível 9 e 10 (Difícil);
sendo:
"VERDE", indicação de nível 1 a 5 (Fácil);
"AMARELO", indicação de nível 6 a 8 (Médio);
VERMELHO, indicação de nível 9 e 10 (Difícil);
Neste projetos iremos exemplificar o uso de chaves ópticas para acionar dispositivos e também como sensor para contagem de objetos e até mesmo controle de velocidade de objetos.
Uma chave óptica típica é um dispositivo em que existe uma fonte emissora, normalmente um LED infra-vermelho, e um receptor, geralmente um fototransistor, conforme mostra a figura abaixo. O dispositivo é montado de tal forma que entre o emissor e o receptor existe uma fenda onde pode ser introduzido um objeto. A introdução desse objeto interrompe o feixe de radiação do emissor, provocando uma mudança de estado do circuito.
As chaves ópticas são extremamente rápidas e têm a vantagem de não utilizarem contatos mecânicos que podem desgastar-se e ainda apresentarem problemas de repiques.
As chaves ópticas são usadas em automatismos, encoders de controle de movimento e robótica, e em muitas outras aplicações importantes relacionada a mecatrônica e opto-eletrônica.
As chaves ópticas são usadas também em mecanismos de segurança, diferente dos convencionais mas ainda assim muito semelhante ao funcionamento de uma chave e a sua fechadura. Nas chaves ópticas, a “chave” é um cartão com uma certa combinação ranhuras, que quando introduzida na “fechadura/fenda” permite abrir uma porta, um armário, dependendo daquilo que se quer proteger.
No nosso projeto, usaremos um cartão perfurado, para simular uma cremalheira ou até mesmo objetos, e assim poder contar ou verificar a velocidade de passagem de objetos.
Alguns modelos disponíveis:
MATERIAIS & COMPONENTES:
1 x Arduino Duemilanove, UNO ou MEGA
1 x BreadBoard
1 x Chave Óptica PHCT204
dataseheet: http://bioserver.cpgei.ct.utfpr.edu.br/disciplinas/microcontroladores/datasheets/PHCTX0X-chaveoptoeletronica.pdf
1 x resistor de 330 Ohms
1 x resistor de 10K Ohms
Cabos e Fios para as conexões
DIAGRAMAS & CIRCUITOS:
Abaixo o diagrama de interligação dos componentes.
Cartão usado para o teste de contagem e velocidade.
Esse cartão tem 8 passagem x 8 interrupções em 10cm de comprimento, isso significaria que:
se em 1 segundo eu conseguir contar os 16 estados completos, então o cartão estaria se deslocando a uma velocidade de 10 cm/s; poderiamos por exemplo, com um dente em uma roda, contar a quantidade de giros completos em RPM, e assim por diante.... existem vária utilizações para este tipo de projeto, use sua criatividade.
PROGRAMAÇÃO E SOFTWARE:
Você pode baixar o código completo para Arduino acessando o link:
http://www.4shared.com/file/uYoNHYoo/Chave_optica_1.html
Segue o código comentado:
/*
#####################################################################################
# Arquivo: Chave_optica_1.pde
# Micro-processador: Arduino UNO ou Teensy++ 2.0
# Linguagem: Wiring / C /Processing /Fritzing / Arduino IDE
#
# Objetivo: Sensor Optical Switch (chave óptica)
#
# Funcionamento: Contagem de Objetos, sistema de segurança
# com cartão de identificação perfurado, medida
# de velocidade de cremalheiras ou objetos,
# etc...
#
#
#
# Autor: Marcelo Moraes
# Data: 26/08/12
# Local: Sorocaba - SP
#
#####################################################################################
Este projeto contém código de domínio público.
A modificação é premitida sem aviso prévio.
*/
// deinições de variáveis
#define opticalPin 3
#define myDelay 1000
// executado na inicialização do Arduino
void setup(){
Serial.begin(9600); // inicializa a comunicação serial
pinMode(opticalPin, INPUT); // definição do pino do sensor
}
// loop principal do programa
void loop(){
// definição de varial para temporização
// pode armazenar temporização de até 50 dias
// myDelay é o tempo que queremos comparar
unsigned long endTime = millis() + myDelay;
// faz a leitura do sensor e guarda como estado prévio
byte previousState = digitalRead(opticalPin);
int counter = 0; // inicializa contador
// enquanto for menor que "endTime" executa
while(endTime > millis()){
// coloca estado do pino como estado corrente
byte currentState = digitalRead(opticalPin);
// se o estado conrrente não for igual ao estado prévio
if(currentState != previousState){
counter++; // acrescenta 1 ao contador
// faz estado prévio igual ao estado corrente
previousState = currentState;
}// continua executando
}
// imprime contador no monitor serial
// facilmente modificado se precisar imprimir em LCD
// ou display 7 segmentos
Serial.println(counter);
}
//FIM DA COMPILAÇÃO
VÍDEOS E TESTES:
Veja este vídeo no youtube e com uma melhor resolução:
http://www.youtube.com/watch?v=IsmYcm00z1s
Obrigado, e até o próximo Projeto!
Dúvidas e sugestões enviem para: arduinobymyself@gmail.com
Uma chave óptica típica é um dispositivo em que existe uma fonte emissora, normalmente um LED infra-vermelho, e um receptor, geralmente um fototransistor, conforme mostra a figura abaixo. O dispositivo é montado de tal forma que entre o emissor e o receptor existe uma fenda onde pode ser introduzido um objeto. A introdução desse objeto interrompe o feixe de radiação do emissor, provocando uma mudança de estado do circuito.
Chave óptica comercial, diagrama interno |
Circuito Típico com componentes discretos |
As chaves ópticas são extremamente rápidas e têm a vantagem de não utilizarem contatos mecânicos que podem desgastar-se e ainda apresentarem problemas de repiques.
As chaves ópticas são usadas em automatismos, encoders de controle de movimento e robótica, e em muitas outras aplicações importantes relacionada a mecatrônica e opto-eletrônica.
As chaves ópticas são usadas também em mecanismos de segurança, diferente dos convencionais mas ainda assim muito semelhante ao funcionamento de uma chave e a sua fechadura. Nas chaves ópticas, a “chave” é um cartão com uma certa combinação ranhuras, que quando introduzida na “fechadura/fenda” permite abrir uma porta, um armário, dependendo daquilo que se quer proteger.
No nosso projeto, usaremos um cartão perfurado, para simular uma cremalheira ou até mesmo objetos, e assim poder contar ou verificar a velocidade de passagem de objetos.
Alguns modelos disponíveis:
MATERIAIS & COMPONENTES:
1 x Arduino Duemilanove, UNO ou MEGA
1 x BreadBoard
1 x Chave Óptica PHCT204
dataseheet: http://bioserver.cpgei.ct.utfpr.edu.br/disciplinas/microcontroladores/datasheets/PHCTX0X-chaveoptoeletronica.pdf
1 x resistor de 330 Ohms
1 x resistor de 10K Ohms
Cabos e Fios para as conexões
DIAGRAMAS & CIRCUITOS:
Abaixo o diagrama de interligação dos componentes.
Cartão usado para o teste de contagem e velocidade.
Esse cartão tem 8 passagem x 8 interrupções em 10cm de comprimento, isso significaria que:
se em 1 segundo eu conseguir contar os 16 estados completos, então o cartão estaria se deslocando a uma velocidade de 10 cm/s; poderiamos por exemplo, com um dente em uma roda, contar a quantidade de giros completos em RPM, e assim por diante.... existem vária utilizações para este tipo de projeto, use sua criatividade.
PROGRAMAÇÃO E SOFTWARE:
Você pode baixar o código completo para Arduino acessando o link:
http://www.4shared.com/file/uYoNHYoo/Chave_optica_1.html
Segue o código comentado:
/*
#####################################################################################
# Arquivo: Chave_optica_1.pde
# Micro-processador: Arduino UNO ou Teensy++ 2.0
# Linguagem: Wiring / C /Processing /Fritzing / Arduino IDE
#
# Objetivo: Sensor Optical Switch (chave óptica)
#
# Funcionamento: Contagem de Objetos, sistema de segurança
# com cartão de identificação perfurado, medida
# de velocidade de cremalheiras ou objetos,
# etc...
#
#
#
# Autor: Marcelo Moraes
# Data: 26/08/12
# Local: Sorocaba - SP
#
#####################################################################################
Este projeto contém código de domínio público.
A modificação é premitida sem aviso prévio.
*/
// deinições de variáveis
#define opticalPin 3
#define myDelay 1000
// executado na inicialização do Arduino
void setup(){
Serial.begin(9600); // inicializa a comunicação serial
pinMode(opticalPin, INPUT); // definição do pino do sensor
}
// loop principal do programa
void loop(){
// definição de varial para temporização
// pode armazenar temporização de até 50 dias
// myDelay é o tempo que queremos comparar
unsigned long endTime = millis() + myDelay;
// faz a leitura do sensor e guarda como estado prévio
byte previousState = digitalRead(opticalPin);
int counter = 0; // inicializa contador
// enquanto for menor que "endTime" executa
while(endTime > millis()){
// coloca estado do pino como estado corrente
byte currentState = digitalRead(opticalPin);
// se o estado conrrente não for igual ao estado prévio
if(currentState != previousState){
counter++; // acrescenta 1 ao contador
// faz estado prévio igual ao estado corrente
previousState = currentState;
}// continua executando
}
// imprime contador no monitor serial
// facilmente modificado se precisar imprimir em LCD
// ou display 7 segmentos
Serial.println(counter);
}
//FIM DA COMPILAÇÃO
VÍDEOS E TESTES:
Veja este vídeo no youtube e com uma melhor resolução:
http://www.youtube.com/watch?v=IsmYcm00z1s
Obrigado, e até o próximo Projeto!
Dúvidas e sugestões enviem para: arduinobymyself@gmail.com
Nenhum comentário:
Postar um comentário