Jeśli myślisz o zrobieniu następnego bądź swojego pierwszego projektu z wykorzystaniem Arduino, a do tego chcesz zamknąć to w małej i zgrabnej obudowie, zapewne zadajesz sobie to pytanie:

„Czemu ta płytka jest taka duża?!” – a nawet powiem więcej: jest duża i stosunkowo droga. Więc jeśli chcesz dowiedzieć się jak zamiast całej płytki Arduino wykorzystać sam mikrokontroler to ten artykuł jest właśnie dla Ciebie! 


Słowem wstępu omówmy sobie o co chodzi z tym wykorzystaniem samego mikrokontrolera? Przecież ja nie umiem tego programować, ja tylko umiem Arduino…. No właśnie nie!


Platforma Arduino to głównie środowisko programistyczne tak popularne na całym świecie. Do tego dostęp do gotowych modułów takich jak np. Arduino Leonardo. Ale gdybyś bliżej przyjrzał się takiej płytce zobaczysz tam samo serce układu. A będzie to mikrokontroler AVR. W zależności od wykorzystanej płytki można spotkać zarówno różne modele jak i różne obudowy. Jednak w zdecydowanej większości będzie to AVR. No to czy nie możemy kupić takiego mikrokontrolera w sklepie i go zaprogramować samemu? Jasne, że możemy! A możemy nawet więcej, możemy kupić inny mikrokontroler z tej rodziny i z niego skorzystać. Więc jeśli twój projekt jest tak prosty, że wystarczy nam do niego tylko kilka IO i odrobinę kodu. To przeglądając dostępną ofertę natkniesz się na Attiny13. Jest to mikrokontroler rodziny AVR zamknięty w obudowie zaledwie z 8 wyprowadzeniami! Czyż małe nie jest piękne?  To do dzieła! Czas Ci pokazać jak to zrobić! 


Poradnik został przygotowany zarówno dla mikrokontrolera Attiny13 jak również mikrokontrolerów Atmega. Ja polecam przygotować środowisko jeden raz tak, żeby było gotowe zarówno dla mikrokontrolerów serii Attiny jak i Atmega. Procedura jest za każdym razem taka sama.



1. Otwieramy Arduino IDE > File > Preferences 


Wciskamy zaznaczony przycisk. Po wyskoczeniu okienka wpisujemy:


  • https://mcudude.github.io/MicroCore/package_MCUdude_MicroCore_index.json
  • https://mcudude.github.io/MiniCore/package_MCUdude_MiniCore_index.json
  • https://mcudude.github.io/MightyCore/package_MCUdude_MightyCore_index.json



2. Otwieramy Arduino IDE > Tools > Board:”XXX”>Boards Manager


W zaznaczonym polu wpisujemy „Microcore”


I wciskamy Install.


Analogicznie postępujemy z pakietami „MiniCore” oraz „MightyCore”



3. Środowisko mamy przygotowane do pracy z naszymi mikrokontrolerami.


Teraz potrzebny jest interfejs do komunikacji z mikrokontrolerem czyli programator. Są na to 2 drogi. Jedna to skorzystanie z dedykowanych programatorów do AVR druga to skorzystanie z tego co zapewne masz pod ręką. Czyli z dowolnego Arduino. I z tej opcji teraz skorzystamy. 


Podłączamy Arduino do komputera i otwieramy: Arduino IDE > File> Examples > 11.ArduinoISP > Arduino ISP


W otwartym przykładzie znajdujemy linie 81 i usuwamy „//” 


Następnie wybieramy interesującą nas płytkę i wgrywamy na nią program.



4. Czas żeby mikrokontroler przywitał się ze światem. Ale najpierw trzeba go zaprogramować.


Każdy mikrokontroler AVR można zaprogramować tak samo podłączając się do niego pinami oznaczonymi przez:


  • MISO – pin D12
  • MOSI – pin D11
  • SCK  – pin D13
  • RESET – pin D10

I oczywiście VCC, GND


W Arduino piny te są dostępne na standardowych wyjściach cyfrowych odpowiednio:


  • MISO D12
  • MOSI D11
  • SCK  D13
  • RESET D10


W naszym przykładzie będzie to Attiny13 – połączenia zgodnie ze schematem.


Otwieramy nowy projekt w Arduino IDE i wybieramy użyty przez nas mikrokontroler: Arduino IDE > Tools >Board:”XXX” > Attiny13


Następnie ustawiamy pozostałe parametry, które pokazały się w zakładce Tools pod wybranym układem. Jeśli nie wiesz jak je ustawić, to skorzystaj z poniższej ściągi. Jeśli natomiast jesteś ciekawy co oznaczają poszczególne rubryki odsyłam Cię na oryginalne strony bibliotek dostępne na GitHubie żeby poznać wszystkie ich tajniki. 


Jeśli nie wiesz jak ustawić któryś z parametrów odsyłam Cię na oryginalne strony bibliotek dostępne na GitHubie.


Wybrany port to port gdzie podłączone jest Arduino służące za programator. Jeśli chodzi o wybór zakładki programmer są 2 opcje: 


  1. Jeśli korzystasz z Arduino Leonardo wybierasz „Arduino as ISP (Atmega32U4)”.
  2. Jeśli korzystasz z innego Arduino wybierasz „Arduino as ISP”.


I ostatni krok wciskamy „Burn Bootloader”



5. Tak przygotowany mikrokontroler można już programować z wykorzystaniem tradycyjnego przycisku dostępnego z poziomu Arduino IDE. Sprawdźmy to! 


Przygotowany kod wgrywamy i … Działa!



Podsumowując…


Jak widzisz wymiana Arduino na samodzielny mikrokontroler w twoim układzie nie wymaga dużo pracy. Także następny projekt, który będzie wymagał małej obudowy zbudujesz już zapewne korzystając z tej opcji! Pochwal się swoimi efektami! 


P.S.

Jeśli jesteś pasjonatem Arduino lub dopiero zaczynasz swoją przygodę, bo cała idea wydaje się fajna, to zajrzyj na stronę pełnowymiarowego kursu w wersji on-line. Może to coś dla Ciebie! W każdym razie miło by było zobaczyć Cię na zajęciach 🙂

Programowanie Arduino on-line


~ Maciek





Kilka słów o autorze:
Od najmłodszych lat interesuje go wszystko, co związane jest z techniką. Z pośród wielu dziedzin najbardziej pokochał elektronikę, która stała się jego największą pasją. Z wykształcenia elektronik, aktywnie działający przy badaniach naukowych. Konstruktor, amator mechaniki samochodowej.


Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *