Kontynuujemy prace nad symulatorem impulsatora skrzyni biegów oraz czujnika poziomu/temperatury oleju. Sercem naszego urządzenia jest moduł Arduino Pro Mini, zbudowany w oparciu o 8-bitowy mikrokontroler Atmega328. Potencjometr RV1 służy do zmiany symulowanej prędkości samochodu, zaś RV2 oraz RV3 modyfikują odpowiednio temperaturę oraz poziom oleju. Ich położenie odczytywane jest przez analogowe wejścia ADC0, ADC1 oraz ADC2 […]
Category Archives: Sto dni w kolorze
Samochód na biurku czyli jak testować – cz. 2
Dziś powrócimy na moment do kwestii testowania naszego urządzenia “na biurku”. Dotychczas skupialiśmy się jedynie na symulowaniu prostych czujników podłączonych bezpośrednio do zestawu wskaźników, które można było zastąpić potencjometrem lub zwykłym przełącznikiem. Teraz przyszedł czas, aby zmierzyć się z nieco bardziej złożonymi, czyli z impulsatorem skrzyni biegów oraz czujnikiem poziomu/temperatury oleju. Oba podłączone są bezpośrednio […]
Rysować czy być rysowanym? Czyli kilka słów o widgetach.
Każdy, kto miał styczność z tworzeniem oprogramowania zna zapewne zasadę DRY (ang. Don’t Repeat Yourself). W zabawny sposób opisuję ona pewną regułę, mówiącą, iż powtarzające się fragmenty kodu, należy wyodrębniać jako funkcje. Innymi słowy – pożądane jest tworzenie aplikacji z pewnych elementarnych “klocków”. Tak jak biblioteka graficzna stanowi odzwierciedlenie tej reguły w świecie grafiki, tak […]
Interfejs CAN – cz. 1
Zgodnie z zapowiedziami, dziś zajmiemy się uruchomieniem interfejsu CAN. Oczywiście na początek musimy połączyć magistralę sterownika silnika z zestawem wskaźników za pomocą skrętki. Wykorzystamy jedno ze złącz DB-9 zainstalowanych w naszym stanowisku testowym. W kontroler magistrali CAN w naszym procesorze STM32F407 został skonfigurowany w trybie “listen only” – może on jedynie odbierać wiadomości nadawane przez […]
Diagnostyka OBD – cz.3
Dziś udało się uruchomić połączenie diagnostyczne z zestawem wskaźników. Oczywiście wszystko zostało podłączone do przygotowanego wcześniej stanowiska testowego, z wykorzystaniem odpowiedniego interfejsu. Aby móc śledzić stan połączenia “na żywo”, przygotowałem proste okno debugowe – korzysta ono oczywiście naszej z biblioteki graficznej. Osoby zaznajomione z wcześniejszym projektem HypeFIS zapewne zauważą pewne podobieństwa 🙂 Połączenie zostało nawiązane […]
Diagnostyka OBD – cz.2
Rozważania na temat zastosowania gotowej obsługi protokołu diagnostycznego sięgają początków projektu HypeFIS. W Sieci dostępnych jest co najmniej kilkanaście różnych implementacji protokołu KWP1281/2000 – mniej lub bardziej zaawansowanych. Na wstępie odrzuciłem wszystkie związane z platformą Arduino, które ze względu na specyficzną strukturę API tego środowiska są zupełnie nieprzydatne w przyjętym przez nas sposobie strukturyzacji kodu. […]
Diagnostyka OBD – cz.1
Zdecydowana większość samochodów, które interesują nas w ramach projektu, posiada interfejs diagnostyczny w standardzie OBD. Umożliwia on połączenie z każdym istotnym sterownikiem wchodzącym w skład instalacji elektrycznej, odczyt podstawowych wartości pomiarowych, zarejestrowanych kodów usterek, itp. Komunikacja odbywa się za pomocą protokołu KWP1281 lub KWP2000. Są one charakterystyczne dla pojazdów grupy VAG. Nie będę w tym […]
Świat w kolorze – LCD cz.3
Dzisiejszy wpis będzie nieco inny niż dotychczasowe. Zamiast rozważań, przedstawię po prostu krótką relację z tego, co udało mi się dziś zrobić. Tego typu wpisy będą pojawiać się na naszym blogu coraz częściej, w miarę postępów projektu. Co u mnie? Kontynuowałem przede wszystkim pracę nad biblioteką graficzną – skupiając się zwłaszcza nad rysowaniem grafiki z […]
Świat w kolorze – LCD cz.2
Biblioteka graficzna Istotnym elementem systemu posiadającego GUI jest biblioteka graficzna. Nie sposób bowiem wymagać od każdej aplikacji, każdego komponentu aby samodzielnie “sięgał” do wyświetlacza i mozolnie rysował na nim piksel po pikselu. Absolutnie podstawową funkcjonalność stanowią tzw. prymitywy graficzne – punkty, linie czy okręgi. Kolejnym krokiem są figury składające się z linii: prostokąty, trójkąty – […]
Świat w kolorze – LCD cz 1.
Dziś nareszcie zajmiemy się najistotniejszym elementem układanki – kolorowym wyświetlaczem LCD 🙂 Na początek przyjrzyjmy się możliwościom naszego STM32F407 w zakresie sterowania taką matrycą. Metody sterowania wyświetlaczem Istnieje cała gama przeróżnych, dedykowanych interfejsów dla wyświetlaczy LCD. Najogólniej można je podzielić na dwie grupy: szeregowe oraz równoległe. Pierwsze z nich do przesyłu obrazu wykorzystują zaledwie kilka […]