Como fazer para acionar um rele apenas com a aproximação de um objeto?
Esta montagem didática mostra como pode ser simples a construção de um sensor de proximidade usando um pequeno microcontrolador e um sensor de distancia ultra-sônico como o HC-SR-04.
Veja o esquema abaixo:
O funcionamento deste sensor ultra-sônico é bem conhecido: Após um disparo no pino ‘Trig’ esperamos o pino ‘Echo’ ficar alto (‘1’) e contamos este tempo usando um timer ( no caso usamos o timer 1). Quando o pino ‘Echo’ fica em nível baixo (‘0’), desligamos o timer.
Este timer terá então o valor proporcional a distância do objeto.
Para facilitar os ajustes, foi colocado um potenciômetro (ou trimpot) de 4k7 que permite ajustar a distancia desejada da atuação do sensor. Deve ser ajustado com cuidado, primeiro colocando tudo a esquerda (anti-horário) e aumentando gradativamente até obter a distancia desejada. Note que acima de certo valor, a saída ficará ligado direto. No programa, foi colocado a constante ‘carga_tempo’ que define quanto tempo (em segundos), a saída ficará ligada após um breve acionamento. Se o objeto persistir na frente do sensor, não ocorrerá o desligamento.
No arquivo ‘.hex’ anexo, este tempo é de 10 segundos. Se desejar, poderá alterar o arquivo ‘c’ e recompilar, usando como sugestão, o compilador CCS C (v3.200) ou similar.
Para alimentar o circuito, foi usado um adaptador de parede com saída de 12 volts. Poderá usar uma fonte convencional com transformador de 110/220 para 12 volts, retificadores de silício, capacitores de filtro e um regulador 7805 para obter os 5 volts regulados. Outra opção é usar um rele de 5 volts na bobina e alimentar todo o conjunto com um carregador de celular de 5 volts de saída (tipo USB).
Esta montagem é de caráter didática, sendo realizada apenas em placa de protoboard, sujeita a bugs ainda não observados.
Segue pasta com os arquivos para esta montagem, atualizada em 27-06-2014, com opção para temporização rápida de 10 segundos ou longa de 5 minutos ( acionar lampada em corredor , ou mesmo, como um ‘alarme’, acionando uma sirene se houver ‘intrusos’):
Curiosidades:
Descobertas surpreendentes na linha do equador
Cirurgia plástica — faço ou não faço?
As plantas medicinais podem ajudá-lo?
O que devo saber sobre esteróides?
Como romper o círculo vicioso de famílias sem pai
Dicas de segurança para os idosos
Armadilhas na busca da beleza
Cochonilha-do-carmim — um inseto todo especial
Uma aspirina por dia: tomar ou não tomar?
O papel vital das enfermeiras
Idosos: reavaliando os conceitos
A espiritualidade e o seu bem-estar
Quando as substâncias químicas causam doenças
Outros assuntos:
Como controlar os gastos
Como fazer as pazes?
Por que pessoas boas sofrem?
Como enfrentar uma tragédia
Como disciplinar seu filho adolescente
Por que eu me corto?
Desempenhem bem o papel de pais
Como fazer seu segundo casamento dar certo
O que acontece quando morremos?
Como criar filhos responsáveis
Como administrar o seu dinheiro
Ensine valores morais a seus filhos
Como posso ter ânimo para exercitar
Como posso controlar meu peso?
Adolescentes- O que fazer se estou sofrendo bullying?
Como evitar ferir com palavras?
Como tratar seu cônjuge com respeito?
Assista a videos instrutivos on-line
Até o próximo artigo!!!
olá Claudio boa tarde poderia fazer essa versão funcionar com infravermelho foto emissores e foto receptores .til78 til32 abraços
Olá Marcos!
Quem sabe futuramente eu faça alguns testes a respeito (uso de foto emissores e foto receptores).
Cláudio
ola, claudio.
Montei este projeto e testei dentro de uma sala funcionou bem ( protoboard). Na hora que o levei para uma area maior ( desejo usa-lo para sensor de estacionamento colocado na parede) no caso minha area externa da casa, o mesmo aciona sem ninguem passar por perto. HOje nesse dia que estou testando ele o mesmo fica agora ligado direto. O que pode ser que esta fazendo isso?
Olá Carlucio!
Como você disse: ‘Na sala funcionou bem’, pode ser que alguma coisa na área externa esteja produzindo ultrassons que atrapalham o funcionamento do equipamento. O difícil é encontrar a fonte, uma vez que não podemos ouvir ultrassons.
Cláudio
Claudio, realmente este sensor so funciona em ambiente fechado ( o sensor precisa de receber a reflexao do sinal, sem ela ele fica perdido). Em uma sala fechada funciona bem ate 2m. Depois disso fica ligado direto. Em ambiente aberto o circuito fica liga-desliga direto. Não sabia que esse sensor era assim extremamente sensivel. Sera que existe alguma situação que melhorasse o circuito / sensor em ambiente aberto?
Olá Carlúcio!
Eu não saberia te responder se existe um jeito de melhorar isto. Tente o site do fabricante deste sensor, ou mesmo outros colegas que tenham usado ele em suas montagens. O programa postado apenas dispara o pulso de trigger e o resto é feito internamente pelo sensor. Depois o pic apenas mede o tempo de resposta com o timer 1, o qual corresponde a distancia. Porque ele dá uma falsa medição? Não sei. Talvez tenha que buscar junto as especificações de uso do fabricante alguma coisa que possa explicar este fato.
Cláudio
Claudio,
Descobri que o sensor quando fica em sua frente sem um obstaculo ou seja sem o retorno do echo, ele fica doido mesmo. Coloquei o mesmo virado para uma parede (em uma area aberta) numa distancia de 3m (não se pode ultrapassar os 4 metros) e o mesmo não fica mais liga desliga. Com passarinho cantando, carrocho latindo, mosquito voando proximo nada disso acionou o mesmo. O meu problema agora é o alcance do circuito, não passa de 1 metro. Estou utilizando um potenciometro de 10k isso interfere.
Olá Carlucio !
Creio que tanto faz usar um potenciômetro de 10k ou 4k7, ou mesmo de 1k, pois estamos usando apenas a tensão do cursor. Você procurou informações do fabricante?
Cláudio
Sobre a distancia resolvi o problema, esqueci do angulo de 15° do mesmo. Agora a informação do problema do liga desliga ( sem retorno do echo) foi tirado daqui deste site :http://blog.fazedores.com/sensor-ultrassonico-com-arduino/
Neste trecho: Se o obstáculo não estiver posicionado bem a frente do sensor você pode ter medidas imprecisas ou até mesmo não acusar a presença do mesmo.
Olá Claudio, como vai, tudo bem, sou eu de novo, Gilmar. Eu gostaria primeiramente de lhe parabenizar pelo seus projetos. Eu sempre procuro por novas ideias e sempre volto no seu site, porque realmente ele é muito vasto. Tem uma infinidade de projetos interessante. Eu estava procurando informações sobre projeto com o HC-SR04 para acionar uma comporta, quando se aproximar dela. Um comporta usada em refeitório, para quando a pessoa se aproxima, ela levanta para a pessoa jogar as sobras. Esse projeto foi o que precisava. Eu montei-0 no proto board para checar o funcionamento e ajustei o trimpot para acionar um led que coloquei no pino 6.Ajustei para uns 50cm, acionou o led normalmente, mas ele não apagou. Ele só apaga, quando toco com o dedo no resistor de 10k que esta ligado no pino 4. Eu compile seu programa para acionamento de 10s. Como eu lhe havia dito antes, ainda estou aprendendo o C e não conseguir achar nenhum problema no código. Se você puder me ajudar a ver o que estou fazendo de errado, eu agradeço. Eu também gostaria de lhe perguntar se é possível fazer alguma contribuição para seu site. Se for, me envie os dados depois. Voce deve ter meu e-mail no cadastro.
Olá Gilmar!
Fico feliz que o site lhe seja de ajuda! O arquivo ‘c’ que você compilou você fez alterações? Lembrou de ajustar para 10 segundos na seguinte linha do programa por comenta-la ?
//==============================================================================
// Tempo que a saída fica ligada após acionamento:
//
// #define tempo_longo //opção para minutos acionados <<<<<<<<<<<<<<<<—————————-comentou aqui colocando // na frente
//
// Descomente para tempo de 5 minutos ligado e comente para tempo de 10 segundos
//==============================================================================
Quanto a contribuir, a única forma de faze-lo é por clicar em 'doar' na pagina inicial. Não temos nenhuma outra provisão para isto como politica estabelecida do site.
Agradeço antecipadamente a sua boa vontade neste respeito.
Cláudio
Boa noite Claudio,muito obrigado pela resposta. Desculpe, mas houve um erro de interpretação da minha parte, ou seja, falta de atenção na leitura do texto. Foi só descomentar que funcionou blz. Eu até diminui o tempo para 5s, ficou muito bom. Muito obrigado.