Wpis z mikrobloga

mam już obsługę czujnik odległości, częściowo bo jeszcze mam w planach parę rzeczy. przeszedłem dosyć długą drogę prób i błędów by to działało tak jak chcę. Słowem wstępu jeszcze są to czujniki ultrasoniczne, mają dwa piny które tutaj mnie interesują, trigger i echo. trigger nadaje sygnał dźwiękowy, a echo daje mi sygnał zwrotny w postaci stanu wysokiego, czas stanu wysokiego oznacza czas jaki potrzebował dźwięk od wyjścia do wrócenia do czujnika. Więc opiszę cała drogę po kolei

1. Miałem czujniki podpięte w ten sposób że miałem wspólny trigger dla wszystkich czujników i osobno każde echo. Taka konfiguracja potrafiła powodować zakłócenia przy pewnych sytuacjach, że wypuszczony sygnał z jednego czujnika wpływał na drugi

2. Jak słusznie zauważył @rmerrorlog stan wysoki czujniki nadają 5V a malina działa na 3.3V wejściowy, więc dałem konwertery logiczne. Załącznik 1

3. Podzieliłem triggery w ten sposób że triggerowałem dwa czujniki przeciwnie do siebie oddalone, już było lepiej ale jeszcze to nie to. Nie miałem wszystkich triggerów osobno bo nie starczało mi pinów.

4. Triggery osobno, za to echo zbierałem bramką logiczną OR zrobioną z diod. Załącznik 2. Prawie to działało. Prawie, gdyby nie to że inne czujniki mimo że nie były triggerowane to wysyłały mi syf. Ponoć innym osobom takie rozwiązanie działało, u mnie się to nie sprawdziło. Na filmiku jest trochę źle układ, wtedy nie doczytałem schematu i dałem wszędzie rezystory, potem je wyciąłem by działało poprawie.

4. Dałem multiplekser i wszystko działa cacy. Na multiplekserze są wszystkie echo i wybieram je wejściami adresowymi. Załącznik 4.

Samo zbieranie danych z czujników wygląda tak że robię 5 pomiarów na każdy czujnik, i robię domimantę z nich. Czemu tak? dlatego że te czujniki potrafią czasami rzucić jakieś wartości z kosmosu. Dominanta w odróżnieniu od średniej pozwoli mi odrzucić takie rzeczy. Jeżeli były 3 pomiary pod rząd +-1cm to przerywa pomiary. Muszę też pomyśleć nad optymalizacją by samo zbieranie trwa dosyć długo, więc mam pomysł by dawać priorytety na czujniki które potrzebuje częściej sprawdzać. Czyli jak np jadąc do przodu potrzebujesz częściej informacji co się dzieje z przodu niż to co za mną. Muszę też pomyśleć jak sprawnie rozwiązać rozpoznawanie czy coś jest za daleko lub za blisko. W obu przypadkach jest 0 bo jest timeout. Ktoś by powiedział że można zrobić tak że np sprawdza się ostatnie pomiary jakie były, otóż nie do końca. Bo jeżeli się nagle zakryje czujnik który wcześniej coś tam daleko zbierał i nagle będzie zasłonięty to nie wiadomo czy już coś bardzo daleko jest czy został zasłonięty. Przemyślę to.

Wstawiłem też mocniejsze serwo. Załącznik 5.

Plan na teraz jest taki by dopracować te czujniki i zabrać się za kolejne. Mam jeszcze do ogarnięcie żyroskop z akcelerometrem oraz magnetometr.

Tag projektu: #malinoweauto

#elektronika #majsterkowanie #arduino #diy #chwalesie #raspberrypi #tworczoscwlasna #programowanie
mapache - mam już obsługę czujnik odległości, częściowo bo jeszcze mam w planach parę...
  • 74