wtorek, sierpnia 20, 2019

Debugowanie sprzętu jest trudne....

Przerasta mnie, nie bójmy się tego stwierdzenia ;-)

Jest tak, zbudowałem sobie kiedyś w oparciu o Raspberry Pi czujnik, który stwierdzał czy jestem przy biurku i czy stoję czy siedzę przy tym biurku.
Działał całkiem fajnie, ale później pojechałem na te prawie pół roku w USA, a jak wróciłem to już nie działał :(
Od tego czasu wymieniłem już RPi, przełączyłem wszystkie kabelki, sprawdziłem czy są zgodne z moim oryginalnym "schematem", wymieniłem czujniki.... i nic.

Tu taka dygresja, czujniki których używam działają tak, że najpierw ustawia się na nich 1 na chwilę i wtedy czujnik emituje ultradźwięki, później się wyłącza emisję i mierzy czas do otrzymania echa, jeśli nie przyjdzie to uznaje się, że ewentualna przeszkoda jest poza zasięgiem, gdy w zadanym czasie dotrze do nas echo (czyli na wyjściu z czujnika pojawi się 1) to czas między wysłaniem ultradźwięków, a momentem odbioru mnoży się razy prędkość dźwięku i dzieli przez 2 (w końcu sygnał musiał polecieć tam i z powrotem).

Wczoraj zabrałem się za to jeszcze inaczej, napisałem sobie nową wersję kodu, która z jednej strony wypisuje na konsoli czy wysyła 1 czy 0, robi to przez 4 sekundy i zmienia wartość sygnału.
Ja w tym czasie próbowałem podpiąć mój multimetr do odpowiednich kawałków czujnika... (tu jest przydatna lupa, bo nie umiem bez niej doczytać opisów wejść/wyjść ;-)).
No i niby się coś pojawiało, ale dziwne jakieś.
Niby jak było 0 to miałem -2 V, a jak było 1 to -4 V.
Nawet coś na echo było widać, ale wydawało mi się, że to 1 jakoś później się pojawia.

Tu się okazuje, że przydałby się oscyloskop ;-) ale to by było już przesada.

To drugi pomysł był taki by sprawdzić czy te czujniki w ogóle generują jakiś dźwięk...
Ale jedyne na co wpadłem, choć nie zrealizowałem to postawienie na przeciwko siebie 2 czujników, podpiętych do różnych RPi, i zrobienie tak by jeden wysyłał sygnał, drugi odbierał i patrzeć czy odbiera jak ten pierwszy wysyła... ale to by mogło działać, ale nie musiałby, w końcu kto wie czy np. każdy z tych czujników nie wysyła tych dźwięków z ciut inną modulacją by się wzajemnie nie zakłócały?

To jest wredne właśnie. Brakuje mi wiedzy i narzędzi jak takie coś zdebugować ;-)
W programowaniu jest czasem tak, że tego wszystkiego jest po prostu za dużo i człowiek nie może ogarnąć 20 rzeczy, które się dzieją naraz (z 2 jest już problem ;-)), tutaj jest inna klasa problemów. Bo problem jest ogólnie prostszy, gdzieś najpewniej jest złe napięcie... ale jak stwierdzić które jest złe? Szczególnie jak czasy to czasy grubo ponad 1 sekundy ;-) tak bliżej 2 tysięcznych sekundy ;-)


Podobne postybeta
Czy się stoi czy się siedzi... Rasbperry Pi z czujnikami ultradźwiękowymi to stwierdzi ;-)
Budujemy czujnik sit/stand do biurka :-)
Magia....
"Fizyczny" projekt, jak zacząć?
Transport publiczny - moje top i bottom 5 (na dziś :-))

2 komentarze:

  1. Ale jest jeszcze trzecie rozwiązanie i czujnik mówi prawdę, cię cały czas niema przy biurku. Po prostu cały czas jesteś w stanach :P

    OdpowiedzUsuń
    Odpowiedzi
    1. Hmm, jednak nie ;-) najpierw kombinowałem, że przecież jak coś postawię przed czujnikiem... ale czujnik patrzący w górę chociaż ma grubo ponad metr do sufitu to twierdzi, że to są jakieś dziwne odległości.

      Usuń