Witam Was na kursie programowania w języku C na mikrokontrolery.
⇒ dla kogo jest ten kurs?
Kurs jest przeznaczony dla osób, które do tej pory nie miały ŻADNEJ styczności z programowaniem – zaczynamy od poziomu ZERO! Będzie jedynie potrzebna niewielka znajomość podstaw elektroniki (choć i tak będę się starała wszystko przystępnie tłumaczyć, ale jeśli mimo to czegoś nie zrozumiesz, po prostu PYTAJ!
⇒ po co uczyć się programowania?
W zasadzie proste programy mogą być niekiedy zastąpione przez połączone ze sobą bramki logiczne. Takie rozwiązanie jest możliwe, ale niesie ze sobą sporo wad: dotyczy jedynie prostych programów, trudność w zaprojektowaniu takiego układ, stosunkowo duży pobór prądu, trudność w przeprojektowywaniu takiego układu.
Programując (zwłaszcza w języku C) możesz tworzyć skomplikowane urządzenia na różnych mikrokontrolerach. Nie mówiąc już o tym, że jest to umiejętność poszukiwana na rynku pracy.
⇒ którego języka programowania warto się uczyć?
Obecnie najpopularniejszymi językami programowania są język C oraz arduino.
Arduino to język prostszy (zwłaszcza dla osoby początkującej), ale w zasadzie przeznaczony dla hobbystów. Ponadto stosując ten język musisz się ograniczyć do architektury sprzętowej przewidzianej przez twórców tego języka.
Język C choć nieco trudniejszy na start niesie ze sobą znacznie większe możliwości. Program pisany w tym języku wykonuje się stosunkowo szybko i zajmuje stosunkowo mało miejsca w pamięci (co ma duże znaczenie w programowaniu mikrokontrolerów!). W tym języku można pisać programy na różne architektury mikrokontrolerów. Poza tym jest on wykorzystywany w przemyśle.
⇒ czym jest mikrokontroler?
Mikrokontroler (µC) jest to pojedynczy układ scalony zawierający w swojej budowie jednostkę arytmetyczno-logiczną (ALU), pamięć danych (RAM), pamięć programu, porty wejścia-wyjścia oraz inne dodatkowe elementy jak interfejsy, przetworniki, timery.
W dużym uproszczeniu możemy powiedzieć, że jest to jakby mini-komputer sterujący pracą naszego urządzenia.
W ramach tego kursu będziemy pracować na 8 bitowym układzie z rodziny AVR, mikrokontrolerze ATmega328P. Zgodnie z notą katalogową jest on wyposażony m.in. w:
- 32kB pamięci Flash – pamięć trwała, dane w niej zapisane nie znikają po wyłączeniu urządzenia, można ją przeprogramować poprzez skasowanie i ponowne nadpisanie danych, zapisujemy w niej przede wszystkim kod programu i wartości stałe;
- 1kB pamięci EEPROM – dane w niej zapisane nie znikają po wyłączeniu urządzenia, można je zapisywać wielokrotnie;
- 2kB pamięci SRAM – przechowuje dane do momentu wyłączenia urządzenia;
- jednostka arytmetyczno-logiczna ALU wykonująca obliczenia;
- 23 linie wejścia/wyjścia służące wprowadzania i wyprowadzania danych do i z µC.
Zwróćcie uwagę na to, że wielkość pamięci jest raczej niewielka. W związku z tym istotne jest zwracanie szczególnej uwagi na to, by pisany program nie był zbyt zbyt długi. To raczej uwaga na przyszłość, ponieważ zaczniemy od bardzo prostych i krótkich programów 🙂
⇒ co jest niezbędne aby zaprogramować mikrokontroler?
1. Komputer z zainstalowanym kompilatorem oraz środowiskiem programistycznym AVR Studio. Możesz wszystko ściągnąć z tego miejsca tu:
Środowisko programistyczne to po prostu program umożliwiający użytkownikowi pisanie programów w języku źródłowym (w naszym przypadku będzie to język C)
Kopilator – tłumaczy język C na kod maszynowy – zrozumiały dla mikrokontrolera.
Istnieje wiele różnych kompilatorów, jednak my podczas tego kursu będziemy używać w pełni darmowego kompilatora AVR-GCC stworzonego do programowania mikrokontrolerów z rodziny ATmega. Sam kompilator można pobrać z tego miejsca:
http://sourceforge.net/projects/winavr/files/
Kolejnym etapem będzie zainstalowanie środowiska programistycznego AVR Studio wersji 4 oraz kompilatora AVR-GCC. Kolejność instalacji:
a) Środowisko programistyczne – AVRStudio – plik 1 AvrStudio418Setup
– AVRStudio – plik 2 AVRStudio4.18SP1
– AVRStudio – plik 3 AVRStudio4.18SP2
b) Kompilator AVR-GCC
Ważne informacje dla użytkowników systemu operacyjnego:
- WIN7 , WIN8 – do katalogu kompilatora c:\winavr-20100110\utils\bin\msys-1.0.dll należy przekopiować plik: msys-1.0.dll
Podczas instalacji środowiska AVRStudio oraz AVR-GCC wszystkie kroki instalacji potwierdzaj i nic nie zmieniaj.
2. Programator
Jest to urządzenie, które fizycznie połączy Wasz komputer (najczęściej przez złącze USB) z programowanym mikrokontrolerem. Jeśli kupiłeś programator w internetowym sklepie elektronicznym CELTOR osobno lub w zestawie do nauki programowania, poniżej przedstawiam krok po kroku co trzeba zrobić:
a) Podłącz programator do PC i poczekaj na zainstalowanie automatyczne sterownika. Jeżeli sterowniki do programatora nie zainstalują się automatycznie to wykonaj poniższe kroki:
– Pobierz sterowniki i program tu i tu
– Rozpakuj sterowniki
– Wejdź do panelu sterowania > menadżer urządzeń – na liście powinieneś mieć programator na liście jako urządzenie HID
– Jeżeli w tym momencie windows mówi że sterownik nie jest podpisany cyfrowo to należy przejść do kolejnego kroku i wyłączyć na czas instalacji wymagany pod windowsem podpis. Sposób jak to wykonać pod win8 jest tu.
– Po wyłączeniu pod windowsem opcji wymaganego podpisu cyfrowego przeprowadź ponownie instalację sterownika
– Od tego momentu powinien działać programator.
b) Ściągnij program do obsługi programatora, ProgISP dostępny tutaj i zainstaluj na swoim PC.
3. Mikrokontroler – zestaw
W swoim kursie będę pracować na Zestawie do nauki programowania, który w swojej ofercie ma internetowy sklep elektroniczny CELTOR. Zestaw ten zawiera bardzo dużo elementów elektronicznych, moduły oraz serwo.
Dodaj komentarz