Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Laserowy czujnik odbiciowy, sterowanie oświetleniem

efi222 31 Jul 2023 12:54 4095 8
  • Laserowy czujnik odbiciowy, sterowanie oświetleniem

    Nie ma nic odkrywczego w tym miniprojekcie, ale może komuś się przyda.
    Pewnego dnia postanowiłem zrobić animowane oświetlenie schodów (stopni).
    Podświetlanie stopni sekwencyjnie w górę albo w dół zależnie od kierunku wejścia na schody. Ale nie o tym tutaj jest mowa.
    O ile układ sterujący podświetleniem działał prawidłowo, opracowania wymagały układy wyzwalające na dole i u góry biegu schodów.
    Na początek najtańsze rozwiązanie, czyli czujniki PIR. Od razu powiem, że PIR w takim układzie to jakieś nieporozumienie. Bardzo wolny czas reakcji (1 - 2 sekundy) i nieprzewidywalna strefa zadziałania. Przez dwie sekundy można pokonać nawet trzy stopnie. Nijak tego nie mogłem ustawić, tym bardziej, że około 1 m od schodów przebiega domowy szlak komunikacyjny.
    Następnym pomysłem była bariera IR. Rewelacyjna szybkość reakcji. O ile pamiętam około 3 ms od przerwania wiązki. Wadą tego rozwiązania (przynajmniej w moim przypadku) było umieszczenie nadajnika i odbiornika po przeciwległych stronach wejścia na schody.
    I w końcu znalazłem rozwiązanie, które jest kompromisem czasu zadziałania i dość precyzyjnego ustawienia wykrycia obiektu. Laserowy czujnik odbiciowy. Moduł wykonuje około 50 pomiarów na sekundę. Jest to wystarczające do szybkiego uruchomienia układu sterującego oświetleniem.

    Opis układu:
    Moduł lasera VL53L1x w tym przypadku pracuje w trybie "short" (nota katalogowa) z maksymalnym zasięgiem 135 cm i komunikuje się z ESP03 za pomocą magistrali I2C. Ten drugi odbiera dane o zmierzonej odległości i na ich podstawie wysyła stan niski lub wysoki na wyjście. ESP w trybie AP (konfiguracja) służy do ustawienia w czasie rzeczywistym odległości zadziałania, co ułatwia kalibrację po zamontowaniu układu w miejscu docelowym. Układ oczywiście można rozbudować o dodatkowe funkcje. Tutaj wersja podstawowa.

    Przebieg na wyjściu GPIO01 VL53L1x. Niski stan informuje o zakończonym pomiarze.
    Laserowy czujnik odbiciowy, sterowanie oświetleniem

    Menu konfiguracji:
    Laserowy czujnik odbiciowy, sterowanie oświetleniem

    Schemat i kod źródłowy programu.
    Laserowy czujnik odbiciowy, sterowanie oświetleniem

    Cool? Ranking DIY
    About Author
    efi222
    Level 13  
    Offline 
    efi222 wrote 174 posts with rating 570. Live in city Toruń. Been with us since 2019 year.
  • #2
    gradek83
    Level 42  
    Dało by radę aby to działało z SUPLA?
  • #3
    madamsz1
    Level 39  
    W GG Supli jest obsługa do VL53L0X.
  • #4
    efi222
    Level 13  
    U mnie w domu raczej elektronika rozproszona. Nie mam żadnego systemu centralnego, tak, że odnośnie Supla nie pomogę. Ale jest wątek na forum Supla odnośnie czujników laserowych i ich zastosowanie.
    https://forum.supla.org/viewtopic.php?t=8119&start=60
  • #7
    dktr
    Level 23  
    Często się zapominałem, a tak jeśli siedzę dłużej niż 50 minut, system mi przypomina, abym sobie zrobił przerwę. Tak samo siedzenie w niezdrowej pozycji, za blisko ekranu przez dłuższy czas też powoduje alarm :)
    Dane z tego czujnika uwzględniają też inne skrypty od sterowania oświetleniem, zasilaniem w innych pomieszczeniach itp.

    Laserowy czujnik odbiciowy, sterowanie oświetleniem
  • #8
    andrzej18k
    Level 12  
    Bardzo fajny pomysł z konfiguracją przez przeglądarkę.
    Ja kiedyś stanąłem przed podobnym problemem. Rozwiązaniem u mnie były czujniki ultradźwiękowe HC-SR04.
    Są one podporządkowane w puszce zlutowanej z laminatu olejonej fornirem. Obsługą czujnika zajmuje się ATtiny85.
    Zakres działania jest ustawiony od 20 cm do 80 cm. Działa tak już 3 lata.

    Pytanie do autora, może bardzo laickie. Jak wykonać taką stronę konfiguracyjną? Są do tego jakieś generatory?
  • #9
    efi222
    Level 13  
    O generatorach takich GUI nie słyszałem, ale może są :)
    Słowa kluczowe do takiego menu, to html, CSS i jeśli strona ma być być interaktywna w czasie rzeczywistym, jeszcze Ajax. Inaczej mówiąc wysyłanie danych ze strony do urządzenia bez odświeżania całej strony. Np. klikasz przycisk i powoduje to zaświecenie LED w urządzeniu, albo inną operację.
    W tym przypadku wyświetlana strona to plik "konfiguracja_czujnik.h". Po zmianie rozszerzenia na *html można go podejrzeć w przeglądarce www. Jest to typowy html ze zmienionym rozszerzeniem.
    Kiedyś napisałem taki dość uniwersalny kod i zmieniam go według potrzeb. Zaznaczam, że jestem amatorem i pewnie można to zrobić lepiej.
    Na ESP należy skorzystać z biblioteki ESP8266WebServer.h.
    Proponuję prześledzić powiązanie kodu strony z kodem urządzenia. Na początku może być trochę zagmatwane :), ale z czasem można to opanować i zrobić swój własny szablon dla różnych urządzeń. Spójrz na projekt zegarka NTP, albo stacji pogodowej. Menu identyczne graficznie, tylko funkcje inne.
    No i z takim GUI jest trochę paradoks, bo prawie zawsze zajmuje więcej kodu, niż kod urządzenia :)