Mikrokontrolery AVR – cz. 1

Będę tutaj omawiać mikrokontrolery Atmega8A (6,50zł) i Atmega328P (8zł). Są to malutkie 8-bitowe procesory z szerokim wachlarzem zastosowań. Procesor taki zużywa bardzo mało energii i przy odrobinie pracy włożonej w programowanie obsłuży większość potrzebnych nam urządzeń peryferyjnych, takich jak termometry, czujniki odległości, silniczki, czy też zwykłe diody.

Atmega8AAtmega8A na płytce projektowej

Generalnie procesory tego typu programuje się w języku C lub assemblerze cały czas odnosząc się do dokumentacji. Dalej podając przykładowy kod będę zakładał znajomość składni C, przede wszystkim podstawowych operacji bitowych.

Nagranie programu na procesor wymaga programatora. Jest to małe urządzenie podłączane do portu USB komputera, wielkości pendrive’a. Podpinając jego wyjścia do odpowiednich nóżek procesora możemy nagrywać skompilowane programy.

Ogólnie jedynym rozsądnym środowiskiem do programowania, kompilowania i nagrywania jest dowolna popularna dystrybucja GNU/Linuxa, gdzie w repozytoriach możemy znaleźć program avrdude oraz biblioteki C do programowania procesorów AVR.

Kolejną kwestią jest początkowa inwestycja. Na sensowny zestaw pozwalający zapoznać się z podstawowymi funkcjami procesora wydamy \~120-150zł. Pełną listę proponowanych części znajdziecie na blogu koła wolnego oprogramowania “slimak”: Lista części.

Ponieważ nie chcę sobie przypisywać zasług regalisa, który pokazał nam wszystko co tu opisuję na warsztatach MCU (MicroController Units) w ramach zajęć ślimakowego koła, po prostu linkuję do materiałów: link.

Patryk zrobił tam kupę dobrej roboty opisując podstawy programowania MCU i proces kompilacji oraz nagrywania programu na procesor. Dziękujemy! 🙂

Na przyszłość

Przyszłe wpisy z serii MCU będą opisywały moje programy i rozwiązania w tej dziedzinie, zatem trafią pewnie do kategorii zaawansowane. Moje postępy można śledzić na bieżąco obserwując mojego GitHuba, a zwłaszcza repo AVR