Sto dni w kolorze

Idea bloga

Zapewne część z Was pamięta mój poprzedni projekt, HypeFIS – komputer pokładowy rozszerzający w znacznym stopniu możliwości fabrycznego wyświetlacza umieszczonego w licznikach samochodów z grupy VAG. Dzięki rozbudowanym funkcjonalnościom cieszył się i cieszy się nadal sporym zainteresowaniem. Jest również nadal rozwijany. Świat jednak nie stoi w miejscu i popularność zdobywają kolorowe wyświetlacze rodem z nowoczesnych […]

Hackathon?

Zapewne części z Was za dobrze ideę hackathonu – wydarzenia, w czasie którego grupka zapaleńców (programistów) staje przed zadaniem rozwiązania określonego problemu w ograniczonym czasie. Wynik ich pracy jest różny. Czasami powstaje tylko proof-of-concept, a czasami gotowy produkt – w zależności od stopnia złożoności zadania. Bez względu jednak na efekt końcowy, zawsze najcenniejsze są doświadczenie […]

Start!

Tak, dziś zaczynamy! Zapewne część z Was oczekuje, że już dziś zobaczymy jakieś kolorowe napisy, animacje i inne cuda-niewidy. Niestety, muszę trochę ostudzić ten entuzjazm. Dlaczego? Jak to? Nie będzie kolorków? Będą, ale nie dziś 🙂 Tak jak napisałem w pierwszym poście pt. Idea bloga moim celem jest pokazanie całego procesu, od samego początku – […]

Hardware – czyli co w CPU piszczy

Dziś zastanowimy się, jak na podstawie założeń opisanych w poprzednim poście wybrać serce (a raczej mózg) naszego projektu czyli mikrokontroler. Przyjrzymy się kilku rodzinom, które dość dobrze znam i z którymi pracuję na bieżąco. Oczywiście lista nie wyczerpuje tematu i na pewno jest jeszcze wielu, wielu innych kandydatów. 8-bitowy AVR: Zalety: niska cena, trywialna konfiguracja, […]

Software – czyli jak tchnąć życie w sprzęt

Język programowania Zacznijmy dziś trochę nietypowo, od klasyka: Chodzi mi o to, aby język giętki Powiedział wszystko, co pomyśli głowa: A czasem był jak piorun jasny, prędki, A czasem smutny jako pieśń stepowa, A czasem jako skarga nimfy miętki, A czasem piękny jak aniołów mowa… Aby przeleciał wszystka ducha skrzydłem. Strofa być winna taktem, nie […]

Między niebem a ziemią, czyli sterowniki peryferiów.

W drugim artykule na tym blogu, napisałem, iż naturą systemów wbudowanych jest wzajemne przenikanie się sprzętu i oprogramowania. Wynika z tego, że każda funkcjonalność w naszym urządzeniu będzie odwoływać się w mniejszym lub większym stopniu do układów peryferyjnych mikrokontrolera. Na początek trochę teorii… Teoria Istnieje kilka sposobów na powiązanie świata software’u ze sprzętem. Pierwszym, często […]

Czas to podstawa

W każdym niemalże systemie wbudowanym, bez względu na zastosowanie, potrzebna jest jakaś forma podstawy czasu. Nie chodzi tu bynajmniej o bieżącą godzinę i datę, a o możliwość periodycznego wywoływania określonych zadań oraz pomiar czasu między zdarzeniami. Najprostszym rozwiązaniem jest zaprzęgnięcie do pracy jednego z wielu dostępnych liczników/timerów mikrokontrolera. Niektóre układy posiadają specjalizowane timery służące właśnie […]

Obsługa manetki – cz.1

Obsługa przycisków jest często jednym z pierwszych wyzwań, jakich podejmują się początkujący adepci programowania układów wbudowanych. I bardzo często zderzają się wówczas z “magicznym” zachowaniem 🙂 W naszym projekcie również musimy sobie z tym poradzić – a więc do dzieła! Załóżmy, że przycisk chwilowy jest podłączony do portu mikrokontrolera w następujący sposób: Gdyby zarejestrować przebieg […]

Obsługa manetki – cz.2

Dzisiaj zajmiemy się praktycznymi aspektami odczytywania klawiszy – spróbujemy podłączyć manetkę MFA do naszego urządzenia. Od strony elektrycznej, składa się ona z trzech przełączników monostabilnych, normalnie otwartych. Naciśnięcie jednego z przycisków zwiera odpowiadającą mu linię bezpośrednio do masy. Schemat manetki MFA wygląda więc następująco: Ponieważ używanie całej manetki jest mało wygodne, zdecydowałem się zbudować jej […]

Samochód na biurku czyli jak testować – cz. 1

Dziś zajmiemy się czymś bardziej praktycznym, niż ostatnio 🙂 Na początek zadajmy sobie pytanie: Jak testować system wbudowany, przeznaczony do samochodu… bez samochodu? Każda osoba zajmująca się tworzeniem oprogramowania wie, jak istotne w procesie developmentu są testy jednostkowe, komponentowe czy integracyjne. Pozwalają one bardzo wcześnie wychwycić sporą część błędów powstałych na etapie pisania kodu. Zapewniają […]