Jako, że to mój pierwszy post, chciałbym się przywitać.
A więc, Dzień dobry
.
Z samym Arduino mam do czynienia od ok. pół roku. Stąd też moje możliwości programowania nie są zbyt duże, aczkolwiek na moje potrzeby wystarcza(nie chwaląc się oczywiście).
Chcę się uczyć, aby móc dobudowywać kolejne części kodu, jednak na razie muszę bazować na efektach innych osób.
Przechodząc do meritum, buduję kokpit z prawdziwego auta do gry Euro Truck Simulator 2. Ktoś może powiedzieć, że biorę się za zbyt trudne rzeczy jak na tak małe doświadczenie.
Do tego celu chcę użyć Arduino Mega2560 z shield CanBUS od Elecfreaks.
Shield ma obsługiwać licznik z samochodu poprzez szynę CAN(ustawienie prędkości szyny 500 k).
Natomiast wyświetlacz HD44780 ma wyświetlać dane, których nie ma na liczniku z samochodu, czyli np. :
odległość(z nawigacji), ograniczenie prędkości itd.
Sam licznik działa dość dobrze, jednak mam problemy z ogarnięciem wyświetlacza.
Bez podłączonego shield'a, wyświetlacz poprawnie pokazuje żadane wartości.
Kiedy jest zamontowany "CAN BUS" i wgrany odpowiedni szkic na Arduino, wyświetlacz zamiast pokazywać ww. dane, pokazuje albo "krzaczki", albo ciąg znaków" HHHHHH".
Wklejam linki ze szkicami, a także plugin obsługujący telemetrię z gry oraz jakie dane ma wysyłać na port szeregowy.
Kolega programista z którym rozmawiałem, wspominał o przesłaniu danych przeznaczonych dla wyświetlacza w postaci zserializowanego stringa, a dopiero na Arduino miały by być te dane odpowiednio przetworzone.
Inny znajomy wspominał o odfiltrowaniu danych dla wyświetlacza.
W pewnym momencie pogubiłem się.
Linki:
Wersja bez CAN BUS, sam wyświetlacz i serwomechanizmy:
język cpp
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Wersja z CAN BUS i wyświetlaczem:
język cpp
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Plik obsługujący port szeregowy(.cpp jeden z elementów biblioteki .dll, gotowy do skompilowania)
język cpp
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
I główny plik plugin'u(plik .cpp gotowy do skompilowania do biblioteki .dll):
język cpp
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Pliki przeznaczone powyżej(oprócz szkiców) są przeznaczone do kompilacji do biblioteki .dll, która to później obsługuje telemetrię i przesyłanie danych do Arduino.
Jeśli byłby ktoś miły nakierować mnie na właściwą drogę do rozwiązania mojego problemu, będę wdzięczny.
Nie znalazłem też pomocy w wyszukiwarce, proszę o wyrozumiałość.