Serwisy partnerskie:
Close icon
Serwisy partnerskie

Jak wgrać bootloader w Atmega328?

Article Image
W dzisiejszym poradniku opisane zostało jak wgrać bootloader w Atmega328 używając Arduino UNO.
1. Praktyczny Kurs Arduino - przewodnik po artykułach składających się na kurs 2. Czym jest Arduino? 3. Porównanie Arduino z Raspberry Pi 4. Instalacja sterownika Arduino w systemie Windows 5. Generowanie pliku hex w Arduino 6. Jak wgrać bootloader w Atmega328? 7. Rozpoczęcie pracy z oprogramowaniem Arduino 8. Rozpoczęcie programowania w Arduino 9. Programowe resetowanie Arduino 10. Wprowadzenie do Arduino UNO 11. Wprowadzenie do Arduino NANO 12. Wprowadzenie do Arduino Pro Mini 13. Wprowadzenie do Arduino Mega 2560 14. Wprowadzenie do Arduino Due 15. Wprowadzenie do Arduino Lilypad 16. Wprowadzenie do ATmega328 17. Biblioteka Arduino dla Proteusa 18. Projekt płytki drukowanej Arduino UNO dla Proteus ARES 19. Biblioteka Arduino Lilypad dla Proteusa 20. Odczyt z portu szeregowego Arduino 21. Projektowanie układów LCD z Arduino 22. Łączenie klawiatury z Arduino 23. Wartość ADC na LCD przy użyciu Arduino 24. Symulacja czujnika ultradźwiękowego w Proteusie 25. Połączenie czujnika ultradźwiękowego z Arduino 26. Wiele czujników ultradźwiękowych z Arduino 27. Czujnik temperatury 18B20 z Arduino 28. Jak używać 18B20 w Proteus ISIS? 29. Łączenie LM35 z Arduino w Proteusie 30. Współpraca siedmiosegmentowego wyświetlacza z Arduino w Proteusie 31. Łączenie czujnika PIR z Arduino 32. Współpraca czujnika płomienia z Arduino 33. Interfejs NRF24L01 z Arduino 34. NRF24L01+ i Arduino - Response Timed Out 35. Połączenie RFID RC522 z Arduino 36. Komunikacja Bluetooth z Arduino przy użyciu HC05 37. Sterowanie serwomotorem za pomocą Arduino w Proteusie 38. Projekt sterowania sygnalizacją świetlną przy użyciu Arduino 39. Przewijanie tekstu na matrycy LED 8×8 z użyciem Arduino 40. Inteligentny system oszczędzania energii 41. Komunikacja USB pomiędzy Androidem i Arduino 42. Automatyka domowa z użyciem XBee i Arduino 43. Domowy system bezpieczeństwa oparty na GSM 44. Wysyłanie SMS-ów za pomocą Arduino UNO i SIM900 45. Odbieranie SMS-ów za pomocą komend AT przy użyciu Arduino 46. Projekt rozpoznawania głosu przy użyciu EasyVR Shield 47. Rozpoczęcie pracy z programem EasyVR Commander 48. Połączenie EasyVR z Arduino UNO 49. Błąd szkolenia - niepowodzenie rozpoznawania w EasyVR 50. Połączenie XBee z komputerem 51. Wprowadzenie do modułu XBee 52. Interfejs XBee z Arduino 53. Rozpoczęcie pracy z kamerą Pixy 54. Jak zainstalować oprogramowanie kamery Pixy - PixyMon 55. Aktualizacja firmware kamery Pixy do najnowszej wersji 56. Jak wytrenować kamerę Pixy za pomocą komputera 57. Sterowanie kierunkiem obrotu silnika prądu stałego za pomocą Arduino 58. Sterowanie prędkością obrotów silnika prądu stałego za pomocą Arduino 59. Sterowanie kierunkiem obrotu silnika krokowego za pomocą Arduino 60. Sterowanie prędkością obrotów silnika krokowego za pomocą Arduino 61. Pobieranie danych z serwera internetowego za pomocą Arduino Wi-Fi 62. Wprowadzenie do Arduino YUN 63. Dostęp do serwera Linux Arduino YUN za pomocą Putty
Rozwiń cały spis treści Zwiń spis treści

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.

Wykaz elementów
Ilość
Symbol
Nazwa/opis/gdzie kupić

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.

Artykuł How to Upload Bootloader in Atmega328 ??? opracowano w wersji polskiej na podstawie współpracy z portalem www.theengineeringprojects.com.

1. Praktyczny Kurs Arduino - przewodnik po artykułach składających się na kurs 2. Czym jest Arduino? 3. Porównanie Arduino z Raspberry Pi 4. Instalacja sterownika Arduino w systemie Windows 5. Generowanie pliku hex w Arduino 6. Jak wgrać bootloader w Atmega328? 7. Rozpoczęcie pracy z oprogramowaniem Arduino 8. Rozpoczęcie programowania w Arduino 9. Programowe resetowanie Arduino 10. Wprowadzenie do Arduino UNO 11. Wprowadzenie do Arduino NANO 12. Wprowadzenie do Arduino Pro Mini 13. Wprowadzenie do Arduino Mega 2560 14. Wprowadzenie do Arduino Due 15. Wprowadzenie do Arduino Lilypad 16. Wprowadzenie do ATmega328 17. Biblioteka Arduino dla Proteusa 18. Projekt płytki drukowanej Arduino UNO dla Proteus ARES 19. Biblioteka Arduino Lilypad dla Proteusa 20. Odczyt z portu szeregowego Arduino 21. Projektowanie układów LCD z Arduino 22. Łączenie klawiatury z Arduino 23. Wartość ADC na LCD przy użyciu Arduino 24. Symulacja czujnika ultradźwiękowego w Proteusie 25. Połączenie czujnika ultradźwiękowego z Arduino 26. Wiele czujników ultradźwiękowych z Arduino 27. Czujnik temperatury 18B20 z Arduino 28. Jak używać 18B20 w Proteus ISIS? 29. Łączenie LM35 z Arduino w Proteusie 30. Współpraca siedmiosegmentowego wyświetlacza z Arduino w Proteusie 31. Łączenie czujnika PIR z Arduino 32. Współpraca czujnika płomienia z Arduino 33. Interfejs NRF24L01 z Arduino 34. NRF24L01+ i Arduino - Response Timed Out 35. Połączenie RFID RC522 z Arduino 36. Komunikacja Bluetooth z Arduino przy użyciu HC05 37. Sterowanie serwomotorem za pomocą Arduino w Proteusie 38. Projekt sterowania sygnalizacją świetlną przy użyciu Arduino 39. Przewijanie tekstu na matrycy LED 8×8 z użyciem Arduino 40. Inteligentny system oszczędzania energii 41. Komunikacja USB pomiędzy Androidem i Arduino 42. Automatyka domowa z użyciem XBee i Arduino 43. Domowy system bezpieczeństwa oparty na GSM 44. Wysyłanie SMS-ów za pomocą Arduino UNO i SIM900 45. Odbieranie SMS-ów za pomocą komend AT przy użyciu Arduino 46. Projekt rozpoznawania głosu przy użyciu EasyVR Shield 47. Rozpoczęcie pracy z programem EasyVR Commander 48. Połączenie EasyVR z Arduino UNO 49. Błąd szkolenia - niepowodzenie rozpoznawania w EasyVR 50. Połączenie XBee z komputerem 51. Wprowadzenie do modułu XBee 52. Interfejs XBee z Arduino 53. Rozpoczęcie pracy z kamerą Pixy 54. Jak zainstalować oprogramowanie kamery Pixy - PixyMon 55. Aktualizacja firmware kamery Pixy do najnowszej wersji 56. Jak wytrenować kamerę Pixy za pomocą komputera 57. Sterowanie kierunkiem obrotu silnika prądu stałego za pomocą Arduino 58. Sterowanie prędkością obrotów silnika prądu stałego za pomocą Arduino 59. Sterowanie kierunkiem obrotu silnika krokowego za pomocą Arduino 60. Sterowanie prędkością obrotów silnika krokowego za pomocą Arduino 61. Pobieranie danych z serwera internetowego za pomocą Arduino Wi-Fi 62. Wprowadzenie do Arduino YUN 63. Dostęp do serwera Linux Arduino YUN za pomocą Putty
Rozwiń cały spis treści Zwiń spis treści
Firma:
Tematyka materiału: Kurs Arduino, Arduino UNO, ATMEGA328, bootloader
AUTOR
Źródło
www.theengineeringprojects.com
Udostępnij
Zobacz wszystkie quizy
Quiz weekendowy
Edukacja
1/10 Jak działa rezystor LDR?
Oceń najnowsze wydanie EdW
Wypełnij ankietę i odbierz prezent
UK Logo
Elektronika dla Wszystkich
Zapisując się na nasz newsletter możesz otrzymać GRATIS
najnowsze e-wydanie magazynu "Elektronika dla Wszystkich"