O vídeo mostra o Arduino com um sensor Infra-vermelho detectando a entrada e saída de pessoas no LdG.
A ligação dos componentes com o Arduino está demonstrada abaixo:
Os fios do Infravermelho são: amarelo – dados(pino analogico A0), vermelho – 5V e preto – GND. Os pinos do buzzer são: preto - GND e vermelho – VCC(configurado para o pino digital 8 para quando o buzzer apitar, este será 5V).
Os LEDs foi configurado para as portas 2 e 3. Quando alguém chega, o Led verde acende e toca duas notas em uma sequência e quando alguém sai, o Led vermelho acende e toca duas notas em outra sequência. Para tocar notas diferentes, foi utilizada a biblioteca Tone para Arduino.
A programação que foi utilizada está abaixo:
#include <Tone.h> //Include the library
int IRpin= A0; //IR's pin
int Irval=0; //The value of IR
int threshold=100; //The threshold to activate the IR
int error = 10; //The error of IR
int temp[20]={0}; //Store the samples
int x=0; //Counter to temp
int y=0; //Counter to approaching
int z=0; //Counter to go away
int last = 0; //The last sample
int derivative = 0; //The derivative of samples
Tone player; //To play different tones
int note[]={NOTE_A3,NOTE_G4}; //The notes to play
void setup()
{
Serial.begin(9600);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
player.begin(11);
}
void loop()
{
x=0;
y=0;
z=0;
if(analogRead(IRpin)>=threshold)
{
do
{
IRval=analogRead(IRpin);
derivative = IRval - last;
last = IRval;
temp[x]=derivative;
Serial.println(temp[x]);
//Serial.println(IRval);
x++;
delay(75);
}while(x<20);
x=0;
for(x=0;x<20;x++)
{
if(temp[x]>=error)
{
y=y+1;
}
if(temp[x]<-error)
{
z=z+1;
}
}
Serial.print("approaching y=");
Serial.println(y);
Serial.print("go away z=");
Serial.println(z);
if(y>z && y>3)
{
Serial.println("Approaching");
digitalWrite(2, HIGH);
player.play(note[0]);
delay(200);
player.play(note[1]);
delay(200);
player.stop();
}
else if(z>y && z>3)
{
Serial.println("Go away");
digitalWrite(3, HIGH);
player.play(note[1]);
delay(200);
player.play(note[0]);
delay(200);
player.stop();
}
delay(200);
digitalWrite(2, LOW);
digitalWrite(3, LOW);
}
}
Referências:
Comentar
Olá eu consigo fazer ele acionar uma porta automatica na hora que a pessoa fica na frente do sensor? e fazer ela fechar.
bom projeto, gostaria de fazer algo parecido, mas no meu projeto o buzer só pode tocar, se o sensor captar entrada ou saida(no caso o movmento)3 vezes no intervalo de uma hora.alguem pode ajudaar
Paulo,
Tenta com este código aqui! -> http://pastebin.com/6U1ka5Mi
É o mesmo código que esta aqui postado.
O detalhe e que tem que estar com a versão 0.23 e a biblioteca do Tone instalada.
Qualquer duvida pergunta ai, depois fala se deu tudo certo.
a minha Copilacao ta dando erro,mas nao informa oq [e
ja alterei essa variavel IRval
otimo projeto, estou querendo montar um parecido com esse. Mas em vez de utilizar um LED para identificar a entrada e saida de pessoas queria mandar um sinal para aumentar ou diminuir a temperatura de um ar condicionado de uma sala. Queria saber se você Achar se é possível essa ideia. aguardo resposta....
otimo projeto, estou querendo montar uma torneira inteligente.... com a sua idéia, estava querendo trocar o buzzer por uma chave com transistor que aciona uma solenoide que libera a valvula da agua, certo? e somente um led para informar que a mão está próxima ao sensor... se eu estiver correto, você acha que o sensor reconhece as mãos???
Bom projeto!, o sensor usado, que tipo de sensor é, qual seu sinal, sabe em qual loja posso comprar pela internet esse sensor?
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por
Você precisa ser um membro de Laboratorio de Garagem (arduino, eletrônica, robotica, hacking) para adicionar comentários!
Entrar em Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)