Mikrokontrolery - Jak zacząć?

... czyli zbiór praktycznej wiedzy dot. mikrokontrolerów.
Pokazywanie postów oznaczonych etykietą Recenzje książek. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą Recenzje książek. Pokaż wszystkie posty

czwartek, 3 marca 2011

Tomasz Francuz: AVR - Praktyczne projekty (opis autora)

Autor: tmf
Redakcja: Dondu

O czym jest książka? To kontynuacja poprzedniej „Język C dla mikrokontrolerów AVR. Od podstaw do zaawansowanych aplikacji”. Język C już w mniejszym lub większym stopniu poznaliśmy, co będzie teraz? Będzie przede wszystkim o nowej rodzinie AVR – XMEGA, będą omówione najważniejsze peryferia, w tym peryferia zupełnie nowe, takie jak Event system, czy DMA.

Co ważne, książka nie powiela informacji, które możemy znaleźć w nocie katalogowej procesora.

Wszystko omówione jest na przykładach, często są to wręcz gotowe do użycia kompletne programy, jak np. program analizatora stanów logicznych, czy zegara RTC z wyświetlaniem na LEDach, lub makiety reklamowej zbudowanej na matrycach LEDowych. Ale po kolei.

Ponieważ wiele przykładów jest dosyć skomplikowanych, zakładam pewną podstawową znajomość języka C u czytelnika. Co prawda bardziej skomplikowane, czy specyficzne dla AVR konstrukcje języka są dokładnie wyjaśnione, niemniej, same podstawy języka C można zdobyć czytając jedną z doskonałych książek wydanych przez wydawnictwo Helion.

Ponieważ uważam, że nie ma sensu udawać Praty, czy Kinga, osobom zainteresowanym nauką C od początku z pewnością te książki mogę rekomendować. W „Język C dla mikrokontrolerów AVR...” i „AVR. Praktyczne projekty” pokazałem specyfikę C dla mikrokontrolerów, lecz myślę, że nawet osoby pobieżnie znające C/C++ sobie poradzą. Świetny kurs języka C (z kompilatorem online CManiak) można znaleźć też na niniejszej stronie.

Tym razem książka składa się „tylko” z 19 rozdziałów, czyli o 10 mniej niż poprzednia. Ale nie jest to powód do zmartwień – sama książka liczy „od deski do deski” 632 strony, z jak sądzę dużą ilością treści i konkretów. Łatwo się o tym przekonać czytając przykładowy rozdział książki – tu wydawnictwo chyba wybrało doskonale – rozdział o przerwaniach, czyli czymś co nie tylko początkującym sprawia kłopoty. Rozdział można pobrać ze strony wydawnictwa Helion – dostajemy za darmo cały rozdział, który warto przeczytać nawet jeśli nie zamierzasz kupić książki. Oczywiście jak zawsze dla każdego rozdziału dostępne są za darmo przykłady, które można pobrać z ftp.

Zobaczmy co można znaleźć w poszczególnych rozdziałach, a jest tego sporo – sam spis treści to 7 stron! No to lecimy:

Rozdział 1. Wstęp, czyli nowi członkowie rodziny AVR

Znajdziemy tu kilka stron poświęconych nowej rodzinie AVR, informacje dotyczące podrodzin XMEGA, wraz ze skrótowym opisem charakterystycznych dla nich układów peryferyjnych i środowiska. Warto przeczytać – pomaga opanować chaos związany z wieloma podrodzinami, modelami XMEGA i nowinkami w nich się znajdującymi.

Rozdział 2. Jak zacząć, czyli instalacja środowiska

Tak jak nazwa wskazuje – mamy tu podstawowe informacje jak zacząć z XMEGA. Wszystko podane na tacy, tak, że nawet osoba pierwszy raz mająca do czynienia z mikrokontrolerami da radę. W rozdziale opisana jest instalacja modułu Xplained w systemie operacyjnym. W książce wykorzystywany jest moduł Xplained (z procesorem XMEGA 128A1 lub XMEGA 256A3BU), jednak nie musimy się martwić jeśli takiego modułu nie posiadamy. Tam gdzie to jest potrzebne pokazane są schematy, w efekcie książka podobnie jak poprzednia nie przywiązuje czytelnika do konkretnego zestawu. Możemy kupić wspomniane Xplained, możemy sobie sami poskładać potrzebny zestaw, lub kupić gotowe minimoduły z XMEGA (do wyboru dwóch firm) i wykorzystać je w połączeniu z płytką stykową. To co wybierzemy zależy od naszych umiejętności, wybór Xplained jest pójściem na łatwiznę, ale umożliwia wykonanie prawie wszystkich przykładów bez dotykania lutownicy.

Co ważne, aby zacząć nie potrzebujemy programatora. W dalszej części rozdziału pokazane jest jak wykorzystać bootloader i program FLIP umożliwiający wgranie programu do mikrokontrolera przez np. interfejs USB. Osoby profesjonalnie lub półprofesjonalnie zajmujące się elektroniką docenią z pewnością opis programu batchisp, umożliwiającego automatyzację i oskryptowanie procesu programowania i weryfikacji – przydatne przy większej produkcji.

Dalej mamy opisy podłączenia i działania interfejsów JTAG i PDI, którymi posługuje się XMEGA. Opisane są też typowe programatory używane z XMEGA, z ich wadami i zaletami. Tu warto wspomnieć, że dla uzyskania możliwości debugowania XMEGA w układzie warto zaopatrzyć się w AVR Dragon – jego cena szybko się zwraca. Niemniej bez niego też można sobie poradzić – wiele przykładów świetnie działa w symulatorze – np. przykłady śledzenia transferu DMA. Dalej mamy opis podłączenia XMEGA, prowadzenia zasilania itd. Rozdział kończy opis podstawowych funkcji Atmel Studio – jak utworzyć nowy projekt, nawigować w nim, programować z poziomu IDE. Jest to przydatne, gdyż wszystkie przykłady i dalsze opisy bazują na tym IDE. A co ze zwolennikami Eclipse? Oczywiście mogą zostać przy swoim ulubionym środowisku, lecz po przeczytaniu książki z pewnością jeszcze raz przemyślą swój wybór.

Rozdział 3. Organizacja i zarządzanie projektem

Rozdział nie mający nic wspólnego z XMEGA, lecz godny polecenia nie tylko początkującym programistom, ale także tym całkiem doświadczonym. Jak pisać przejrzysty kod, stosować komentarze, dzielić duży projekt na fragmenty – wszystkiego dowiesz się z tego rozdziału. Omówione zostały też typowe problemy – dlaczego funkcja nie jest widoczna w innych modułach, jak zawęzić lub poszerzyć zakres widoczności zmiennych, pisać pliki nagłówkowe. W drugiej części rozdziału mamy coś na pozór niepozornego, co jednak znakomicie ułatwia pisanie programów – omówienie systemów wersjonowania (na przykładzie SVN) i ich integracji z Atmel Studio. Dowiesz się co to takiego, jak z wersjonowania poprawnie korzystać i co ono daje. Z pewnością twój następny projekt powstanie z wykorzystaniem jednego z systemów wersjonowania!

Rozdział 4. Jak tworzyć lepszy i efektywniejszy kod

W twoim komputerze masz wiele niedokończonych projektów? Często natrafiasz na problem nie do rozwiązania? Z tego rozdziału nauczysz się jak sobie radzić – jak tworzyć projekt, aby zwiększyć szanse na jego zakończenie oraz jak pisać program, aby wygenerowany kod był optymalny. Pokazany został wpływ różnych modyfikatorów języka C, stosowanych typów, czy form przekazywania danych na generowany kod. W rozdziale tym mamy przykłady kodu C i odpowiadającego im, wygenerowanego przez kompilator kodu asemblerowego z dokładnym wytłumaczeniem dlaczego jest on taki a nie inny. Wiele tricków pokazujących proste sposoby prowadzące do wygenerowania krótszego/szybszego kodu. Dużo gotowych przepisów na lepszy kod, szczególnie polecane osobom, które chcą wiedzieć jak radzi sobie kompilator. Oprócz informacji na temat optymalizacji kodu, optymalnych sposobów przekazywania argumentów funkcji, znajdziemy tu także opis rozszerzeń charakterystycznych dla kompilatora gcc, mających wpływ na kod wynikowy. W drugiej części dowiemy się jak automatycznie eliminować martwy kod i nieużywane funkcje z programu.

Rozdział 5. Jak uporządkować chaos, czyli złożone typy danych i listy

Rozdział pokazuje jak zrealizować podstawowe struktury danych i jak się nimi posługiwać. Od prostych struktur typu tablice, poprzez struktury i unie, aż do list. Jak zwykle wiele tricków i niuansów, które mogą nam przysporzyć problemów, np. kopiowanie płytkie i głębokie struktur. W drugiej części mamy omówione bufory, stosy i listy, jedno- oraz dwukierunkowe. Po co? Ano dlatego, że są to podstawowe elementy wykorzystywane przy programowaniu, są one też praktycznie wykorzystywane w dalszych rozdziałach. Np. opisywany bufor pierścieniowy przy realizacji nadawania/odbioru danych przez USART itd. Warto temu rozdziałowi poświęcić więcej uwagi, gdyż omówione w nim problemy będą się później przewijać dosyć często – można zaryzykować stwierdzenie, że na im wyższym poziomie będziemy programować, tym częściej z omówionych tu struktur będziemy korzystać.

Rozdział 6. Koniec bałaganu, czyli o nazwach rejestrów i układów peryferyjnych

W rozdziale tym wracamy do AVR i XMEGA – pokazane w nim zostały struktury danych opisujące peryferia XMEGA, zasady tworzenia ich nazw i dostępu. Znajdziemy tu wytłumaczenie dlaczego dane pole bitowe nazywa się tak a nie inaczej, co znaczą „magiczne” suffiksy _gm, _bp, _bm, czyli wszystko to co na pozór w XMEGA wydaje się skomplikowane i niezrozumiałe tu zostało wyjaśnione.

Rozdział 7. Lepiej i prościej, czyli porty IO procesora na sterydach

Ten rozdział zawiera coś i dla osób spragnionych wiedzy elektronicznej i coś dla programistów. W pierwszej części omówione są sposoby połączenia XMEGA ze światem zewnętrznym. Jak wykonać translację poziomów napięć do domen o wyższym lub niższym napięciu, dowiemy się co to takiego konfiguracja open drain, jak dostosować napięcie, jak działa dzielnik rezystorowy, czy też jak połączyć razem układy pracujące z różnymi napięciami na magistrali I2C.

Druga część rozdziału to opis pinów IO XMEGA – nowych funkcji, sposobów konfiguracji i podstawowych trybów pracy. Jest to o tyle istotne, że XMEGA ma znacznie większe możliwości konfiguracji pinów IO – mogą one pracować nie tylko jako wejście lub wyjście, ale także w konfiguracji open drain, z podciąganiem do Vcc, GND, w konfiguracji totem pole, czy wired-OR, lub wired-AND. Niewiele ci to mówi? Nie przejmuj się, po przeczytaniu tego rozdziału będziesz znał nie tylko te terminy, ale także nauczysz się praktycznie nową wiedzę wykorzystywać.

Na końcu dowiesz się o nowych funkcjach portów IO w XMEGA – o atomowym dostępie do portów, portach wirtualnych, czy też możliwości remapowania pinów IO.

Rozdział 8. Kontroler NVM — jak prosto i przyjemnie dobrać się do pamięci

W rozdziale tym pokazane są przykłady ilustrujące dostęp do pamięci EEPROM i FLASH przez nowy układ peryferyjny – NVM. Pokazane zostały przykłady dostępu do EEPROM w sposób klasyczny (tak jak to znamy z innych AVRów), oraz bezpośrednio poprzez kontroler NVM, dzięki czemu możemy zapisywać całe strony i przyśpieszyć zapis do EEPROM nawet ponad 30-krotnie.

W dalszej części znajdziemy przykłady mapowania EEPROM w obszar SRAM (kolejna unikalna cecha XMEGA), dostępu do zmiennych umieszczonych w EEPROM itd. Oczywiście nie zabrakło przykładów implementacji technik wear-leveling, dzięki czemu możemy wydłużyć ograniczoną żywotność komórki pamięci EEPROM. Dalej znajdziemy dwa bardziej zaawansowane przykłady, jednocześnie niezwykle przydatne w codziennym programowaniu. Pierwszy pokazuje jak umieścić dane w EEPROM przypisując im identyfikatory (tokeny), dzięki czemu nie musimy się do danych odwoływać przez adresy lecz przyjazne nazwy. Drugi przykład pokazuje jak zachować w pamięci nieulotnej dane programu po awarii/wyłączenia zasilania. Jak zwykle dostajemy gotowy, działający przykład, ze schematami, nic tylko wykorzystać we własnej aplikacji. Część rozdziału dotyczącą EEPROM kończą przykłady dostępu do tej pamięci z użyciem przerwań.

Dalej mamy oczywiście pamięć FLASH. Tu znajdziemy przykłady jak umieszczać dane w tej pamięci (jeśli myślisz, że wiesz jak to robić możesz być zaskoczony – nowy kompilator (gcc >4.7) udostępnia nowe możliwości i sposoby dostępu do FLASH), dowiemy się także jak uzyskać do nich dostęp z poziomu aplikacji (znane problemy związane z Harvardzką architekturą AVR). Na koniec – coś o czym zapewne większość nic nie wie – nazwane przestrzenie adresowe, czyli jak uzyskać dostęp do FLASH z pominięciem tych wszystkich makr pgm_XXX. No i przy okazji – nowe 24-bitowe typy danych.

Rozdział 9. Potrzebuję więcej mocy — słów kilka o konfiguracji zegara

Czasami brakuje nam mocy obliczeniowej, a XMEGA podobno można taktować częstotliwością aż 32 MHz! Jak to zrobić? Z tego rozdziału właśnie się tego dowiesz. Czyli wszystko jak konfigurować źródła zegara, jak zmieniać dynamicznie częstotliwość taktowania procesora, czy wybierać zegary taktujące poszczególne peryferia. Z rozdziału tego dowiesz się także, jak poprawnie podłączyć kwarc taktujący CPU lub RTC, jak dobrać kondensatory obciążające i jak poprowadzić ścieżki na płytce, aby to wszystko poprawnie działało. Dalej znajdziesz przykłady konfiguracji PLL (czyli jak zwiększać częstotliwość) i układu DFLL umożliwiającego stałą, sprzętową kalibrację zegara względem innego zegara. Czyli coś dla osób implementujących wszelakie RTC, czy po prostu osób którym wysoka stabilność częstotliwości jest potrzebna. Znajdziemy też przykłady jak sprzętowo monitorować zegar, poprawność jego działania i jak napisać aplikację potrafiącą zareagować np. na uszkodzenie kwarcu taktującego MCU.

Rodział 10. Przerwania i kontroler przerwań

Tego rozdziału nie będę opisywał, prościej po prostu ściągnąć go ze strony Helionu i przeczytać.

Rozdział 11. System zdarzeń

System zdarzeń to kolejny unikalny dla XMEGA układ peryferyjny dający naprawdę potężne możliwości. Dzięki jego wykorzystaniu procesor może sprzętowo reagować na wiele zdarzeń, a programista może powiązać określone zdarzenie ze skutkiem – np. upływ czasu z rozpoczęciem przetwarzania ADC. To jak ten system wykorzystać dowiesz się z tego rozdziału.

Korzystałeś kiedyś z enkodera (impulsatora), miałeś problem z jego obsługą? Tu znajdziesz gotowe rozwiązania sprzętowe i programowe. Dowiesz się jak prosto podłączyć enkodery mechaniczne lub optyczne, mierzyć ich położenie nie angażując CPU lecz właśnie system zdarzeń i timery. Przy okazji dowiesz się też jak podłączyć do XMEGA LCD alfanumeryczny.

Rozdział 12. Timery i liczniki

Timery i liczniki to podstawowe narzędzie każdego programisty systemów wbudowanych. Ponieważ liczniki w XMEGA znacząco ulepszonu, z tego rozdziału dowiesz się wszystkiego o ich działaniu i możliwych sposobach ich wykorzystania. Jak skonfigurować timer, jakie ma rejestry, jak wygenerować przebieg o zadanej częstotliwości, lub impuls o zadanym czasie trwania. A także jak przechwycić zdarzenie zewnętrzne i nadać mu marker czasowy, albo wygenerować przebieg PWM. Dowiesz się jak przy pomocy PWM wygenerować sygnał analogowy o dowolnym kształcie, jak obliczyć filtr potrzebny dla PWM. Mało tego, dowiesz się jak wygenerować dowolny przebieg korzystając z timera i przerwań, lub timera i DMA, czyli bez zaangażowania procesora. Jeśli do tej pory działanie liczników było dla ciebie niezrozumiałe i nie wiedziałeś jak z nich korzystać po przeczytaniu tego rozdziału będziesz licznikowym ekspertem. Jeśli dostępne 16-bitowe liczniki mają niewystarczającą długość, dowiesz się jak je połączyć uzyskując np. licznik 32-bitowy.

Rozdział 13. Kontroler DMA

To kolejny nowy podsystem w XMEGA. Osoby znające bliżej mikrokontrolery wiedzą jak potężnym DMA potrafi być narzędziem. Osoby początkujące często zniechęcają się bo DMA wydaje im się zbyt skomplikowany, a jego działanie niezrozumiałe. W rozdziale tym znajdziesz przykłady wykorzystania DMA do realizacji przesłań typu pamięć-pamięć, przesyłania bloków pamięci, odwracania kolejności danych itd.

Dowiesz się jak przesłać dane z pamięci np. do portu IO sterującego LED, uzyskując ciekawe efekty świetlne, jak sterować szybkością przesyłu danych przy pomocy timera, a także jak działają i czemu służą bardziej zaawansowane tryby działania DMA, np. praca buforowa, co przydaje się w systemach szybkiej akwizycji danych. Oczywiście wszystkie te zastosowania ilustrowane są bogatymi przykładami.

Rozdział 14. LED-y — co z nich można wycisnąć?

Wcześniej pokazane zostało jak korzystać z timerów, przerwań i DMA. Czas to połączyć razem i wykorzystać do czegoś praktycznego – sterowania LEDami. Na początku rozdziału znajdziemy trochę teorii na temat LED i sterowania nimi. Dla przykładu zamieszczone zostały schematy i programy sterujące taśmami LEDowymi RGB, dowiemy się jak zmieniać intensywność świecenia diod, ich kolor (dla diod RGB) tworząc efektowne oświetlenie. Oczywiście znajdziesz też schematy podłączenia taśm LED i informacje jak nimi sterować, czy jak dobrać potrzebny tranzystor sterujący.

Dalej oczywiście wyświetlacze 7-segmentowe i ich multipleksowanie. Czyli coś z czym zetknął się chyba każdy entuzjasta elektroniki. Dowiemy się jak multipleksować wyświetlacze, jak obliczyć prądy segmentów, a na końcu zbudujemy sobie licznik/timer zliczający od zadanej wartości do zera. Może się przydać w kuchni :)

Ale to nie wszystko. W trzeciej części rozdziału znajdziemy informacje na temat matryc LED, jak nimi sterować, jak je podłączyć do XMEGA i jak zrealizować w oparciu o nie animacje i banery reklamowe. Dowiesz się jak poprawnie zaprojektować takie banery, jak zaprojektować płytkę sterującą i prawidłowo je zasilić. Jak zwykle dostaniesz gotowe programy przykładowe, umożlwiające sterowanie matrycami jedno- lub dwukolorowymi, a także matrycami RGB. Myślisz, że sterowanie taką matrycą pochłania spore zasoby mikrokontrolera, który nie będzie w stanie nic więcej robić? Przeczytaj jak sterować taką matrycą z wykorzystaniem systemu zdarzeń, liczników i DMA. A twój procesor będzie sterował matrycą śpiąc! Bez problemu utworzysz m.in. atrakcyjny baner reklamowy:


Wyświetlanie napisu na matrycy LED.
Wyświetlanie napisu na matrycy LED.


który możemy też zobaczyć na animacji:




W rzeczywistości przewijanie tekstu jest płynne, a kolory są jaskrawe. Pewne niedoskonałości filmiku wynikają z niedoskonałości rejestracji obrazu przez kamerę oraz późniejszego przetwarzania przez system Youtube.

Ale to nie wszystko. Matryce to nie tylko możlwość sterowania on/off. Dowiesz się wiec jak uzyskać odcienie kolorów wykorzystując multipleksowanie i PWM, co daje szczególnie ładne efekty w przypadku matryc dwukolorowych i RGB:


Wyświetlanie odcieni kolorów na matrycy RG.
Wyświetlanie odcieni kolorów na matrycy RG.


Rozdział 15. Układy zegarowe w praktyce

Dosyć często w projektach musimy znać dokładny czas. Zwykle do tego celu wykorzystujemy zewnętrzne układy zegarowe. Komplikuje to układ i generuje dodatkowe koszty. Z tego rozdziału dowiesz się jak wykorzystać układ RTC (RTC16 lub RTC32) dostępny w XMEGA. Jak go skonfigurować, oraz jak przeliczyć uzyskaną z RTC wartość na format daty i czasu. Jako przykład pokazany został program implementujący zegar. Ale to nie wszystko. Skąd pobrać czas? Można mozolnie go wprowadzać, można też pobrać go drogą radiową – tu kłania się DCF77.

W dalszej części rozdziału znajdziesz przykład obsługi odbiornika DCF77 i opis standardu. Oczywiście do tego przykład ilustrujący wykorzystanie DCF77 i synchronizację zegara XMEGA z atomowym wzorcem czasu dostępnym drogą radiową. Przy okazji powtórzysz sobie wykorzystanie timerów i przerwań. A dalej? Jak zegar to oczywiście trzeba jakoś podtrzymywać jego działanie pod nieobecność zasilania mikrokontrolera. Jak podtrzymywanie zegara zrealizować poznasz w kolejnej części rozdziału. Dowiesz się o wadach i zaletach wykorzystania w tym celu baterii, akumulatorów, czy superkondensatorów.

Rozdział 16. Budujemy zegar z budzikiem, czyli skończona maszyna stanów w praktyce

Jeśli już wiemy jak zbudować zegar to czas na praktyczny projekt – czyli zegar z budzikiem z wyświetlaczem LED. To dobry przykład, aby pokazać pewien styl programowania – oparty na realizacji tzw. skończonej maszyny stanów. W tym rozdziale dowiesz się co to takiego i jak można taką maszynę zrealizować, a na końcu poznasz przykład takiej implementacji w praktyce właśnie budując zegar. Zobaczysz jak prosto i przyjemnie wykorzystuje się maszynę stanów do implementacji różnych algorytmów, co zostanie szerzej wykorzystane w kolejnych rozdziałach.


Rozdział 17. Komunikacja na różne sposoby, czyli USART w praktyce
USART i RS232 stanowią ciągle dominujący interfejs wykorzystywany do komunikacji. Z tego rozdziału dowiesz się jak zrealizować komunikację z komputerem, lub innym mikrokontrolerem w trybie synchronicznym i asynchronicznym. Jak ustawić szybkość transmisji (tu XMEGA dysponuje o wiele większymi możliwościami niż wcześniejsze AVRy, nie musisz używać tzw. kwarców przyjaznych dla USART, ba, w ogóle nie musisz używać kwarcu) i wykorzystać dostępny generator frakcyjny. Dowiesz się jak podglądać port szeregowy i transmisję oraz jak skonfigurować USART. Ale to tylko wstęp do realizacji transmisji danych. W dalszej części poznasz jak nie należy i jak należy oprogramować transmisję UART z wykorzystaniem prostych metod (pooling), w oparciu o przerwania lub wykorzystując DMA. Do tego przyda się powtórka z wcześniejszego rozdziału o złożonych strukturach danych, gdyż poznasz jak zaimplementować obsługę UART z wykorzystaniem np. bufora pierścieniowego.

Ale to nie koniec. Chciałeś kiedyś wysłać dane przez USART z funkcji przerwania i programu głównego? Niech zgadnę, nie wyszło to tak jak chciałeś? W tym rozdziale nie tylko dowiesz się dlaczego to nie zadziałało poprawnie, ale także jak zrobić, aby takie sztuczki były możliwe. Nauczysz się wysyłać i odbierać dane z różnych „wątków”, tak aby żądania dostępu do USART się wzajemnie nie zakłócały. Nauczysz się także jak zrealizować w wygodny sposób dostęp do USART (czy ogólnie dowolnego zasobu) przy pomocy mechanizmów udostępnianych przez język C – strumieni. Oczywiście nie mogło też zabraknąć znanego z innych mikrokontrolerów opisu trybu wieloprocesorowego (MPCM), umożliwiającego sprzętową adresację urządzenia slave i tworzenie konfiguracji master-multiple slave.

Rozdział 18. Wizualizacja danych

W poprzednich rozdziałach pokazana została solidna porcja danych i wiedzy. Czas nowe wiadomości połączyć w większą całość. Na przykładzie programu Atmel Data Visualizer dowiemy się w jaki sposób przesyłać do komputera złożone struktury danych oraz jak tworzyć struktury danych i je dziedziczyć dzięki rozszerzeniu standardu języka C. Przy okazji dowiemy się jak obsługiwać popularne ultradźwiękowe mierniki odległości znane z platformy Arduino, a także jak taki miernik zbudować od podstaw. Przy okazji powtórzymy sobie tryb pracy timera polegający na przechwytywaniu i pomiarze szerokości impulsu, jak przetworzyć uzyskane dane i wysłać je do programu ADV w celu wizualizacji. Ale to nie wszystko.

W drugiej części rozdziału pokazany jest przykład o niezwykle praktycznym zastosowaniu. Każdy elektronik zmaga się z problemami transmisji danych, a pisząc własne protokoły komunikacyjne, czy próbując komunikować się z urządzeniami zewnętrznymi natrafiamy na problemy. Co gdyby posiadać analizator stanów logicznych, umożliwiający w dodatku interpretację protokołów (np. SPI, 1-wire, USART, I2C)? To drogie urządzenie? Nic bardziej mylnego, dowiedziałeś się o XMEGA już tyle, że potrafisz je zbudować sam. No może z drobną pomocą pod postacią tego rozdziału. Dowiesz się więcej o protokole OLS, klientach tego protokołu oraz najważniejsze – jak w oparciu o XMEGA sprzętowo przechwytywać wielokanałowy sygnał cyfrowy z możliwie wysoką częstotliwością próbkowania – a potem wysłać przechwycone dane do PC w celu dalszej analizy:


Przykładowy zrzut stanów logicznych z analizatora.
Przykładowy zrzut stanów logicznych z analizatora.

Przy okazji powtórzysz sobie połączone działanie timerów, systemu zdarzeń, DMA i USART oraz zbudujesz przydatne narzędzie. Na końcu dowiesz się też o problemach związanych z przechwytywaniem sygnałów cyfrowych, aliasingu, itd.

Rodział 19. Wykorzystanie podczerwieni do transmisji danych

Transmitujemy dane, czemu by nie wykorzystać do transmisji podczerwieni? Z tego rozdziału dowiesz się wszystkiego o wykorzystaniu podczerwieni do transmisji danych. Poznasz schematy modulacji danych, dowiesz się jak zbudować odbiornik podczerwieni (i przy okazji nadajnik), jak odebrać dane z pilota telewizyjnego, pracującego w dowolnym standardzie. Przy okazji nauczysz się używać zbudowanego w poprzednim rozdziale analizatora stanów logicznych – dzięki niemu przechwycisz sygnał pilota i zobaczysz go przedstawiony graficznie, dowiesz się jak przeprowadzić inżynierię odwrotną, w celu poznania tajników protokołu ukrywanych przez producentów. Dalej znajdziesz opis popularnych (i mniej popularnych) standardów przesyłania danych przez piloty TV, dowiesz się co to takiego kod Manchester i jakie są jego zalety, oraz jak łatwo go zdekodować.

W kolejnej części dowiesz się jak nadawać dane podczerwienią udając różne urządzenia, m. in. pilota do aparatu fotograficznego, czy pilota TV. Ale podczerwień to nie tylko piloty TV. To doskonały nośnik do taniej realizacji komunikacji bezprzewodowej. Dowiesz się jak zbudować własny protokół transmisji, jak zabezpieczyć integralność przesyłanych danych wykorzystując CRC i jak przesłać dane podczerwienią pomiędzy mikrokontrolerami, lub mikrokontrolerem a komputerem PC.

Przy okazji dowiesz się jak wykorzystać nowy układ peryferyjny XMEGA umożliwiający sprzętowe liczenie CRC16 i CRC32. Dowiesz się także jak automatycznie wyliczać CRC dla danych transmitowanych np. przez DMA i jak automatycznie „doklejać” wyliczoną wartość do transmitowanego pakietu danych. Umożliwi ci to realizację pakietowej transmisji danych, odpornej na zakłócenia.

Na koniec rozdziału zbudujesz jeszcze jedno przydatne urządzenie – dosyć nietypowy magnetofon. Masz pilota nadającego w dziwnym standardzie, nie potrafisz się z nim dogadać, masz kilka różnych pilotów w różnych standardach, a chciałbyś móc sterować urządzeniami w domu przy pomocy tylko jednego? A co jeśli by nagrać sygnał generowany przez inne piloty i go potem odtwarzać? Takie urządzenie to doskonała okazja, aby nabrać perfekcji w posługiwaniu się timerami, systemem zdarzeń i DMA, a także... maszyną stanów.

No i zupełnie na koniec jeszcze jeden podsystem XMEGA – kontroler IrDA, czyli jak naprawdę szybko przesyłać dane podczerwienią.


I to niestety koniec. Zapytasz zapewne, a gdzie ADC, DAC, SPI, I2C itd.? No cóż, książka nie jest z gumy, a ta liczy sobie 632 strony. Te i wiele innych, jeszcze ciekawszych przykładów i projektów znajdzie się miejmy nadzieję w kolejnym tomie.

Pozdrawiam,
Tomasz Francuz


Oceń artykuł.
Wasze opinie są dla nas ważne, gdyż pozwalają dopracować poszczególne artykuły.
Pozdrawiamy, Autorzy
Ten artykuł oceniam na:

Recenzja: AVR. Praktyczne projekty (XMega)


Autor: Dondu

Książka - Recenzja Dondu: AVR. Praktyczne projekty (XMega) - Tomasz Francuz
Atmel podzielił swoją rodzinę mikrokontrolerów AVR, na 3 grupy:
  • ATtiny
  • ATmega
  • ATXmega

O ile te dwie pierwsze niewiele różnią się od siebie i zostały omówione w pierwszej książce autora, o tyle mikrokontrolery ATXmega, to znacznie bardziej rozbudowane, szybsze i uporządkowane mikrokontrolery AVR.

Dlatego też w rękach osoby, która pozna niuanse ATXmega rewanżuje się ona znacznym przyrostem wydajności, względem poprzednich rodzin:


Porównanie rodzin mikrokontrolerów Atmel AVR.
Porównanie rodzin mikrokontrolerów Atmel AVR.

Większa wydajność nie bierze się tylko i wyłącznie z większej częstotliwości zegara taktującego mikrokontroler, ale przede wszystkim z wyposażenia tych mikrokontrolerów w dodatkowe moduły jak:
  • DMA,
  • CRC,
  • RTC,
  • DAC,
  • kontroler przerwań,
  • moduł kryptograficzny,
  • sprzętowa obsługa enkoderów,
  • sprzętowa obsługa przycisków pojemnościowych,
  • system zdarzeń,
  • PLL - układ zarządzania zegarem i mocą.

Jednakże:

Kolosalną zaletą mikrokontrolerów ATXmega jest także to, że wiedza nabyta przy pomocy ATtiny i ATmega daje solidne podstawy, które znacznie przyspieszają i ułatwiają wkroczenie w świat ATXmega.

Innymi słowy, by zyskać znacznie większą wydajność swoich projektów nie musisz sięgać po zupełnie nieznane Ci mikrokontrolery np. ARM.

Dlatego też autor książki przyjął istotne założenie:


Tomasz Francuz
Stąd też w tej książce założyłem, że czytelnik posiada wiedzę i umiejętności nabyte w wyniku lektury poprzedniej książki. W tej książce uwzględniłem tylko charakterystyczne dla ATXmega rozszerzenia oraz zmiany, jakie zaszły w kompilatorze gcc w ciągu ostatnich dwóch lat.


Niniejsza książka jest więc kontynuacją poprzedniej, ze wszystkimi konsekwencjami z tego wynikającymi:

Innymi słowy, jeżeli nie znasz podstaw mikrokontrolerów AVR i języka C, książka ta nie jest dla Ciebie. Powinieneś najpierw skorzystać z tej: Język C dla mikrokontrolerów AVR. Od podstaw do zaawansowanych aplikacji

Nauka nowej rodziny mikrokontrolerów, może odbywać się na dwa sposoby:
  1. używamy symulatora wbudowanego w oryginalne środowisko Atmel Studio,
  2. praktycznym programowaniu mikrokontrolera i empirycznym sprawdzaniu wyników jego pracy.

O ile pierwszy sposób, nie kosztuje nic, ponieważ całe środowisko Atmel Studio IDE jest darmowe, o tyle praktyczne testowanie, nieco nas będzie kosztować. Niestety mikrokontrolery ATXmega nie są produkowane w obudowach DIP, które pasują do płytki stykowej.

Dlatego autor książki przyjął, że bazą mogą być na przykład oryginalne płytki Atmela z serii Xplained. Ale wcale nie muszą być to płytki oryginalne, a w serwisach aukcyjnych znajdziecie masę różnych wersji z różnymi mikrokontrolerami ATXmega.

Ja jednak polecę Wam wykonanie we własnym zakresie płytek na bazie udostępnionych przez kol. Manekinen w artykule: XMEGA: Moduły własnej roboty (DIY) by manekinen

Wszystkim zainteresowanym ATXmega polecam także cykl artykułów autora książki, które o tej rodzinie możecie znaleźć tutaj: Wstęp do mikrokontrolerów XMEGA Atmel'a.

Tyle słowem wstępu, czas by zagłębić się w książkę ...





Zawartość książki

Pokrótce omówię poszczególne rozdziały:

Rozdział 2: Jak zacząć, czyli instalacja środowiska

Standardowy rozdział, którego lektura znacznie ułatwi Ci przygotowanie się do pracy z mikrokontrolerami ATXmega. Nie ma tutaj nic szczególnego na co warto by zwrócić uwagę, ale czytając książkę nie pomijaj tego rozdziału!


Rozdział 3: Organizacja i zarządzanie projektem

Jeżeli wykorzystujesz mikrokontrolery ATXmega oznacza to, że zajmujesz się poważniejszym projektem niż prosty robot, czy odtwarzacz MP3. Stąd zapewne poziom skomplikowania Twojego programu, będzie znacznie większy. W takim przypadku nie można sobie pozwolić na bałagan w kodzie programu, projekcie, czy jego wersjach.

W rozdziale tym, autor pokazuje jak prawidłowo należy zorganizować swój projekt od strony podziału na pliki, biblioteki oraz jak kontrolować wersje za pomcą wbudowanego w Atmel Studio systemu SVN.

Po lekturze i zastosowaniu się do tych zaleceń, nie będziesz już miał problemów przy dużych projektach oraz wielu wersjach tego samego projektu.


Rozdział 4. Jak tworzyć lepszy i efektywniejszy kod?
Rozdział 5. Jak uporządkować chaos, czyli złożone typy danych i listy?

Znasz biegle takie pojęcia jak:
  • struktury,
  • listy,
  • stosy,
  • kolejki,
  • pola bitowe,
  • unie,
  • deep copy i shallow copy
  • konstruktory i destruktory,
  • … itp.?

… jeżeli nie, to te dwa rozdziały przeniosą Ciebie na wyższy poziom programowania, a co za tym idzie wydajności, jakiej być może jeszcze nie znasz. Te łącznie 66 stron, to skondensowana wiedza, poszerzająca umiejętności posługiwania się językiem C z ukierunkowaniem na mikrokontrolery.


Rozdział 6. Koniec bałaganu, czyli o nazwach rejestrów i układów peryferyjnych

Od tego miejsca zaczyna się stricte omawianie ATXmega. Ten krótki rozdział wprowadzi Ciebie w porządek jaki panuje w rodzinie ATXMega w zakresie nazw rejestrów i ich bitów:


Tomasz Francuz
Firma Atmel rozwiązała sprawę bardzo elegancko, uporządkowując całą przestrzeń I/O. W efekcie każdy typ układu peryferyjnego niezależnie od tego, do której podrodziny ATXmega należy, jest opisany dokładnie w taki sam sposób.


Innymi słowy koniec z przerabianiem kodu przenosząc się z jednego mikrokontrolera na inny, jak to często miało miejsce w Attiny i Atmega.

Ten rozdział jest obowiązkowy!!!


Rozdział 7. Lepiej i prościej, czyli porty IO procesora na sterydach

38 stron o pinach?! To chyba lanie wody!
Nie, to po prostu możliwości ATXmega :-)

Ten rozdział jest niezbędny do prawidłowego wykorzystania mikrokontrolerów ATXmega, ponieważ ich możliwości w tym zakresie są ogromne. Znajdziesz tutaj kompletny zestaw informacji, którego nie będę opisywał – wystarczy, że przeczytasz zawartość tego rozdziału w spisie treści.

Dodam jedynie, że w przeciwieństwie do poprzednich rodzin, ATXmega mają (jak większość  nowoczesnych mikrokontrolerów) możliwość zmiany funkcjonalności danego pinu, przez co znacznie łatwiej projektować płytki PCB.


Rozdział 8. Kontroler NVM - jak prosto i przyjemnie dobrać się do pamięci

W ATXmega także i dostęp do pamięci FLASH, EEPROM i SRAM, nie jest tylko „standardowy”. W mikrokontrolerze tym, zastosowano specjalizowany układ NVM, który pozwala na różnego rodzaju niestandardowe wykorzystanie pamięci jak np.:
  • mapowanie EEPROM w obszarze adresowym SRAM,
  • kasowanie wybranych bajtów strony (a nie tylko całej strony),
  • dostęp do EEPROM z wykorzystaniem tokenów,
  • wspólna przestrzeń adresowa FLASH i SRAM vs wskaźniki,
  • itp.
W rozdziale tym, znajdziesz także praktyczne rozwiązania dot. często poruszanego na forach problemu zapisu danych do pamięci EEPROM przy zaniku zasilania mikrokontrolera. Autor pokazuje jak poradzić sobie z tym problemem zarówno od strony schematu jak i przykładu programu.


Rozdział 9. Potrzebuję więcej mocy - słów kilka o konfiguracji zegara

ATXmega jak na nowoczesny mikrokontroler przystało posiada bardzo rozbudowane możliwości w zakresie zegara taktującego mikrokontroler i jego wewnętrzne układy. W szczególności istotne są możliwości w zakresie zmiany częstotliwości taktowania w trakcie pracy mikrokontrolera tym bardziej, że ATXmega umożliwia taktowanie rdzenia (CPU) z inną prędkością niż pozostałych modułów wewnętrznych.

Gdy do tego dodać jeszcze możliwość wykorzystania systemu PLL, do zwiększania częstotliwości taktowania, daje to olbrzymią ilość kombinacji pozwalając dostosować mikrokontroler do potrzeb konstruktora.

Ten ogrom możliwości ma jednak swoją cenę, i może osobie „przesiadającej się” z  ATTiny i Atmega na ATXmega sprawić sporo problemów. Dlatego też autor słusznie omawia każdą nowinkę w tym zakresie, co znacznie ułatwi zrozumienie idei i przetestowanie jej na przykładach.


Rozdział 10. Przerwania i kontroler przerwań

Do skomentowanie rozdziału o przerwaniach postanowiłem zacytować fragment wstępu:


Tomasz Francuz
Przerwania są jednym z najważniejszych elementów w świecie mikrokontrolerów, z drugiej strony ich poprawne wykorzystanie i oprogramowanie nastręcza najwięcej trudności.


Rozdział ten większość z nich powinien wyjaśnić i zachęcić do szerokiego stosowania narzędzia, które właściwie wykorzystane daje niesamowite możliwości.

Jest to o tyle istotne, że przykłady znajdujące się w kolejnych rozdziałach w znakomitej większości bazują na przerwaniach.

W rozdziale tym znajdziesz także przykłady języka C oraz ich odpowiedniki w assemblerze w zakresie dot. przerwań. Jest to o tyle istotne, że z reguły zależy nam na tym, by przerwania wykonywały się jak najszybciej.


Rozdział 11. System zdarzeń

Co to jest takiego ten system zdarzeń? Najprościej mówiąc, to programowalny sposób powiązania wewnętrznych układów mikrokontrolera w taki sposób, że jedne zależne są od drugich. Połączenia te realizowane są za pomocą jednego z 8 dostępnych kanałów.

Brzmi skomplikowanie?
Pewnie tak, dlatego też w tym rozdziale autor przedstawił przykłady (dostępne w załącznikach) wykorzystania zdarzeń, do realizacji sprzętowej obsługi:
  • filtru cyfrowego,
  • dekodera kwadraturowego kodu Gray'a,
  • podłączenia enkodera obrotowego.

Poznanie tych możliwości rodziny ATXmega przeniesie Ci wiele satysfakcji i znacząco wpłynie na odciążenie CPU mikrokontrolera oraz uproszczenie programu. Autor w bardzo zrozumiały sposób tłumaczy, każdy istotny aspekt w tym zakesie.


Rozdział 12. Timery i liczniki

Gdy zaczynasz lekturę tej książki, zgodnie z założeniem autora timery nie powinny stanowić dla Ciebie wiedzy tajemnej, której jeszcze nie posiadłeś. Ponieważ timery w ATXmega mają znacznie większe możliwości w tym:
  • kaskadowe łączenie,
  • wykorzystanie DMA,
  • itp.

stąd autor przede wszystkim kładzie nacisk na ich poznanie na przykładach oczywiście.


Rozdział 13. Kontroler DMA

To jedno z najpotężniejszych narzędzi mikrokontrolerów ATXmega. Nie było go w poprzednich rodzinach, stąd też autor poświęca mu sporo miejsca.

Dla niezorientowanych, DMA to układ transmisji danych pomiędzy wewnętrznymi modułami mikrokontrolera, w tym także CPU. Moduł ten przy odpowiednim jego zaprogramowaniu przejmuje od CPU wszelkie „nudne” procesy zajmujące CPU niepotrzebnie czas, czyli wpływa na oszczędzanie mocy obliczeniowej CPU.

DMA wykorzystywany w komputerach, trafił do świata mikrokontrolerów 8-bitowych właściwie po to, by w ten prosty sposób znacząco zwiększyć ich wydajność.

Autor w rozdziale dot. DMA omawia wstępnie interfejs DMA, ponieważ:


Tomasz Francuz
W dalszej części książki pokazane zostaną liczne przykłady użycia DMA w aplikacjach, zanim jednak zostaną one omówione, musisz poznać nieco budowę tego tajemniczego komponentu.


I faktycznie, w kolejnych rozdziałach DMA jest wykorzystywany - także w poprzednim rozdziale (timery) DMA był już użyty.



Rozdział 14. LED-y - co z nich można wycisnąć?

Tytuł i umiejscowienie tego rozdziału w książce może bardzo dziwić. Jednakże po jego lekturze uznasz, że rozdział ten pokazuje praktyczne przykłady:


Tomasz Francuz
Jednak celem tego rozdziału jest przede wszystkim pokazanie jeszcze raz, jak korzystać z podstawowego układu peryferyjnego jakim jest timer, oraz jak łączyć charakterystyczne dla Xmega podsystemy (timer, DMA, system zdarzeń), tak aby maksymalnie odciążyć procesor.


I tak faktycznie jest. W rozdziale tym znajdziesz schematy i programy (w załącznikach) dla:
  • taśm LED,
  • wyświetlaczy 7-segmentowych,
  • matrycy LED.

W osobnym podpunkcie autor omawia także najczęściej pojawiające się błędy w projektowaniu urządzeń wyświetlających za pomocą LED.

Projekty z LED-ami stanowią jedną z najprostszych metod poznawania i nauki danej rodziny mikrokontrolerów dlatego uważam, że ten rozdział za bardzo istotny i znacznie przyspieszający nauczenie się DMA i systemu zdarzeń.


Rozdział 15. Układy zegarowe w praktyce

ATXmaga posiadają układy RTC, które nie do końca są odpowiednikami tych np. z PIC-ów Microchipa. Innymi słowy nie są to typowe układy liczące sprzętowo upływający czas w postaci sekund, minut, godziny, dni, miesięcy, itd.

Układy te są jedynie przygotowane do ułatwienia realizacji takich funkcjonalności za pomocą ATXmega. Autor dokładnie omawia i pokazuje na przykładach jak zrealizować dokładny zegar czasu rzeczywistego z wykorzystaniem wewnętrznych timerów RTC oraz kalibracji.

Jako ciekawostkę autor omawia także w tym rozdziale sposób odbioru sygnału radiowego wzorca czasu według standardu DCF77, co pozwala realizować projekty, które będą synchronizowały czas do wzorca czasu zegara atomowego.


Rozdział 16. Budujemy zegar z budzikiem, czyli skończona maszyna stanów w praktyce

Właściwie tytuł zawiera wszystko co w tym dziale jest omówione. Jeżeli nie wiesz co to jest skończona maszyna stanów, to zaglądnij do Wikipedii: Automat skończony (ang. finite state machine, FSM)

Zapewne już ją stosowałeś, nawet nie wiedząc o tym :-)

Dlaczego autor porusza ten temat?:


Tomasz Francuz
… w miarę jak zastosowania mikrokontrolera stają się coraz bardziej skomplikowane, warto na chwilę wrócić do teorii choćby po to, aby w sposób przejrzysty i łatwy do modyfikacji pisać większe programy.


Wybrany przez autora przykład projektu budzika z kalendarzem jako projektu opartego o maszynę stanów, jest w miarę prosty i łatwy do zrozumienia. Ja jednak oczekiwałbym w tym rozdziale dodatkowego bardziej skomplikowanego przykładu.



Rozdział 17. Komunikacja na różne sposoby, czyli USART w praktyce

Interfejs USART w ATXmega, to niezależność w każdej postaci :-)

Po pierwsze jest ich znacznie więcej niż w standardowych Atmega, a w dodatku są w każdym porcie mikrokontrolera. Łącznie daje to bardzo duże możliwości komunikacji z urządzeniami zewnętrznymi.

Komunikacja to wymiana danych, a tam gdzie są wysyłane lub odbierane dane w ATmega pośredniczyć musiał rdzeń CPU. W ATXmega mamy DMA i to jest to! Teraz wystarczy dobrze poznać USART i DMA, by dane śmigały w obu kierunkach praktycznie bez udziału rdzenia CPU.

A ponieważ USART jest bardzo często wykorzystywany, stąd rozdział ten nie powinien być krótki i tak faktycznie jest, gdzie omówiony jest USART łącznie ze strumieniowaniem danych przy łączności z komputerem PC.



Rozdział 18. Wizualizacja danych

Wizualizacja danych, to nic innego jak konwersja danych cyfrowych na format, zrozumiały dla człowieka odbierany przede wszystkim przez nasz wzrok. Bardzo często stajemy przez dylematem, jak powinny być prezentowane dane uzyskane za pomocą naszego urządzenia, którym jest np. jakieś urządzenie pomiarowe.

W rozdziale tym autor przedstawia oryginalne i darmowe narzędzie Atmela o nazwie Atmel Data Visualizer, które umożliwia taką wizualizacje danych przesłanych interfejsem do komputera.

Istotą tego rozdziału nie jest jednak omówienie samego narzędzia, lecz:


Tomasz Francuz
W tym rozdziale pokazane zostanie, jak zbudować nieco bardziej skomplikowane protokoły wymiany danych, a także niejako przy okazji – jak uzyskane dane przedstawić w miarę przystępny sposób.


Autor omawia ten temat na bazie dwóch przykładów:
  • ultradźwiękowego pomiaru odległości,
  • analizator stanów logicznych.

Temat ten jest bardzo fajnym fragmentem książki, który można modyfikować i rozbudowywać we własnym zakresie, kładąc (w przypadku analizatora stanów logicznych) nacisk na szybkość agregowania danych, czy dodawanie takich funkcji jak wyzwalanie początku i końca agregowanych danych za pomocą określonego stanu pinów, itd.


Rozdział 19. Wykorzystanie podczerwieni do transmisji danych

Ten rozdział nie jest bezpośrednio związany z możliwościami Xmega, ale uzupełnia moim zdaniem zawartość pierwszej książki, w której powinien się był znaleźć. Autor nadrabia więc ten brak podając w sposób skondensowany wszelkie niezbędne informacje i przykłady, by móc poprawnie realizować komunikację w podczerwieni w różnych standardach.

Na temat tego rozdziału nie będę się rozpisywał – wystarczy przeczytać zawartość na spisie treści.





Podsumowanie

Dla kogo jest ta książka?

Mogę z całą stanowczością potwierdzić, że:

Zgodnie z założeniami autora nie jest to książka dla osoby, która dopiero zaczyna przygodę ze światem mikrokontrolerów.

... przypomnę założenia autora:


Tomasz Francuz
Stąd też w tej książce założyłem, że czytelnik posiada wiedzę i umiejętności nabyte w wyniku lektury poprzedniej książki. W tej książce uwzględniłem tylko charakterystyczne dla ATXmega rozszerzenia oraz zmiany, jakie zaszły w kompilatorze gcc w ciągu ostatnich dwóch lata.


Autor bardzo dokładnie i konsekwentnie omówił najważniejsze zalety rodziny ATXmega, wybierając na pierwszy ogień te najważniejsze, których używanie pozwala na znaczące zwiększenie mocy obliczeniowej i generalnie wydajności budowanego urządzenia.

Bardzo dobrym uzupełnieniem do tej książki są dwa cykle artykułów, prowadzone przez autora na naszym blogu:

które autor co jakiś czas wzbogaca o nowe odcinki.


Wsparcie ze strony autora - kontakt

Istotnym jest także to, że autor bardzo chętnie odpowiada na wszelkie pytania dot. zawartości swoich książek, na forum: Elektroda.pl: Dział - Mikrokontrolery Ogólne. Jeżeli więc będziesz miał pytanie lub problem wystarczy, że napiszesz nowy temat na forum i na pewno odpowiedź otrzymasz. Znajdziesz go tam pod nickiem tmf.


Moim zdaniem ...

Mogę więc śmiało polecić tę książkę wszystkim tym, którzy znając już AVR-y potrzebują większych wydajności, przy jednoczesnym krótkim okresie nauki nowych peryferii, w porównaniu z przesiadaniem się na mikrokontrolery np. ARM.

Książka tak jak poprzednia napisana bez wodolejstwa jak to ma miejsce w przypadku innych książek, czyli koncentrat wiedzy z niezbędną ilością wyjaśnień. W szczególności polecam tę książkę uczniom szkół ponadgimnazjalnych oraz studentom.

Dodatkowo, gdy policzysz sobie ile kosztuje jedna strona tej skondensowanej wiedzy (632 strony) w porównaniu do książek innych autorów, będziesz mile zaskoczony. Zrób to dla wersji drukowanej oraz eBook i ... wnioski wyciągnij sam


Wydanie

Ponieważ poprzednia książka była wydana na papierze, który pozostawiał wiele do życzenia,  informuję że tym razem wydawca postarał się i papier jest już bardzo dobrej jakości. Książka jak większość książek tego wydawnictwa wydana jest w miękkiej okładce w technice klejenia. Klejenie jak zwykle jest bardzo dobre, ale przy intensywnym użytkowaniu przez kilka lat, na pewno nie dorówna książkom szytym, za to jest od nich tańsza. Coś za coś, stąd ...

... alternatywą jest wybranie tej książki w wersji eBook, co daje Ci bardzo przydatne możliwości wyszukiwania informacji oraz robienia notatek, oszczędności, a także nieśmiertelność książki :-)
Dlaczego elektronik / informatyk powinien chętniej sięgać po eBook-i?



Gdzie kupić?

Wersje drukowane oraz eBook zakupisz na stronach wydawnictwa Helion:

 


Oceń artykuł.
Wasze opinie są dla nas ważne, gdyż pozwalają dopracować poszczególne artykuły.
Pozdrawiamy, Autorzy
Ten artykuł oceniam na:

wtorek, 1 marca 2011

Recenzja: Język C - Prata vs King


Autor: Dondu


Niniejsza recenzja dotyczy dwóch książek.



Język C. 
Szkoła programowania. 
Wydanie V

Autor: Stephen Prata
Wydanie: 2006
Stron: 976
Status:

Format: 244 x 170 x 49
Oprawa: twarda
Waga: 1,46kg

Na stronie Helion'u: Opis,spis treści, przykład rozdziału ... itp.


Język C. 
Nowoczesne programowanie. 
Wydanie II

Autor: K. N. King
Wydanie: 2011
Stron: 936


Format: 230 x 170 x 41
Oprawa: miękka
Waga: 1,37kg

Na stronie Helion'u: Opis,spis treści, przykład rozdziału ... itp.



Wstęp

Języka C można uczyć się z dostępnych dokumentów standardu (o ile znasz angielski), licznych internetowych kursów, czy też książek. O ile do całkowitych podstaw wystarczą kursy internetowe (jak chociażby ten dostępny na blogu) i ewentualnie dokumenty standardu, o tyle dogłębnej znajomości C nauczysz się tylko z książek takich jak te.

Języki tworzone są z różnych powodów:

Prata:
Większość języków została stworzona z myślą o użyteczności, lecz nie zawsze właśnie ta cecha była głównym zamierzeniem ich twórców.

Na przykład głównym celem stworzenia języka PASCAL było zapewnienie bazy do nauczania właściwych zasad programowania. Z kolei BASIC został zaprojektowany tak, by przypominał język angielski i mógł być łatwo przyswajany przez uczniów, którzy nie mieli styczności z komputerem.

C został pomyślany jako narzędzie pracy programistów, a więc jego podstawowym celem jest użyteczność.


Ta cecha powoduje, że język C jest podstawowym językiem budowania systemów operacyjnych oraz programowania mikrokontrolerów. Ma istotne zalety, ale także i zagrożenia:


Prata:
Język C daje programiście więcej swobody, ale i obarcza go większą odpowiedzialnością.


Ta swoboda jest kolosalną zaletą w przypadku programowania mikrokontrolerów.



O książkach

Niektóre książki określane są mianem biblii. Te książki zasługują na to, by tak właśnie je określać. Są tak kompleksowe, że ważą prawie 1,5 kg każda. Tak, tutaj wiedzę można śmiało liczyć w kg :-)


Dlaczego dwie książki w jednej recenzji?

Przyczyna jest prosta:

To dwie pozycje, które zawierają wszystko, co jest niezbędne do pisania programów na wysokim poziomie. Innymi słowy warto kupić tylko jedną z nich.

Skoro, więc są „bibliami” i warto kupić tylko jedną z nich uznałem, że powinienem je porównać niż dokładnie opisywać tym bardziej, że ceny nieco się różnią.

Porównałem, więc jeden z najważniejszych tematów, jakim są wskaźniki.

I niestety nie mam zastrzeżeń do żadnej z tych książek :-)
Obie przedstawiają ten temat bardzo obszernie i dokładnie, pokazując podstawy jak i zaawansowanie wykorzystanie tak istotnych właściwości języka C, jakim są wskaźniki.

No nie mam się czego „czepić”. :-)
I tak jest z każdym omawianym tematem w obu książkach.


Przykłady na FTP

Załącznikami do książek są pliki kodów źródłowych dostępne na serwerze FTP Helion’u. Autorzy wyszli ze słusznego założenia, że powinny to być proste fragmenty kodów, które realizują jakiś omawiany temat, podobnie jak ja to robię w kursie C na blogu.

Właściwie różnica w tym zakresie ogranicza się do ilości przykładów (u Prata’y jest ich ponad 230, u King’a niecałe 70). W przypadku Prata’y są dodatkowo umieszczone w katalogach odpowiadających numerom rozdziałów.

Możesz pobrać pliki nawet przed zakupem książki:



Wykonanie

Obie książki wykonane na najwyższym poziomie. Papier śnieżnobiały lekko prześwitujący, ale nie sprawia to problemów z czytaniem, ze względu na duży kontrast tekstu i papieru.

Różnią się natomiast techniką wykonania:

Prata

Książka wydana jest w twardej oprawie papierowej i w technologii szycia nićmi. Zapewnia to trwałość oraz co najważniejsze możliwość swobodnego jej otwierania na dowolnej stronie. Okładka jest powleczona matową folią.

Książkę szytą można spokojnie otwierać. Język C - Szkoła programowania - Stephen Prata



King

Książka klejona, a oprawa powleczona folią. Wprawdzie wydawca dba o mocne klejenie i pod tym względem nie można mieć żadnych zastrzeżeń, to można jednak mieć obawy, że książka (która z założenia ma służyć wiele lat) w końcu może nie wytrzymać próby czasu i nastąpi jej uszkodzenie (złamanie kleju), co może w konsekwencji powodować wypadanie stron.

Z techniką klejenia jest związany jeszcze jeden problem – brak możliwości swobodnego rozłożenia książki na dowolnej stronie, bez przyciśnięcia jej jakimś przedmiotem. Ten problem w szczególności występuje w tak grubych książkach jak ta.

Książkę klejoną trudniej otwierać. Język C - Nowoczesne programowanie. King.

Ale jeżeli to rozumiesz i dbasz o książkę, to nie musisz obawiać się o jej przyszłość. Mam sporo klejonych książek sprzed wielu lat i są w dobrym stanie :-)



Bestseller

Na moment pisania tej recenzji (koniec 2012r.) książka Prata’y jest bestsellerem (ponad 3000 egzemplarzy w Polsce). Podobnie jest z ilością opinii na stronie Helion’u.

Jednakże porównując obie książki nie należy się tym kierować, ponieważ książka Prata jest z 2006 roku, a King’a z 2010.



Którą książkę wybrać?

Odpowiedź nie jest prosta i sam będziesz musiał zadecydować.

Moim zdaniem przy wyborze jednej z tych książek powinieneś kierować się jedynym istotnym i różniącym te książki kryterium, jakim jest sposób pisania (zrozumiały język).

Obie książki są pisane w sposób, który moim zdaniem zapewnia łatwe zrozumienie omawianego tematu. Jednakże każdy czytelnik ma inne preferencje stąd, o wyborze powinieneś zadecydować czytając dostępne dla obu książek przykładowe rozdziały. To pozwoli Ci zorientować się, w stylu pisania i wybrać ten bardziej przyjazny dla Ciebie.

Uważam także, że książka King’a ma jedną dodatkową zaletę. Jest nią skład tekstu, a konkretnie wykorzystywanie marginesów do zaznaczania ważnych informacji oraz odsyłaczy do innych rozdziałów na dany temat, a także częstsze korzystanie z wytłuszczania i wypunktowywania informacji. To znacząco ułatwia wzrokowe poruszanie się po tekście.

Wykorzystanie marginesów oraz czytelny skład. Język C - Nowoczesne programowanie. King.


Ja wybrałbym King’a, ale Ty kieruj się stylem pisania, a w ostateczności ceną lub rzuć monetą :-)

Oceń artykuł.
Wasze opinie są dla nas ważne, gdyż pozwalają dopracować poszczególne artykuły.
Pozdrawiamy, Autorzy
Ten artykuł oceniam na:

Recenzja: Elektronika dla każdego. Przewodnik.


Autor: Dondu

Elektronika dla każdego. 
Przewodnik.

Autorzy: Harry Kybett, Earl Boysen
Wydanie: maj 2012r.
Stron: 408

Wersja papierowa
  • okładka miękka
  • format: 158 x 235 x 18
  • waga: 0,55kg
Wersja eBook w formatach:     

Strona książki w: 
eBook'ów szukaj w Helion lub eBookpoint - uwaga ceny mogą się różnić ze względu na promocje !!!



Wstęp

Elektronika, to przede wszystkim prawa fizyki, a co za tym idzie definicje, wzory i wykresy.

Pół biedy gdy dobrze rozumiesz te prawa i jesteś w stanie szybko wyprowadzić sobie właściwy wzór. Jednakże nawet wtedy zdarzają się momenty, w których zapominamy lub nie mamy czasu na zastanawianie się, jak to było z tym prawem, czy wzorem?

W takiej sytuacji dobrze jest mieć pod ręką książkę, która pomoże nam bez zbędnych ceregieli odnaleźć właściwe wzory, schematy i wykresy, i szybko odświeżyć teorię oraz praktykę.



O książce.

Taka właśnie jest ta książka. Znajdziesz w niej mnóstwo podstaw wraz ze wzorami, wykresami i schematami.

Autorzy piszą:
Książka ta przedstawia podstawowe idee elektroniki i wzory, których znajomość umożliwi Ci dalsze badanie zagadnień związanych ze współczesną elektroniką.


Aby zrozumieć skomplikowany schemat, należy go rozbić na fragmenty realizujące poszczególne małe
zadania. Tak przedstawiony schemat jest łatwy do projektowania i analizy jego poprawności.

Te małe fragmenty można przyrównać do cegiełek. Takie cegiełki, to nic innego jak elementarne układy kilku różnych elementów elektronicznych, które mają za zadanie przetwarzać sygnały elektryczne (i nie tylko) w zamierzony przez projektanta sposób.

Tak właśnie do tego tematu podchodzą autorzy tej książki:

Autorzy piszą:
Poszczególne rozdziały opisują układy będące w rzeczywistości cegiełkami wielu urządzeń elektronicznych oraz kilka ważnych zasad, które będą Ci niezbędne w pracach nad układami elektronicznymi.


Co znajdziesz w książce?

Łatwiej byłoby zapytać, czego nie znajdziesz lub czy czegoś brakuje :-)
Poznasz:
  • wszystkie najważniejsze elementy z których budujemy układy elektroniczne wraz z ich symbolami stosowanymi na schematach,
  • teorię ich działania,
  • sposobami ich dobierania do określonych schematów "cegiełek",
  • idee projektowania "cegiełek",
  • zasady budowy obwodów elektronicznych,
  • zadania, testy i doświadczenia.
Szczegółowy zakres znajdziesz w Spisie treści i przykładowym rozdziale.
Przykładowy rozdział bardzo dobrze odzwierciedla zawartość książki.

Autorzy słusznie wychodzą z założenia, że:

Autorzy piszą:
Jeżeli zrozumiesz w jaki sposób, działają elementy dyskretne układów elektronicznych, nie tylko ułatwi Ci to pracę nad kolejnymi projektami, lecz także pozwoli zrozumieć działanie układów scalonych.

i konsekwentnie realizują to, tak byś nie miał z tym najmniejszego problemu.


Dla kogo przeznaczona?

Zgadzam się z założeniem autorów:

Autorzy piszą:
Książka ta jest przeznaczona dla wszystkich osób, które znają podstawy elektroniki, ale chcą lepiej poznać działanie elementów znajdujących się we wszystkich obwodach elektronicznych.

... założyliśmy, że znasz podstawowe idee elektroniki - prawo Ohma czy zasady rządzące przepływem prądu. Jeżeli czytałeś jakikolwiek podręcznik z tej dziedziny bądź miałeś z nią do czynienia w szkole lub zajmowałeś się już elektroniką, prawdopodobnie będziesz dysponować odpowiednią wiedzą.

Moim zdaniem nie trzeba nic więcej dopisywać, a jedynie potwierdzić, że posiadanie bardzo podstawowej wiedzy o przepływie prądu i prawie Ohma, jest warunkiem  wzięcia tej książki do ręki. Jeżeli jednak jesteś "zupełnie zielony", to powinieneś tę wiedzę zaczerpnąć na przykład z tej książki: Elektronika dla bystrzaków.

Ale autorzy wyszli naprzeciw czytelnikom i na wstępie, w pierwszym rozdziale, przygotowali przypomnienie materiału. Dlatego rozdział ten nazwali: Powtórzenie informacji o prądzie stałym i test wstępny.
Rozdział ten ma aż 34 strony i obejmuje wszystko co trzeba - patrz Spis treści.


Doświadczenia

W książka opiera się także o przeprowadzanie doświadczeń poprzez budowę konkretnego układu (cegiełki) i jego badanie według założeń przedstawionych przez autora.

Autor podaje dokładnie jakie elementy elektroniczne oraz przyrządy są potrzebne do wykonania doświadczenia. Przedstawia także algorytm postępowania (instrukcja pomiarów). Do każdego doświadczenia z pomiarami przygotowana jest tabelka, w której możesz zapisywać wyniki.

Z reguły doświadczenie kończy się poprzez narysowanie wykresu przedstawiającego otrzymane wyniki pomiarów.


Zadania i testy

Ponieważ elektronika opiera o wzory fizyczne, stąd siłą rzeczy musisz nauczyć się ich używania. Najlepiej to zrobić poprzez praktykę. Abyś tę praktykę nabył, autorzy zadbali poprzez
  • zadania,
  • testy zrozumienia,
  • test końcowy.

Podczas omawiania danego elementu elektronicznego, czy cegiełki wiedza podzielona jest na ponumerowane problemy.

W każdym omawianym podrozdziale znajdziesz co najmniej kilka zadań do rozwiązania wraz z odpowiedziami.

Na zakończenie każdego rozdziału masz do dyspozycji test zrozumienia, czyli kilkanaście pytań i zadań, oczywiście wraz z odpowiedziami. Ale ważne jest także to, że w odpowiedziach są numery problemów, które trzeba znać, by z nich skorzystać rozwiązując pojedyncze zadanie z testu. To bardzo dobre rozwiązanie!

Test końcowy, to ukoronowanie Twojej pracy i sprawdzenie całego przekroju wiedzy, którą nabędziesz dzięki tej książce. Liczy on 71 zadań wraz z odpowiedziami. Podobnie jak w testach zrozumienia, także i tutaj w odpowiedziach wskazane jest gdzie należy szukać wiedzy niezbędnej do rozwiązania każdego z zadań tego testu. Ponieważ ten test dotyczy całej książki, to wskazany jest rozdział i numer problemu. Pozwala to na szybkie odnalezienie właściwej części książki.





Wykonanie

Książka wykonana bardzo dobrze.

Okładka miękka pokryta folią, przez co nie brudzi się i będzie chroniła jej zawartość przez wiele lat.

Papier śnieżnobiały, ale dość cienki, więc nieco przebija treść ze spodniej strony. Nie jest to jakimś znaczącym problemem jednakże czasami dziwi widoczna sinusoida, czy jakiś schemat nadrukowany z drugiej strony kartki. Jednak wysoki kontrast druku pozwala skupić się na właściwej treści na stronie.

Książka jest klejona, ale klej bardzo mocny i spokojnie można rozkładać i przycisnąć książkę bez obawy o jej rozklejenie.


eBook rulez!

Polecam wersję eBook, ponieważ: 
  • umożliwia automatyczne wyszukiwanie tekstu w książce (bardzo pomocne!),
  • umożliwia kopiowanie fragmentów programów (Ctrl-C oraz Ctrl-V),
  • umożliwia noszenie jej zawsze „przy sobie”,
  • eBook jest tańszy o około 12zł :-)
  • dostępny w wersjach PDFePubMobi.

eBook'ów szukaj w Helion lub eBookpoint - uwaga ceny mogą się różnić ze względu na promocje !!!





Podsumowanie

Książka ta jest bardzo dobrze napisana. Język prosty, bez niepotrzebnych żargonów technicznych - tyle ile trzeba i nic więcej. Pozwala to zrozumieć treść po jednym czytaniu, co jest bardzo istotne w związku z jej zawartością.

Autorzy bardzo ładnie opracowali ją pod względem podziału i kolejności przedstawianej wiedzy. Tłumaczenie zjawisk fizycznych oparte jest o przykłady i porównania, stąd łatwo zorientować się o co chodzi w danym przypadku.

Zalety
  • bardzo dobrze dobrany materiał,
  • proste i zrozumiałe słownictwo,
  • opisywanie danego zjawiska krok, po kroku,
  • wprowadzenie teorii wraz z doświadczeniami praktycznymi,
  • możliwość sprawdzenia swojej wiedzy teoretycznie i doświadczalnie.

Wady
  • Nie dostrzegam, ale jeszcze więcej doświadczeń, byłoby na pewno dobrym kierunkiem zmian.


Moim zdaniem

Książka dzięki której można dogłębnie poznać zawarty w niej materiał, zarówno od strony teoretycznej jak i doświadczalnej. W pełni zasługuje na podtytuł: PRZEWODNIK

Tego typu książki śmiało można polecić każdemu, ponieważ przyda się teraz, za 5 i za 50 lat, a i wnukowi będzie można ją sprezentować.  To jedna z tych książek, które stojąc na półce są ostatnią deską ratunku, gdy wiedza uleciała z naszej głowy :-)


Od zupełnie zielonych do inżynierów w wieku 50+
  • zupełnie zieloni z zastrzeżeniem, o którym pisałem w punkcie: Dla kogo przeznaczona?
  • ponadgimnazjalne i studenci - szczególnie dla Was!
  • hobbyści - super pozycja!
  • "emeryci elektronicy" - włącznie ze mną :-)  - sięgamy gdy zapominamy.

Autorzy piszą:
Jest ona przeznaczona zarówno dla hobbystów, jak i dla osób zainteresowanych kształceniem się dalej w zawodzie elektronika, czy studiami technicznymi na tym kierunku.

Z powyższym także się zgadzam.


Super dodatek

Uważam, że idealnym dodatkiem do tej książki są wszelkiej maści symulatory układów elektrycznych i elektronicznych jak PSpice, Electronics Workbench, czy nawet prosty Circuit Simulator, z którego korzystam na blogu np. tutaj: Podtrzymanie zasilania




Możliwość szybkiego doświadczalnego sprawdzenia (z użyciem nawet wbudowanych symulatorów oscyloskopu), da szybki rezultat w postaci zrozumienia materiału.


Jednym zdaniem
Warto mieć, czytać i nie zagubić!


Dobra rada

Radzę książkę podpisać, bo warto ją odzyskać, gdy się komuś pożyczy :-)

Oceń artykuł.
Wasze opinie są dla nas ważne, gdyż pozwalają dopracować poszczególne artykuły.
Pozdrawiamy, Autorzy
Ten artykuł oceniam na:

Recenzja: Elektronika dla bystrzaków


Autor: Dondu

Elektronika dla bystrzaków.
Wydanie II.

Autorzy: Cathleen Shamieh, Gordon McComb

Przekład angielskiej wersji: Electronics for Dummies

Wydanie: listopad 2011r.
Stron: 360

Status:  ponad 3000 egzemplarzy (to sporo na polskie warunki).

Wersja papierowa:
  • okładka: miękka
  • format: 171 x 230 x 19
  • waga: 0,58kg

Wersja eBook: brak

Strona książki w wydawnictwie Helion: Elektronika dla bystrzaków



Wstęp

W czasie poznawania i zabawy z mikrokontrolerami, warto mieć pewne podstawy wiedzy z zakresu elektryczności i elektroniki. Wbrew pozorom, wcale tej wiedzy nie potrzeba aż ta dużo, by móc się nimi zajmować dopiera na studiach :-)

Wystarczy znać dość ograniczone podstawy i parę wzorów, które ułatwią Ci rozumienie budowy i działania urządzeń wykorzystujących mikrokontrolery.

Do tych podstaw należą:
  • rezystory, kondensatory, tranzystory, itp.,
  • prawa Ohm'a, Joule'a i Kirchoff'a,
  • kod binarny (dwójkowy) i szesnastkowy (heksadecymalny).

Przydadzą się też jakieś umiejętności z zakresu:
  • posługiwania się multimetrem i analizatorem stanów logicznych,
  • podstawowa wiedza o wykorzystaniu oscyloskopu,
  • umiejętność posługiwania się lutownicą (gdy budujesz gotowe urządzenia).



O książce

Książka ta daje to wszystko co opisałem we wstępie i takie było właśnie założenie jej autorów:

Autorzy we wstępie piszą:
Ciekawi Cię jak to się dzieje, że Twój iPod działa?
...
Jeżeli kiedykolwiek ciekawiło Cię, jak działają tranzystory, ... i inne elementy układów elektronicznych, to ta książka jest dla Ciebie! ...

... poznasz działanie najważniejszych elementów elektronicznych oraz nauczysz się budować i testować działające układy i projekty elektroniczne.



Zobaczmy, czego się nauczysz.

Zaczniesz od poznania różnicy pomiędzy układami elektrycznymi i elektronicznymi, oraz  definicje elektryczności i zjawisk z nią związanych. Następnie poznasz:
  • jednostki miar elektrycznych,
  • zasadę działania rezystorów, kondensatorów, cewek, tranzystorów, wybranych podstawowych układów scalonych analogowych i cyfrowych,
  • zasady działania filtrów RC,
  • bateria i przewody, oraz związane z nimi istotne informacje,
  • czytanie schematów,
  • przyrządy pomiarowe: multimetr, oscyloskop i analizator stanów logicznych
  • ... wiele innych, które poznasz pobierając Spis treści i przykładowy rozdział.

Jest też sporo o bezpieczeństwie podczas zabawy z prądem jak i lutowaniu.
Na koniec garść wskazówek praktycznych, które warte są uważnego przeczytania.


Jednostki miar

W każdym temacie omawiającym jakiś nowy element elektroniczny wprowadzane są nowe jednostki miar z nim związanych. Każda jednostka jest bardzo prosto wytłumaczona wraz ze wzorami.


Przyrządy pomiarowe

Dla elektronika najważniejszym urządzeniem pomiarowym jest multimetrem. W tym zakresie nabędziesz wiedzę, jak go wykorzystać do mierzenia poszczególnych zjawisk fizycznych, ale także:
  • sprawdzania elementów elektronicznych,
  • wykrywania usterek obwodów.
a jest to bardzo pomocna wiedza.

Nie mniej ważnym przyrządem jest oscyloskop. To skomplikowane urządzenie o wielkich możliwościach (w zależności od wersji). Na temat pomiarów z wykorzystaniem oscyloskopu pisze się osobne książki, więc siłą rzeczy w tej książce poznasz tylko podstawy jego obsługi i wykonywania pomiarów za jego pomocą. Ale te podstawy są dobrze dobrane, prosto omówione i wystarczające na początek.

Dla tych, co zajmują się mikrokontrolerami, baaardzo przydatny jest analizator stanów logicznych. W wielu przypadkach, to nawet ważniejszy przyrząd niż oscyloskop. W książce jest omówiona wersja analizatora jednopunktowego, który można zbudować we własnym zakresie na bazie schematów dostępnych w sieci. W przypadku mikrokontrolerów bardziej przydatny jest analizator wielokanałowy.
Ale ja nie mam oscyloskopu, ani analizatora stanów logicznych!
Masz, tylko o tym nie wiesz: Oscyloskop i analizator logiczny za darmo
Możesz więc śmiało dzięki książce nauczyć się podstaw obsługi oscyloskopu.


Schematy i symbole

Bez znajomości symboli narysowanie lub zrozumienie schematu jest niemożliwe. Autorzy zadbali o to, byś poznał te najważniejsze z nich. Gdy już je poznasz nauczysz się rozumieć i rysować własne schematy.

Czy to takie istotne na początku, by własne schematy rysować?
Tak, to baaaardzo istotne, ponieważ na etapie początkowym lepiej mieć nawyk planowania układu na papierze, gdyż wtedy sam wyłapiesz większość własnych błędów, a w razie problemów taki schemat wrzucasz na forum, a tam szybciutko problemy zostaną rozwiązane :-)






Projekty do samodzielnego wykonania w pół godziny

Ten rozdział książki, to bardzo dobre pole doświadczeń praktycznych. Znajdziesz tam dziewięć projektów różnych prostych urządzeń, których budowa odpowiada wiedzy jaką dzięki tej książce nabędziesz.

Niestety jeden z tych projektów (kompas elektroniczny) oparty jest o element raczej nieosiągalny w naszych warunkach.




Wykonanie

Kawał dobrej pracy wykonali autorzy oraz tłumacze - ciekawe ile dołożyli od siebie? :-)

Jakość wykonania książki bardzo wysoka. Papier razi oczy białym kolorem :-)
Kontrast liter bardzo wysoki. Litery minimalnie przebijają na drugą stronę, ale nie przeszkadza to w czytaniu.

Książka klejona, ale spokojnie można ją otwierać bez obawy o pękanie kleju i wypadanie stron. Okładka pokryta folią więc się nie brudzi i będzie długo chronić książkę.




Podsumowanie

Jeżeli ktoś „zupełnie zielony” po uważnym i niespiesznym przeczytaniu tej książki oraz eksperymentowaniu na przykładach, nie będzie znał na wylot zawartych w książce zagadnień, powinien zająć się sztuką, sportem lub inną dziedziną. Po prostu nie da się już łatwiej wytłumaczyć zagadnień omawianych w książce.

Autorzy w tekście zadają dodatkowe pytania, które zwracają uwagę na istotny mały problem w omawianym temacie. Od razu udzielają też odpowiedzi na nie. Taki sposób pisania nie staje się nudny i zmusza czytelnika do myślenia, a to bardzo ważna zaleta. Sam ją wykorzystuję często na blogu.

Poniższa informacja o jednym z autorów jest jak najbardziej prawdziwa:


O autorce: Cathleen Shamieh
Cathlin lubi dzielić się swoją wiedzą ... tworząc publikacje techniczne przeznaczone dla odbiorców niebędących zawodowcami w danej dziedzinie.

i w tym wypadku przekłada się na bardzo dobrej jakości książkę.


Zalety
  • bardzo, bardzo, bardzo, przystępny sposób tłumaczenia zagadnień,
  • zmuszanie do myślenia, a nie tylko czytania,
  • różne podstawowe pojęcia z dziedziny elektroniki wprowadzane są sukcesywnie po kolei,
  • chociaż generalnie tego nie polecam, to można przeskakiwać pomiędzy tematami, ponieważ autorzy w razie potrzeby wskazują, gdzie należy wrócić by dane pojęcie zrozumieć,
  • pokazuje nie tylko teorię, ale co bardzo istotne praktykę, łącznie z wyposażeniem warsztatu i nauką obsługi urządzeń pomiarowych.


Wady
Właściwie nie ma. No może mogłoby być więcej ćwiczeń praktycznych – tego nigdy za wiele.

Marzenia
Tej książce jak żadnej innej, przydałoby się wydanie w kolorze! Ale cena wtedy byłaby pewnie sporo większa … coś za coś.


Bestseller
Ponad 3000 sprzedanych egzemplarzy w polskich warunkach mówi samo za siebie :-)
Tylko nieliczne książki z zakresu elektrotechniki i elektroniki mogą poszczycić się takim osiągnięciem.




Moim zdaniem

Z przyjemnością przyznaję, że ta dwójka autorów potrafi pisać książki, w sposób odpowiedni dla początkujących. Stosują technikę zadawania pytań, by zmusić czytelnika do myślenia oraz wytłuszczają ważne wyrazy lub pojęcia, co znacząco ułatwia odnajdywanie informacji w tekście, gdy się do niej wraca. Wygląda to mniej więcej tak, jak moje artykuły na blogu tylko nieco mniej intensywnie i bez użycia kolorów.

System dodatkowych informacji w postaci ikon i podkreśleń pisanych na marginesie po obu stronach książki, bardzo pomaga w przyswajaniu wiedzy, zwracając uwagę na istotne sprawy.


Zupełnie zieloni
Moim zdaniem książka ta jest skierowana do „zupełnie zielonych”, od gimnazjalisty, do ojca, który chce zaciekawić syna (pewnie rzadziej córkę) elektroniką, a sam się na niej nie zna. Książka ta powinna być pierwszym krokiem w świat elektroniki. Jest bardzo dobrą pozycją w serii „Dla bystrzaków”.


Studenci
Nie jest to książka, która zastąpi studentowi książki do elektrotechniki i elektroniki. Jednakże na pierwszym roku elektroniki, itp., dzięki tej książce z zupełnie zielonego zrobisz się bardzo żółty :-)

Innymi słowy w szybkim tempie uzyskasz wiedzę z totalnych podstaw, a to może być ważne, by nadążyć z materiałem z innych przedmiotów. Jednakże, gdy znasz już te podstawy, to książka ta nie jest dla Ciebie.


Jednym zdaniem
Po prostu super książka „dla bardzo zielonych”!


A na koniec dobre rady, które pomogą Ci unikać piekła:

mikrokontrolery.blogspot.com


Oceń artykuł.
Wasze opinie są dla nas ważne, gdyż pozwalają dopracować poszczególne artykuły.
Pozdrawiamy, Autorzy
Ten artykuł oceniam na:

Działy
Działy dodatkowe
Inne
O blogu




Dzisiaj
--> za darmo!!! <--
1. USBasp
2. microBOARD M8


Napisz artykuł
--> i wygraj nagrodę. <--


Co nowego na blogu?
Śledź naszego Facebook-a



Co nowego na blogu?
Śledź nas na Google+

/* 20140911 Wyłączona prawa kolumna */
  • 00

    dni

  • 00

    godzin

  • :
  • 00

    minut

  • :
  • 00

    sekund

Nie czekaj do ostatniego dnia!
Jakość opisu projektu także jest istotna (pkt 9.2 regulaminu).

Sponsorzy:

Zapamiętaj ten artykuł w moim prywatnym spisie treści.