Arduino jest bardzo ciekawym urządzeniem dzięki którego możemy samemu stworzyć mnóstwo niezwykłych elektronicznych projektów. Koszt jednak oryginalnej płytki takiej jak Arduino Uno to około 100 zł i nawet jeśli zdecydujemy się na chińska podróbkę rzadko znajdziemy coś o cenie niższej niż 20zł. To dla wielu projektów może być już odpowiednia cena, niemniej z wszystkich opcji jakie daje nam płytka najczęściej potrzebujemy jedynie to co oferuję nam mikrokontroler którego cena jak i wielkość jest nie duża.
Mikrokontlorer atmega 328P-PU to koszt raptem 6 zł jeśli korzystamy z ebaya, przy tym nie musimy zazwyczaj płacić za przesyłkę. Istnieje wiele mikroktorolerów różnią się one głównie rozmiarami, ilością dostępnych pinów, pamięcią, prędkością czy ceną. Osobiście polecam mikrokontroler atmega 328P-PU który jest podstawą dla Arduino Uno oraz mniejszy odpowiednik ATiny13A który jest jednym z najmniejszych mikrokontrolerów tego producenta. Niemniej jeśli potrzebujemy mikrokontroller o jakiś szczególnych parametrach możemy skorzystać z oficjalnej strony producenta gdzie jest udostępniona porównywarka ponad 600 różnych mikrokontrolerów https://www.atmel.com/selector.html
Niezależnie jednak na jaki mikrokotnroler się zdecydujemy musi on mieć wgrane odpowiednie oprogramowanie zwane bootloadererm. Nierzadko sprzedawane mikrokontrolery maja już wgrany bootloader. Jednak jeśli zamówimy całkowicie czyste mikrokontrolery zaoszczędzimy kilka groszy, a dodatkowo nie raz zdarzyło mi się kupować na ebayu mikrokontrolery które powinny mieć wgrane oprogramowanie, a jednak ostatecznie tą kwestią musiałem zając się sam.
Jako że niedawno doszła do mnie dostawa nowych mikrokontrolerów postanowiłem stworzyć krótki instruktaż jak wgrać taki bootloader na mikrokontroler 328P-PU
Potrzebne nam będą:
Arduino Uno
Atmega 328P-PU
16 MHz rezonator kwarcowy
2×22 nf kondensator
Stwórzmy nie skomplikowany układ zgodny z poniższym schematem:
Poniżej mamy schemat pinów dla atmegi 328P-PU jak widzimy piny 7,20 i 21 podłączamy do zasilania +5V. Piny 8 i 22 uziemiamy. Pin 1 atmega pozwala na restartowanie urządzenia jest on nam potrzebny przy wypalaniu bootloadera. Do pinów 9 i 10 podłączamy rezonator kwarcowy oraz dwa kondensatory i ostatecznie je uziemiamy, dzięki tego zegar naszego mikrokontrolera będzie działać poprawnie. Pin 17 MOSI . Pin 18 MISO Pin 19 SCK są to piny wykorzystywane do protokołu SPI. Protokół SPI pozwala na komunikacje między sobą dwóch mikrokontrolerów. W połączeniu tym dwa kontrolery działają że sobą w relacji typy master-slave. MOSI Odpowiada za przesyłanie informacji z urządzenia master do urządzenia slave. MISO przesyła informacje z urządzenia slave do urządzenia master. SCK to zegar umożliwiający synchronizacje danych.
Zdjęcie gotowego układu:
Jeżeli mamy wszystko dobrze podłączone odpalamy Arduino IDE i podłączamy naszą płytkę pod USB.
Wybieramy plik->Przykłady->11.ArduinoISP-> ArduinoISP
Wgrywamy ten przykład na naszą płytkę
Następnie w narzędzia→płytka wybieramy arduino uno
Ustawiamy programator narzędzia→ programator → arduino as isp
Upewniamy się ze mamy odpowiedni port zaznaczony narzędzia → port → nasz port do którego podłączony jest płytka arduino
Wypalamy bootlader narzędzia → wypal bootloader
I to w zasadzie tyle powinniśmy mieć wgrany bootlader do naszego mikrokontrolera który możemy wykorzystać niemal w każdym projekcie.
szacun wreszcie jeden mądry co potrafi opisać jak trzeba
Autor jest Wielki.
Popieram poprzedni wpis.