Sari la conținut
ELFORUM - Forumul electronistilor

problema senzor miscare pir


shark020

Postări Recomandate

Oare n-ar fi mai simplu cu un senzor de distanta HC-SR04? Are o raza de detectie de 4m. Pentru o detectie mai buna, se pot pune 2 senzori la capete, astfel se elimina confuzia generata de existenta a doua persoane aflate pe scari. Si se pot obtine date mai precise relativ la pozitia obstacolului de pe scari.

Pornesc de la ideea ca sensorul este HC-SR501.

Ingustarea zonei de detectie la sensorul PIR se face prin obturarea lentilei fresnel cu banda izolatoare, de exemplu. De asemenea alegerea locului amplasarii senzorilor este foarte importanta, precum si reglarea senzitivitatii lor. Eu am amplasat in trei camere alaturate cate un senzor si mi-a dat ceva bataie de cap sa le gasesc locul. Si nici azi nu functioneaza perfect.

Alta problema de care m-am lovit este ca acesti detectori nu detecteaza prezenta, ci miscarea. Asa ca daca stau intr-un loc, fara sa ma misc, PIR-ul nu ma vede si se opreste, iar dupa aia trebuie sa dau din maini ca un ... Pe niste scari asta ar putea fi o problema de securitate.

Are doi semireglabili, unul pentru pentru senzitivitate si unul pentru intaziere (un delay care tine iesirea activa un timp dupa ce nu a mai fost detectata miscarea).

Jumperul de pe spatele senzorului: Pe pozitia H tine iesirea activa cat timp detecteaza miscarea, plus intarzierea setata din semireglabil. Pe pozitia L da un impuls la detectarea miscarii, apoi urmatorul impuls va fi la urmatoarea miscare, detectata DUPA ce s-a scurs delay-ul setat din semireglabilul corespunzator. Daca nu s-a scurs timpul setat acolo, nu da impuls.

In orice caz, este nevoie si de un senzor crepuscular, care sa detecteze nivelul de iluminare ambiant, usor de realizat cu un fotorezistor.

Ceva informatii se pot gasi si aici, de exemplu. Sau pe forum aici.

La 16.11.2020 la 1:54, shark020 a spus:

pornit iar apoi sa se opreasca vreau sa se opreasca cand sesizeaza iar prezenta.

Atentie, nu prezenta, ci miscarea! De aia am spus despre senzori ultrasonici. Si colegul @valivoidespre bariera IR. Pentru un pinpoint mai exact al prezentei, metodele astea sunt mai potrivite, cred eu.

Pentru ceva on/off e ceva mai incalcit, te incurca delayul. Si da, iti trebuie 2 senzori, la capete. Poate daca setezi jumperul pe L, atunci vei avea impulsuri, atasezi intreruperi pe intrari, hmmm, cred ca ar merge, dar repet, te incurca delayul.

In orice caz, implementarea este foarte simpla, codul initial imi pare a fi corect, trebuie doar sa te joci cu reglajele senzorului. Si sa ai multa rabdare, eventual seteaza intarzierea la minim, pentru teste, ca sa nu astepti 5 minute cat dureaza delayul la maxim.

Spor!

Link spre comentariu
  • Răspunsuri 26
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

Top autori în acest subiect

Imagini postate

1 oră în urmă, kit a spus:

Oare n-ar fi mai simplu cu un senzor de distanta HC-SR04? Are o raza de detectie de 4m. Pentru o detectie mai buna, se pot pune 2 senzori la capete, astfel se elimina confuzia generata de existenta a doua persoane aflate pe scari. Si se pot obtine date mai precise relativ la pozitia obstacolului de pe scari.

Pornesc de la ideea ca sensorul este HC-SR501.

Ingustarea zonei de detectie la sensorul PIR se face prin obturarea lentilei fresnel cu banda izolatoare, de exemplu. De asemenea alegerea locului amplasarii senzorilor este foarte importanta, precum si reglarea senzitivitatii lor. Eu am amplasat in trei camere alaturate cate un senzor si mi-a dat ceva bataie de cap sa le gasesc locul. Si nici azi nu functioneaza perfect.

Alta problema de care m-am lovit este ca acesti detectori nu detecteaza prezenta, ci miscarea. Asa ca daca stau intr-un loc, fara sa ma misc, PIR-ul nu ma vede si se opreste, iar dupa aia trebuie sa dau din maini ca un ... Pe niste scari asta ar putea fi o problema de securitate.

Are doi semireglabili, unul pentru pentru senzitivitate si unul pentru intaziere (un delay care tine iesirea activa un timp dupa ce nu a mai fost detectata miscarea).

Jumperul de pe spatele senzorului: Pe pozitia H tine iesirea activa cat timp detecteaza miscarea, plus intarzierea setata din semireglabil. Pe pozitia L da un impuls la detectarea miscarii, apoi urmatorul impuls va fi la urmatoarea miscare, detectata DUPA ce s-a scurs delay-ul setat din semireglabilul corespunzator. Daca nu s-a scurs timpul setat acolo, nu da impuls.

In orice caz, este nevoie si de un senzor crepuscular, care sa detecteze nivelul de iluminare ambiant, usor de realizat cu un fotorezistor.

Ceva informatii se pot gasi si aici, de exemplu. Sau pe forum aici.

Atentie, nu prezenta, ci miscarea! De aia am spus despre senzori ultrasonici. Si colegul @valivoidespre bariera IR. Pentru un pinpoint mai exact al prezentei, metodele astea sunt mai potrivite, cred eu.

Pentru ceva on/off e ceva mai incalcit, te incurca delayul. Si da, iti trebuie 2 senzori, la capete. Poate daca setezi jumperul pe L, atunci vei avea impulsuri, atasezi intreruperi pe intrari, hmmm, cred ca ar merge, dar repet, te incurca delayul.

In orice caz, implementarea este foarte simpla, codul initial imi pare a fi corect, trebuie doar sa te joci cu reglajele senzorului. Si sa ai multa rabdare, eventual seteaza intarzierea la minim, pentru teste, ca sa nu astepti 5 minute cat dureaza delayul la maxim.

Spor!

Avand in vedere ca sunt incepator in arduino ma cam da peste cap toate acestea. Ce vreau sa construiesc se gaseste pe youtube arduino stair light folosind o banda led adresabila ws2812b

Link spre comentariu

Este ciudat comportamentul senzorilor. Chiar acum fac un mic test cu un senzor similar si reactioneaza doar la miscare. Jumperul de selectie a modului de functionare trebuie pus pe LOW. Poti umbla la semireglabili pentru a stabili durata temporizarii, insa pentru a reactiona prompt si doar pe durata miscarii semireglabilii trebuie actionati la maxim spre stanga (privind partea portocalie).

Stai linistit, multi sunt incepatori si rezolva problemele.

In alta ordine de idei, daca mai deviati de la subiect, il inchid!

Editat de nico_2010
Link spre comentariu
Acum 15 ore, nico_2010 a spus:

Scuze, in postarea anterioara am uitat sa mentionez ca actionarea spre stanga a semireglabililor portocalii presupune ca lentila sa fie in jos.

Incearca asta:

motion-light_modificat.txt 11 kB · 0 descărcări

multumesc pentru ajutor, dar cand ii dau sa verifice codul am eroaree:  pinMode(motionPin2, INPUT);
  pinMode(LED, OUTPUT); exit status 1
'LED' was not declared in this scope

Link spre comentariu

Eh, asa-i la inceput. E mult pana departe. Inlocuieste in linia asta

pinMode(LED, OUTPUT);

cu ce trebuie

pinMode(LED_pin, OUTPUT);

 

Acum 6 ore, shark020 a spus:

'LED' was not declared in this scope

arata ca nu ai declarat variabila/constanta LED. Dar un pic mai sus este declarata constanta

const int LED_pin = 13; // 2nd variable for 2nd sensor

E un led pe pinul 13...

Fara a dori sa fiu rautacios, poate ar fi bine s-o iei mai incet, e cam stufos codul ala pentru un incepator.

Ca sugestie, posteaza inca o data tot ce vrei sa faci, cu ce hardware, cu ce software, apoi ce ai facut pana acum, ca deja totul e un pic dezlanat, nu se mai intelege nimic.

Spor!

Link spre comentariu

Un sfat: ia-o pe bucati, pentru inceput.

Testeaza separat PIR-ul cu sketch-ul din prima postare, apoi inlocuieste in al doilea sketch activitatea PIR-ului cu un buton si testeaza banda LED.

Cand lucrurile functioneaza corect, foloseste ultimil sketch pentru ale pune impreuna.

Un pont: poti testa senzorul PIR si doar legand o rezistenta in serie cu un LED (100 ohm...470 ohm si LED verde ... LED rosu). Daca LED-ul se aprinde de fiecare data cand te misti atunci senzorul functioneaza corect, altfel umbla la sensibilitate (trim-ul din stanga, cu lentila in jos), sau la delay (trim-ul din dreapta, care ar trebui initial rotit spre stanga la maxim). Am presupus ca jumper-ul este pus pe LOW.

Link spre comentariu
  • 2 luni mai târziu...

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări