Czujnik obecności HLK-LD2450 [MicroPython]

Typ_projektu
microPython
Zdjecie główne
Krótki opis projektu

Projekt polegał na zastosowaniu nowego na rynku czujnika ruchu HLK-LD2450. Czujnik nie ma jeszcze zbyt obszernej dokumentacji, bibliotek. Nie ma również zbyt wielu gotowych projektów.

Należało więc szukać informacji szczątkowych u różnych producentów. Problemem okazało się niestandardowe przeliczanie danych z protokołu UART oraz ukryte właściwości czujnika.

Niezbędne elementy

[przykładowe - prosimy o edycję]

1. czujnik ruchu HLK-LD2450

2. ESP32, kabel USB-a

3. wyświetlacz LED - kolorowy

4. płytka stykowa

5. kable arduino męsko-żeńskie

Sprzęt

1. laptop

Opis projektu

1. Odtwarzanie projektu

1.1 Schemat
Aby odtworzyć projekt należy zastosować schemat połączenia do ESP32:

"""
SCHEMAT PODŁĄCZENIA:
    EKRAN:
        VCC   -> 3.3V
        GND   -> GND
        CD    -> D5
        RESET -> D4
        DS    -> D2
        SDI   -> D23
        SCK   -> D18
        LED   -> 3.3V
        SDO   -> D19
    CZUJNIK:
        VCC -> VIN
        GND -> GND
        RX  -> TX2
        TX  -> RX2
"""

 

1.2 Problemy
!UWAGA! nie można skorzystać z UART0 - zarezerwowany dla konsoli. Stąd użyto UART2.
!UWAGA! czujnik piny UART czyta z perspektywy hosta. Oznacza to, że RX podłączamy do TX2, a TX do RX2 (odebrało mi to 2 godziny życia)
!UWAGA! czujnik grzeje się przy zasilaniu 5V. Jednocześnie nie funkcjonuje na 3.3V, więc po prostu jest ciepły :)
!UWAGA! niestandardowe przeliczanie signed int z bitów UART'a - manualna korekta w kodzie

 

2. Opis działania

Czujnik obserwuje do 3 osób. Jeśli cel (osoba) jest jeden, reszta bitów odpowiedzialna za nie jest zerowa, wartości są ignorowane. Wszystkie osoby wykryte mają następujące dane: położenie x [mm] , położenie y [mm] , prędkość [cm/s], dokładność(?) odległości [mm].

W kodzie zaimplementowano również średnią arytmetyczną dla 10 pomiarów, aby zmniejszyć niedokładność i szum pomiarowy.

Cele są również rysowane na wyświetlaczu dla wizualizacji danych. Dzięki temu widać, czy czujnik podaje sensowne wartości.


LINK DO FILMU YOUTUBE PONIŻEJ

Zdjęcia
kod programu

Ustaw odpowiedni język programowania (ostatnia ikona powyżej)

Youtube
Tagi
#elektornika #wykrywanie #położenie #odległość #śledzenie