Wszyscy wiemy, że Arduino UNO używa Atmega328 jako mikrokontrolera. Czy kiedykolwiek myślałeś o użyciu samego ATmega328 zamiast używania kompletnego Arduino UNO? Jeśli jeszcze o tym nie pomyślałeś to pomyśl teraz. Tak, możemy użyć samego Atmega328 zamiast używać go w całości z płytką Arduino. Ale to nie jest tematem dzisiejszego poradnika. Czy jeśli mamy wyjęte Atmega328 to czy płytka Arduino jest już niepotrzebna? Nic bardziej mylnego. Możemy kupić inną Atmega328 i użyć jej w płytce Arduino. Gdy włożymy nowy mikrokontroler ATmega328 do płytki Arduino UNO to zobaczymy, że... nie działa. Powodem jest bootloader, którego nie ma zainstalowanego na Atmega328. Jest to swego rodzaju sterownik dla mikrokontrolera, który sprawia, że jest on kompatybilny z oprogramowaniem Arduino. Normalnie, aby napisać kod dla Atmega328 używamy kompilatora AVR, ale tutaj dzięki temu bootloaderowi możemy dość łatwo wgrać do niego kod po prostu z poziomu oprogramowania Arduino IDE. Tak więc, jeśli kupiliśmy nowy mikrokontroler ATmega328 to istnieje potrzeba wgrania do niego bootloadera. Po zainstalowaniu bootloadera w Atmega328 jest on gotowy do podłączenia do płytki Arduino UNO i zaprogramowania.
Jak wgrać Bootloader do Atmega328?
Istnieje wiele sposobów na wgranie bootloadera do Atmega328. Opiszę najprostszy z nich, który polega na użyciu dwóch płytek Arduino UNO.
Zakładam, że masz dwie płytki Arduino UNO i kilka przewodów połączeniowych.
Uwaga: Jeśli nie kupiłeś jeszcze swojego Arduino UNO, to możesz go kupić z tego niezawodnego źródła.
Jedna z płytek Arduino będzie używana jako programator i będzie wgrywała bootloader do drugiego Arduino. Z kolei drugie Arduino będzie posiadało nowy mikrokontroler ATmega328, do którego chcesz wgrać bootloader.
Po pierwsze, musisz połączyć te dwie płytki Arduino UNO, jak pokazano na poniższym rysunku:
Arduino B działa jako programator, podczas gdy Arduino A posiada nowy mikrokontroler ATmega328, w który będziemy wgrywać bootloader.
Teraz połącz Arduino B z komputerem za pomocą kabla USB i obie płytki Arduino włączą się, ponieważ połączyliśmy ich piny 5 V i GND.
Teraz otwórz swoje oprogramowanie Arduino, kliknij na menu File, a następnie Examples.
W Examples, otwórz ArduinoISP jak pokazano na poniższym rysunku:
Załaduj przykład ArduinoISP do płytki Arduino B, która pełni rolę programatora.
Teraz płytka Arduino B jest gotowa do wgrania bootloadera na płytkę Arduino A.
Kliknij na Tools a następnie Programmer i wybierz Arduino as ISP z opcji jak pokazano na poniższym rysunku:
Zrobiliśmy wszystkie ustawienia i w końcu jesteśmy gotowi do wgrania bootloadera do Atmega328. Zatem klikamy na Tools a następnie na Burn Bootloader jak pokazano na poniższym rysunku:
Kiedy klikniesz na Burn Bootloader, diody TX/RX na obu płytkach Arduino UNO będą migać przez około 30 sekund, a kiedy skończą, zobaczysz wiadomość na swoim oprogramowaniu Arduino, że Bootloader został załadowany, co oznacza, że udało Ci się załadować bootloader do mikrokontrolera ATmega328 i teraz możesz wgrać do niego kod.
Uwaga: Po wgraniu bootloadera, przejdź do Tools i Programmer i zmień go z powrotem na AVR ISP, w przeciwnym razie nie będziesz mógł wgrać kodu do swojego Arduino UNO.
Do symulacji polecam pobrać bibliotekę Arduino dla Proteusa. To wszystko na dzisiaj. Myślę, że dzisiejszy tutorial nie był zbyt trudny i jeśli masz niewielką wiedzę o Arduino to możesz całkiem łatwo go wykonać. Jeśli jednak nadal masz problemy to pisz w komentarzach.