collapse

* Posts Recentes

Emulador NES em ESP32 por dropes
[13 de Março de 2024, 21:19]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]


Distancia Cabo por jm_araujo
[08 de Janeiro de 2024, 16:30]


Meu novo robô por josecarlos
[06 de Janeiro de 2024, 16:46]


Laser Engraver - Alguém tem? por almamater
[16 de Dezembro de 2023, 14:23]


Focos LED SMD por almamater
[16 de Dezembro de 2023, 14:12]


I Belive por dropes
[15 de Dezembro de 2023, 13:59]


Carga de corrente eletrónica ZPB30A1 60W por jm_araujo
[11 de Dezembro de 2023, 13:27]

Autor Tópico: Dúvida sobre o sensor RCWL-0516  (Lida 1752 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline luisjustin

  • Mini Robot
  • *
  • Mensagens: 161
    • Meu site
Dúvida sobre o sensor RCWL-0516
« em: 16 de Julho de 2021, 21:24 »
Olá, estou com algumas dúvidas sobre esse sensor RCWL-0516 esse sensor,



Eu pesquisei e dizia que pega distancia aproximada de 7 metros, eu preciso de no máximo de 0,6 metros a 1 metro. eu irei colocar em uma porta, no caso eu tenho 1 porta de entrada no local e uma de saída para contar a média de pessoas que entraram e saíram.

Se poderem me ajudar sobre isso pois hoje uso sensor IR e não está se mostrando eficaz mas esse pelo que pesquisei é por micro-ondas e para bem mais eficaz.


Atualmente o sensor que utilizo é o E18-d80nk que uso é esse da imagem abaixo:



Alguém já utilizou ele ? Poderia me dar feedback ?

Offline blabla

  • Mini Robot
  • *
  • Mensagens: 257
Re: Dúvida sobre o sensor RCWL-0516
« Responder #1 em: 17 de Julho de 2021, 22:39 »
Boa noite Luis Justin,

penso que uma boa forma de aprenderes como funciona este sensor de micro-ondas de efeito doppler e como podes usá-lo com um Arduino é veres o artigo seguinte com atenção e o vídeo que está no artigo.

Experiments with the RCWL-0516 – Doppler Radar Distance Sensor
https://dronebotworkshop.com/rcwl-0516-experiments/

Como vais conseguir contar pessoas com precisão com ele já é um outro problema :-D
Imagina alguns casos de exemplo, imagina que tens duas pessoas a passar na porta ou zona estreita onde queres por o sensor, como as vais conseguir distinguir com um sensor de micro-ondas de efeito doppler que o que vai detetar é se te estas a aproximar ou a afastar e vai colocar um pino a high se detetar pelo menos um desses dois tipos de movimento?

Eu se não me engano já disse num e-mail anterior que uma solução que tem mais probabilidade de funcionar é uma simples zona de estreitamento da passagem e um corte de um feixe de luz. Pensa num LED (que pode ser de infravermelhos com um pequeno tubo preto fino) e de um foto-transistor recetor. Normalmente o feixe está em funcionamento e quando vai a zero então detetas o impulso no teu microncontrolador. Fazes deboucing e depois terás de filtrar para falsos alarmes coisa como impulsos muito rápidos por exemplos dos braços a andarem para a frente e para trás. E algo assim. Terás de fazer em código alguma espécie de filtro, terás de testar, terás de ajustar. É uma coisa relativamente simples de se fazer sem grande precisão, mas com muita precisão não é muito fácil por isso é que se usam torniquetes para contar pessoas e garantir que só passa um de cada vez.

O sensor de radar doppler de microondas que indicas funciona como um sensor PIR de infravermelhos, mas também podes fazer algo idêntico com um PC com um speaker (geras um tom inaudível acima dos 18KHz e a menos dos 22KHz) e com um microfone (fazes uma FFT - transformada de Fourier rápida, subtrais uma prévia FFT sem movimento e procuras por amplitude à direita e à esquerda do teu bucket ou bin da tua frequência do ton, se tiveres amplitude nesse bin maior do que um threashold acabaste de detetar pessoas a afastarem-se ou a aproximarem-se, consoante elas vem ou vão mais depressa ou mais devagar, com um pouco de jeito e com uma FFT longa de 1 segundo (menos precisão temporal, mas mais precisão espectral) consegues inclusive calcular a sua velocidade média nesse segundo) e assim detetas o movimento por alteração da velocidade dos objetos, ou seja não deteta objetos parados.


No meu github  tenho uma implementação disso de um paper que apareceu da Microsoft à uns anos.

Computer Doppler RADAR
https://github.com/joaocarvalhoopen/computer_Doppler_RADAR

Mas o problema é sempre o mesmo como garantir que duas pessoas não andaram em simultâneo em direção ao sensor ou a afastar-se do sensor, ou uma a aproximar-se e outra a afastar-se?

Uma versão mais avançada de um contador de pessoas consegue-se fazer com uma camara e OpenCV (vem com um detetor de faces para rostos sem mascaras) ou com Machine Learning (Deep Learning com CNN’s ou mais avançado com o modelo do Yolo) e existem empresas que fazem software que faz isto, mas a complexidade sobe muito e as mascaras usadas em pandemia vieram complicar muito o criar destes detetores. Tinhas de criar um dataset e de treinar um classificador, detetar a posição da cara na camara e seguir as pessoas no que consideravas ser a zona de passagem na imagem de dentro para fora do recinto.

Por tudo isto se fosse eu, talvez usa-se a solução de um corte de um feixe de luz que é a versão mais fácil mas como é óbvio terá sempre um certo erro aleatório associado, se o afinares e filtrares diminuirás o erro, mas terá sempre um certo erro. Podes sempre passar uns dias à porta do espaço a medir com um contador de mão o numero de pessoas real e depois comparar com o numero que o teu sistema obteve e assim balizar um erro médio da tua contagem e talvez de o conseguir afinar um pouco melhor com vista a diminui-lo.

Podes inclusive fazer uma coisa engraçada que é fazer essa contagem ligada ao microcontrolador a um switch e depois gravares um log para PC por porta serie-USB do que o teu sistema contou em termos de impulsos temporais e o que tu contaste sempre no mesmo ponto e assim depois com esses dados tentar melhorar o teu filtro (os seus tempos). Por fim podes treinar um algoritmo de ML num PC e depois colocá-lo a correr no teu microcontrolador como uma função (o teu filtro inteligente ou classificador) que recebe a lista de impulsos e os seus deltas temporais e que determina se é uma contagem e de quantos, estilo classificador. Ex output: 0 pessoas, 1 pessoa, 2 pessoas, 3 pessoas, 4 pessoas, algo assim.

Cumprimentos,
João