Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[Bascom][ATmega8]Zliczanie osób na schodach

jacek1987-1987 03 Lut 2013 20:25 1734 8
  • #1 03 Lut 2013 20:25
    jacek1987-1987
    Poziom 11  

    Witam jestem początkujący w programowaniu i potrzebuję pomocy w napisaniu programu do zliczania osób wchodzących oraz schodzących ze schodów. Docelowo program ten ma być wykorzystany do sterowania oświetleniem schodów. Ma to działać na zasadzie takiej że jak ktoś wchodzi od dołu to zostaje zwiększona wartość jakiegoś licznika a jak zejdzie ze schodów na górze to wartość tego samego licznika ma być zmniejszona i podobnie przy wchodzeniu od góry i zejściu na dole. Próbowałem to zrobić na takiej zasadzie jak działa enkoder żeby były zliczane sygnały lecz niestety to mi nie wyszło. Szukałem podobnych programów do obsługi enkodera ale to co udało mi się znaleźć nie działało tak jak zakładałem sobie. Mógłby mi ktoś pomóc w rozwiązaniu tego problemu jak to zrobić, zasugerować jakieś fragmenty kodu. Będę wdzięczny za pomoc

    0 8
  • #2 03 Lut 2013 22:53
    mickpr
    Poziom 39  

    2 Czujniki ruchu (czujki PIR).
    Na podstawie wykrywania kolejności zdarzeń jesteś w stanie (teoretycznie) określić czy ktoś schodzi, czy wchodzi.
    Teoretycznie, bo jak będzie szła para trzymając się za ręce?
    A jak będzie ktoś schodził i jednocześnie ktoś inny będzie wchodził?

    Temat do przemyślenia.

    0
  • #3 03 Lut 2013 23:14
    Quorce
    Poziom 12  

    Oczywiście do najprostrzej wersji wystarczą dwa czujniki, chociaż ja użyłbym ultradźwięków z małym kątem (np. 15 stopni), albo coś w stylu "laser - odbiornik" i z przerwania na dole schodów i u góry można już naskrobać jakiś programik do obsługi światła czy co tam chcesz... ;)

    0
  • #4 04 Lut 2013 14:57
    jacek1987-1987
    Poziom 11  

    Planowałem użyć do tego wszystkiego 4 czujników konkretnie jeszcze nie wiem jakich zastanawiałem się nad jakimiś fotokomórkami, rozważam też czujniki ultradźwiękowe. Po dwa czujniki na górze i na dole. Z tym że jeden na dole jest do zapalania świateł jak ktoś wchodzi od dołu na schody, a drugi do gaszenia jak ktoś schodzi z góry ze schodów. Na górze tak samo dwa czujniki i na takiej samej zasadzie jak na dole. Tylko nie wiem jak to ogarnąć z programem aby była możliwość wykrywania kierunku ruchu, a jest mi potrzebne wykrywanie kierunku ruchy na wypadek jak by ktoś zawrócił na schodach i żeby wtedy nastąpiło wykonanie jakiejś tam sekwencji którą sobie wymyśle na wypadek gdyby ktoś zawrócił na schodach. Dlatego prosił bym jeśli by ktoś mógł żeby mi pomóc z programem jak to ma być

    0
  • #5 04 Lut 2013 16:03
    BlueDraco
    Specjalista - Mikrokontrolery

    Wystarczą zwykłe bariery świetlne, minimum dwie - można próbować z większą ilością. Rzecz w tym, że zawsze można pokazać taką sytuację, w której będzie jakiś kłopot - machnięcie ręką, zatrzymanie się, mijanie się dwóch osób, wspólne przejście i osobny powrót itd. Moim zdaniem nie ma tu prostego i niezawodnego rozwiązania - jest mnóstwo możliwości błędnej interpretacji odczytów czujników.

    0
  • #6 04 Lut 2013 20:59
    jacek1987-1987
    Poziom 11  

    Ja myślałem aby czujniki umieścić nisko tak żeby reagowały na przecięcie wiązki przez nogi. Domyślam się że może się nie udać wyeliminować wszystkich "możliwości błędnej interpretacji odczytów czujników" ale chciałbym je ograniczyć dlatego też między innymi do tego celu chce wykorzystać zliczanie osób na schodach i żeby oświetlenie schodów zgasło dopiero wtedy gdy już nikogo nie będzie na nich

    0
  • #7 04 Lut 2013 21:21
    BlueDraco
    Specjalista - Mikrokontrolery

    Jeśli postawisz przy schodach człowieka, który będzie instruował wchodzących, że mają nogi stawiać oddzielnie, nie skakać i nie podnosić za wysoko oraz nie będzie wpuszczał pań w spódnicach do kostek, to może nawet zadziała. A tak realnie - zliczanie jest skazane na niepowodzenie, chyba że zainstalujesz kołowrotek filtrujący osoby i będziesz wykrywał jego ruch.

    0
  • #8 04 Lut 2013 21:27
    mickpr
    Poziom 39  

    Najprościej wstawić coś takiego, jak jest na lotniskach.. (kołowrotek zliczający - jakkolwiek to się nazywa). Choć nie masz pewności czy dwóch chudzielców ci się nie wciśnie na raz.:)

    0
  • #9 04 Lut 2013 22:43
    piotrva
    Moderator na urlopie...

    Dokładnie jak napisały 2 ostatnie osoby. Ludzie są niestety z natury stworzeniami nieprzewidywalnymi i żeby we w miarę prosty sposób zrobić zliczanie możesz zastosować bariery optyczne (to rozwiązanie lepsze niż czujki pir - są bardziej dokładne), ale one zawsze będą obarczone błędami opisanymi powyżej. Bramki zliczające (pomijając osoby bawiące się nimi, bo przecież nie będą odblokowywane biletem) dadzą statystycznie lepszy efekt, ale wymagają już sporego nakładu pracy mechanicznej i utrudnienia korzystania ze schodów. Najlepsze wyniki dałyby na pewno kamery i odpowiednie oprogramowanie analizujące ruch osób, ale to już inny poziom bajki.

    Co do barier (bo to rozwiązanie o najlepszym współczynniku (jakość zliczania)/(rozmiar czujnika i jego skomplikowanie)) to tu najlepiej zastosować 2 pary barier. Tzn 2 bariery na dole i 2 na górze. To da Ci z grubsza rzecz biorąc informację o kierunku poruszającej się ciemnej masy. Kombinacja sygnałów z 2 barier w czasie: 00 10, 01 00 to wejście na schody, 00 01 10 00 to wyjście ze schodów. Podobnie na górnym czujniku i możesz już określić czy dany ludź wszedł na schody czy z nich wyszedł oraz potem odpowiednim algorytmem poprawiać wyniki (np. uznając, że 1/100 ludzi zawraca na schodach, a stan 11 to w takim a takim procencie przypadków 2 ludzi w przeciwnych kierunkach, a w takim parka idąca w jedną stronę). Można też założyć, że jeśli według systemu wynika, że na schodach przebywają jakieś osoby, a np. przez minutę nikt nie naruszy bariery po żadnej stronie to taka osoba to "duch" wynikający z błędu.

    Co do samej konstrukcji "mechanicznej" takich bramek, wyniki może poprawić zwężenie kanału dla ludzi (tak żeby mieściła się statystycznie 1 osoba). Także te podwójne czujniki muszą być umieszczone w odpowiedniej odległości i koniecznie na poziomie bioder lub wyżej przeciętnej osoby. Umieszczanie czujników przy nogach to pomyłka - szansa, że ktoś trafi we "wiązkę" w odpowiedni sposób maleje wraz ze spadkiem wysokości od poziomu kroku. Bo poniżej tego poziomu możesz mieć albo kilka impulsów na osobę (ruchy nóg) albo wogóle brak impulsów (jeśli czujki będą na poziomie stóp).

    Ale mówimy o schodach, więc rozważmy jeszcze jedną możliwość - zastosowanie większej ilości barierek IR (można umieścić miniaturowe elementy pod poręczami czy nisko nad stopniami) i sprawdzać po kolei te bariery (skanowanie, aby wyeliminować wzajemne zakłócanie pracy) i jeśli któraś jest przerywana to znaczy że ktoś stoi na schodach. Nie wiem jakie to oświetlenie, ale można taki patent ładnie schować przy obudowach oświetlenia przy stopniach, ale wiadomo z drugiej strony to znacznie większa ilość elementów i okablowania do prowadzenia (w zależności czy bariery będą samymi elementami pasywnymi, czy też np. minimodułami sterowanymi przez RS285, ale wtedy wzrastają też koszta...)

    0