Projekcik


#21

Jasne ze tak. Trzeba próbować i przy okazji uczyć się nowych rzeczy.
Naprawdę trzymam kciuki.
Chciałem tylko coś doradzić i podzielić się wiedzą.
Jastrzębski na blogu zrobił obsługę żyroskopu i akcelerometru. Zobacz filmik.
Potrzebny jest filtr do analizy. Najlepszym jest moim zdaniem filtr Kalmana. Problem taki z arduino jest taki, że ten filtr działa lepiej gdy ma do dyspozycji więcej bitow w słowie tak jak to jest na komórkach. Ale arduino tez daje rade.
Wiele quadrokopterow działa na arduino i jakoś latają.
Myślę ze potem projekt może ewaluować. :wink:
A tym czasem czaję na jakiś filmik z pomiarami. :slight_smile:


#22

Zbiorczo :stuck_out_tongue:

  • MPU6050 znam, z niego korzystam
  • inspiracją dla mnie był ten filmik (i tragiczne działanie urządzenia na nim):
  • wiadomo że pomiar będzie trzeba obrobić, cóż - nie oczekuję od tego urządzenia dokładności na poziomie homologacji FIA, wystarczy mi aby nie pokazywał takich cudów jak @gerard-kowalski na telefonie :slight_smile:
  • widzę że w razie czego mogę się do Ciebie @Daniel zwrócić z jakimiś problemami technicznymi :slight_smile:

edit: jeszcze jedno @Daniel, odnośnie mocy obliczeniowej - a ESP nie będzie sobie radzić tutaj lepiej z racji mocniejszego procesora?


#23

Bedzie. Do tego lepiej będzie zobrazować wyniki na innym urządzeniu przez Wi-Fi. Wyświetlacz albo komunikacja szeregowa przy sporej ilości danych może spowolnić procesor i zabiera dużo pamięci.


#24

Akurat zobrazowanie wyników tutaj będzie niezbyt skomplikowane, bo w przypadku wychylenia jedynie chcę pokazywać aktualną wartość + max lewo/prawo. Jedynie chcę dodać zamrożenie wartości aktualnej jeżeli aktualna będzie mniejsza od poprzedniej (jak w relacjach z motogp) na parę sekund, aby po pokonaniu zakrętu od razu móc rzucić okiem i wiedzieć ile było stopni.


#25

Myślę ze na pewno będzie działać. ESP jest raczej dobrym wyborem. Jeśli wystarczy Ci pamięci do zapisywania danych.
Bo chyba chcesz zapisywać trasę? Czy tylko dystans?


#26

Planuję to logować na microSD w jakimś sensownym interwale (i potem z karty przez Wifi na telefon [jakieś ftp czy coś w tę deseń, jeszcze jestem zielony w tym temacie]). Zastanawiam się też luźno czy nie logować tego jako GPX czy coś w tym stylu, aby było łatwo zasysalne do programów z wizualizacją trasy


#27

Lepiej odczytywać takie dane ale można tez mniej zasobozerne formaty a potem sobie to obrobic.
Na razie fajnie jakby działały odczyty. :wink:
Dawaj znać jak to funkcjonuje.


#28

Ogólnie wszystkie podzespoły działają ok, tzn. GPS fajnie fixa łapie nawet w mieszkaniu (neo 6m), żyro kąt szybko przesyła (MPU-6050, jedynie mam niepewność jak przeliczać ichniejsze jednostki na stopnie, bo wychodzi mi czasami że kąt prosty to ~92’, ale taka różnica jest w zasadzie pomijalna), wyświetlacz wygląda czytelnie i działa szybko. Teraz muszę to pożenić ze sobą do kupy, na pierwszy ogień pójdzie wychył, potem laptimer, na koniec dodatkowe bajery (zmiana ekranów, kasowanie wyników, zapis na karcie, wifi)


#29

Rób po kolei i sprawdzaj jak działa. Przy dużej ilości algorytmów mogą pojawić się wycieki z pamięci.
Filtry często korzystają z macierzy, a te na arduino sporo wykorzystują procesor i pamięć.
Jak będzie jedna część zrobiona to można dokładać kolejne.
Czujnik ma swój dryft i trzeba to kompensowac co jakiś czas. Inaczej pomiary pływają. Od tego jest właśnie filtr Kalmana.
Kalman tak a propos to Zajebiscie mądry koleś był.
Pochodził z Węgier i zmarł w tamtym roku.


#30

Jeśli odniosłeś wrażenie że za coś ganię (vel sugerująca to wypowiedź marioma “można lepiej”) to nie o to chodziło.

Po prostu nie chciałoby mi się bawić z klockowatym dwukolorowym wyświetlaczem i małą mocą (oraz ilością pamięci) w arduino przy jego cenie w tym zastosowaniu, co najwyżej prosty prototyp. Sprzęt który Ci wkleiłem nie dość że wspiera BTLE tj 32kb RAM, 256KB ROM, przy cenie 30zł, gdzie na arduino czasem potrafi być ciasno (Atmega328P jak widzę u Ciebie na zdjęciu). Tym bardziej że chcesz tam jakieś network connectivity zasadzić, obsługiwąć SDKi i może jeszcze zapisywać traski? To wymaga pamięci.


#31

Tosiek, tosiek :stuck_out_tongue:

Spoko, niech każdy robi na tym na czym chce (i umie!). Ja z czegokolwiek innego aniżeli język arduino jestem nemo (dobra, coś tam C kojarzę, ale nie na AVRy), skąd taki sprzęt. Ponadto, tak jak już pisałem wcześniej, docelowo będzie to siedzieć na esp8266 a więc procku “większym” i szybszym. Pamięć? Karta sd.

Mam wrażenie że niektórzy pomyśleli “O kurczak, co on tam nie chce włożyć! Przecież bez i5 to nie ma szans działać!” a tutaj na prawdę będą podstawowe rzeczy działające w podstawowy sposób, wolę zrobić coś prostego co będzie mi służyć aniżeli rozgrzebać jakiś ambitny projekt którego nigdy nie skończę :slight_smile:
Cóż, dzisiaj mam w planach siąść do wyświetlania przechyłu, może to trochę rozjaśni sprawę jak to będzie wyglądać i może jednocześnie udowodnię że nie trzeba telefonu zaprzęgać do tego aby to przyzwoicie działało =]


#32

tak w zasadzie arduino to jest tylko programator i SDK, sam układ to atmega328p i piszesz w C, co oznacza że jak piszesz w C na arduino to możesz bez większych problemów pisać na dowolny układ w C :wink:

Pamięć? Karta sd.

Ale co ma do tego karta SD :slight_smile: Karta SD != RAM urządzenia, jak będziesz sypał danymi z żyroskopu do tablicy a potem jeszcze na tym operował, a może jeszcze jakieś inne urządzenia (wifi, SD) to po prostu skończy ci się RAM na program, ot tyle.

O kurczak, co on tam nie chce włożyć! Przecież bez i5 to nie ma szans działać!

nigdy tak nie pomyślałem, sam zresztą korzystam z arduino do tworzenia urądzeń pomocnicznych w projekcie, fajny sprzęt :wink:

może jednocześnie udowodnię że nie trzeba telefonu zaprzęgać do tego aby to przyzwoicie działało

no bo nie potrzeba, ale prędzej czy później będziesz potrzebował czegoś do analizy danych, sięgniesz po telefon albo apke na PCta :wink: stąd moja sugestia


#33

Cały czas zastanawiam się o jakich tablicach i operacjach Ty mówisz :slight_smile: Ja po prostu odczytuję wartość, wyświetlam ją i później ewentualnie wrzucam na kartę SD. Nie magazynuję w żaden sposób tych danych (w sensie jakiejś średniej prędkości z całej trasy, średniego pochylenia itp.), proste “fire and forget” ;D

Chyba że chodzi Ci po prostu o ilość zmiennych w systemie (liby, od GPS, od żyro, od LCD, pomocnicze), to owszem, tutaj atmega może być za mała, ale esp myślę że da radę :slight_smile: Odnośnie programowania w C to zgadza się, arduino to nakładka na C, ale jednak jak znasz C to znasz arduino, ale jak znasz arduino to nie znasz C tak do końca :wink:


#34

Udało mi się dzisiaj pożenić żyroskop z LCD, wygląda to wstępnie jakoś tak (jedyna obróbka danych z żyro to wyciąganie średniej z 3 ostatnich pomiarów aby trochę “uspokoić” wyniki):

http://aqua-terra.com.pl/owncloud/s/tAmhsYiucguUT6P

btw. dajcie znać czy filmik Wam działa, bo coś mi to nie zawsze chciało banglać (player ownclouda).


#35

cały czas piszesz w C, to jest niezmienne, różnic tu nie ma (pamiętaj że programujesz 8-bitowca), to co dostajesz z ArduinoSDK to jest biblioteka standardowa, czyli wszelkie helpery (np. funkcje digitialWrite) czy bliblioteki (do I2C, SPI, sterowniki itd).

Chyba że chodzi Ci po prostu o ilość zmiennych w systemie (liby, od GPS, od żyro, od LCD, pomocnicze)

to też, ale ja po prostu nie wiem co będziesz chciał robić :wink:

wyświetlam ją i później ewentualnie wrzucam na kartę SD

SDki są wolne, pamiętaj o tym, jak zarczniesz każdą liczbę z każdego odczytu wrzucać na SDka to zwiesisz urządzenie, dlatego stosuje się buforowanie choćby w postaci głupiej tablicy :wink: Pamiętaj że do zapisu musisz: otworzyć urządzenie zewnętrzne (SD), otworzyć plik, zapisać, zamknąć plik, zamknąć urządzenie itd :wink:

. dajcie znać czy filmik Wam działa, bo coś mi to nie zawsze chciało banglać (player ownclouda).

nie działa ale mogłem ściągnąć, fajnie działa :slight_smile:


#36

Ok, teraz już wiem o co Ci chodziło :slight_smile: Cóż, póki co temat pamięci, tablic i zapisu na kartę mam na liście “ToDo”, więc nie zaprzątam sobie nim głowy, ale faktycznie, będzie trzeba tam pokombinować.


#37

Ok, wersja 0.03 - dodane zamrażanie maksymalnej wartości (#motogp style!) jeżeli kąt przekroczy 40’ w jedną bądź drugą stronę na 2 sekundy od momentu zejścia poniżej progu.

http://aqua-terra.com.pl/owncloud/s/e8GFV58NO8Y5NRh


#38

No i super. Myślę że potem sam dojdziesz do tych problemów o których pisze toysu.
Na razie rób na czym masz i tyle.


#39

Fajnie to wygląda!


Konfiguracja znanych Wam torów
#40

Muszę się pochwalić - zliczanie okrążeń zdaje się działać :slight_smile: Przetestowane również w warunkach drogowych, na moim “prywatnym torze” ;> Teraz czas na liczenie czasu i różnicy czasów…