Problema na minha programação, sensor de presença sempre HIGH


#1

Olá bom dia pessoal, sou novato no ramo arduíno, já com alguma experiência em programação.
o que acontece que resolvi replicar um sistema que já consta aos montes na internet, STAIR LED STRIP WS2812b, ou seja um sistema que acende uma tira de led ao subir ou descer uma escada, estou utilizando 2 PIR sensor de presença. HC-SR501, aí é que começa meu problema, pois na lógica parecia simples, um programa rodando em loop, e se alguem passar em frente ao sensor ou aos sensores ele dispara uma sequencia programada acendendo os leds, imaginei que o sensor fosse, assim, ao detectar movimento ele arma/ ou muda seu status para HIGH, porém não imaginada que ele ficasse por muito tempo em HIGH, isto esta me afetando o desempenho do processo. Vou explicar um pouco como programei. Qd o sensor é ativado, entra em modo HIGH, disparando uma sequencia programada, e qd não tem movimento as luzes ficam apagadas, (é claro que inventei muitas outras coisas qd ficavam apagadas, pois se ninguem passar por algum tempo ele faz umas firulas, acende pulsa, etc… a cada tempo pré programado, e isto não é um problema, pois ao detectar movimento ele aborta as brincadeiras, e força o acendimento programado, utilizei colorwipe,… etc… acende em azul, e depois fica branco para clarear os degraus.) O problema é que o sensor, fica muito tempo em HIGH, estragando a programação, ou do nada ele entra no modo HIGH, Pesquisei e vi que ele tem um DELAY de 5 segundos para voltar ao modo LOW, mas se fosse somente isso, até tinha conseguido, o problema é que do nada as sequencias disparam… ja coloquei limitadores para as sequencias não se acionarem mais do que 2 ou 3 vezes seguidas.Forçando entrar em modo LOW, entendam que as vezes a gente se contradiz, pois a intenção era passou alguem, tem obrigatoriamente que acender na hora, se estiver parado, faz umas firulas, mas se passar alguem neste momento, deve-se interromper as firulas e acender modo forçado. Vejam que isto faz com que me contradiga no programa, pois se é para ficar apagado, então forço acender, se esta acendendo demais forço pra ficar parado… as vez buga tudo. Vou postar quem sabe alguem me ajuda. O programa ficou muito extenso e complexo,…pois adotei funções como disparo e modo randomico para escolher entre umas varias randomizações.
Alguem com um conhecimento mais avançado em PIR pode me ajudar a fazer com que somente detecte mesmo que houver movimentação ?, pois fica disparando do nada. então fui forçado a colocar limitadores para esses disparos errados. aguardo alguem me ajudar por favor, obrigado.


#2

Uns 12 anos instalando sensores PIR para alarmes residenciais me permitem te dizer que às vezes, até corrente de ar frio/quente pode disparar os sensores.
Em sua maioria eles tem um ajuste de sensibilidade, normalmente por um jumper interno.
Outra coisa : a saída desses sensores, pelo menos os comerciais, é via relê ou micro relê, vocẽ pode ter problema de bouncing.
Pode ser necessário mascarar alguns dos setores da lente (aquelas facetas que você vê no domo do sensor), cada setor é na verdade uma lente Fresnel, e você deve cobrir com pedacinhos de fita isolante ou tinta todas as facetas que não apontem para a área que você pretende monitorar.
Tem mais, mas isso é o essencial


#3

Olá boa noite, agradeço ao colega Ludicon pela ajuda, realmente um dos problemas era diminuir a área observada. Coloquei fita isolante e me ajudou muito deixei apenas o um buraco no centro ou seja, observação em linha reta.
Porém o problema inicial resolvi de outro modo, vou deixar aqui escrito pois alguém futuramente pode estar passando por este mesmo problema: Eu havia levado energia da fonte 5V 30A, até a fita, uns 2 metros de distancia com fio fino de rede, lá esta energia alimentava a fita de LEDs, alimentava também o meu primeiro PIR, a partir daquele ponto, como todos sabem a fita de LED leva energia até o último LED, ou seja no final da fita de 5 metros de LED, alimentei meu outro PIR, são 2 PIR´s ao todo, o que acontecia é que o PIR do final ficava mais louco que o PIR da ponta, fui perceber que os LED ao acender o BRANCO os LEDs iniciais ficavam brancos ja os finais meio amarelados, acreditei que a energia que ia pela fita, não estava sendo suficiente para atender a demanda, bom com este cenário resolvi mudar e levar a partir da fonte alimentação individual aos PIR´s, pronto problema resolvido !, Ah… deixei os 2 controles no mais baixo possível, para sensibilidade. Mudei também a trigger dos PIR para L, pois eles vem jumpeados em modo H, no meu caso esta ligado diretamente por uma trilha, cortei esta trilha e soldei em modo L este modelo não tinha o jumper soldado… Para quem não sabe ainda, em modo H, o sensor se mantem em modo H, enquanto tiver movimento na frente dele, e em modo L ele aciona uma vez apenas (o ideal para minha programacao), e somente volta a poder acionar depois de cumprido o tempo de uns 3 a 5 segundos sem movimento nenhum, Tá aí… sensibilidade no minimo, fita isolante para diminuir a área e alimentação independente. Agora está funcionando perfeitamente. Valeu.


#4

Nem comentei sobre a alimentação porque assumi que fosse independente, eu sempre usei alimentação separada para potência e para sinal.
Bom saber que funcionou !
Estude a possibilidade de usar sensores tipo barreira ótica ao invés de PIR


#5

Uma outra opção (Menos sensível a dar problema) é colocar sensores de ultrasom. Dependendo do comprimento da escada seria necessário colocar mais de um.
boa sorte.