Blog (83)
Komentarze (2k)
Recenzje (1)

Zaprogramuj sobie AVR – programowanie ATtiny cz.1

@cyrylloZaprogramuj sobie AVR – programowanie ATtiny cz.118.03.2015 21:33

Spora ilość ludzi z którymi mam styczność nie do końca zdaje sobie sprawę co to jest Arduino i z czego jest zbudowane. Kupujemy gotową płytkę, którą podłączamy przez USB do komputera i programujemy i nie przejmujemy się co za układ się na niej znajduje. W większości płyt Arduino jest to jeden z modeli ATmega. A gdybyśmy chcieli kupić sobie sam mikrokontroler i go zaprogramować? Nie, nie musimy uczyć się języka C dla AVR :) Możemy spokojnie wgrać sobie bootloader Arduino i programować układ tak samo jak płytkę Arduino, czyli w prosty sposób. I właśnie dlatego zaprezentuję wam w kilku częściach jak zacząć zabawę z programowaniem mikrokontrolerów AVR i Arduino, lutowaniem i budowaniem prostych układów.

Dostępnych mamy naprawdę sporo wersji układów ATtiny i ATmega. W tym wpisie przedstawię przede wszystkim układy ATtiny, które posiadam i używam. Mógłbym przedstawić tu długie listy dostępnych układów, ale skupię się na dwóch popularnych układach na które możemy z powodzeniem wgrać bootloader Arduino (coś jak Bios w naszym komputerze). Po wgraniu bootloadera będziemy mogli pisać już kod w Arduino IDE i wysyłać go na nasze układy.

[1/2]
[2/2]

Przygotowanie do programowania

Aby móc zaprogramować układy będziemy potrzebować programatora lub Arduino. Najlepszym wyjściem jest zakup programatora zgodnego z USBasp.

Programator zgodny z USBasp
Programator zgodny z USBasp

Oprócz programatora warto również zakupić podstawkę do programowania układów, dzięki czemu nie będziemy musieli męczyć się z podłączaniem wielu kabelków. W łatwy sposób wepniemy układ i zaprogramujemy go.

Podstawka do programatora
Podstawka do programatora

Oprócz tego większość podstawek posiada wyjścia pinów, co pozwala programować i testować kod już na nich bez potrzeby wyciągania układu.

ATtiny

Używać będziemy dwóch układów ATtiny85 oraz ATtiny2313, które są popularne i łatwo dostępne w sklepach internetowych.

ATtiny85

Zacznę od układu ATtiny85, który jest jednym z najmniejszych i posiada tylko 8 pinów z których 5 pinów jest programowalnych: 3 piny wejść analogowych ADC (ADC0 znajduje się na pinie reset) oraz 2 piny PWM. Oprócz tego możliwa jest też komunikacja poprzez SPI (w celu np. wgrania programu). Pozostałe piny służą do zasilenia układu (1.8 - 5.5V dla wersji ATtiny85V oraz 2.7 - 5.5V dla ATtiny85) i resetu układu. Czyli jak widzimy możemy zasilać układ już niecałymi 2 woltami. Układ może posiadać od 2 do 8 KB pamięci na program oraz od 128 - 512 bajtów pamięci SRam (w zależności od wersji).

[1/2]
[2/2]

Pełna specyfikacja układu ATtiny85

Attiny2313

Drugi układ, którego będziemy używać to attiny2313, posiadający znacznie więcej złącz. Posiada ich aż 20 z czego programowalnych mamy 17 pinów, które są głównie cyfrowe m.in. 4 PWM, UART oraz standardowo SPI. Układ nie posiada zwykłych wejść analogowych ADC, dostępne są dwa złącza dla komparatora. Do układu możemy podłączyć również zewnętrzny kwarc do 20MHz. Układ posiada 2 KB pamięci na program oraz 128 bajtów SRam.

[1/2]
[2/2]

Pełna specyfikacja układu ATtiny2313

Przydatne naklejki

Bardzo przydatne są naklejki z oznaczeniami pinów w układach. Gotowe projekty możemy znaleźć w internecie. Polecam pobranie tego pliku PDF oraz sprawdzenie tej strony.

Naklejki z oznaczeniami nóżek
Naklejki z oznaczeniami nóżek

Gdy mamy już układy oraz programator możemy zabrać się za przygotowanie Arduino IDE, które musimy wcześniej zainstalować.

Przygotowanie Arduino IDE

Aby móc programować powyższe układy będziemy potrzebować plików konfiguracyjnych, które musimy skopiować do katalogów programu Arduino IDE.

Paczka zawiera pliki konfiguracyjne dla ATtiny 25, 45, 85 i 2313 i kilku innych.

Pobierz plik tiny.zip

Należy rozpakować katalog tiny a następnie przenieść go

dla Linuksa do katalogu

/usr/share/arduino/hardware/

dla Windowsa do katalogu

nazwa_uzytkownika/Dokumenty/Arduino/hardware/

Jeśli nie mamy takiego katalogu musimy go utworzyć.

Po uruchomieniu Arduino IDE powinniśmy widzieć na liście płytek nasze układy.

Wgrywanie Bootloadera i kodu

Teraz gdy mamy przygotowane Arduino IDE wystarczy podpiąć nasz programator z podstawką i podpiętym mikrokontrolerem ATtiny a następnie wybrać odpowiedni układ [code=bash]Narzędzia>Płytka[/code]

np. ATtiny85 @ 8Mhz Internal.

Następnie wybieramy programator USBasp

Narzędzia>Programator

a na koniec wybieramy opcję

Narzędzia>Wypal bootloader

Po poprawnym zakończeniu wgrywania bootloadera możemy przejść do programowania układu.

Podsumowanie

Choć obecnie jesteśmy w stanie kupić z Chin gotowe Arduino mini czy nano w podobnych cenach lub niewiele droższe to jednak programowanie mikrokontrolerów AVR oraz stworzenie własnej płytki daje wielką satysfakcję. Polecam zabawę z samymi układami i tworzenie małych rozwiązań, przy okazji można nauczyć się lutowania. Również pisanie kodu w Arduino ułatwi na samym początku naukę, a bardziej dociekliwi i żądni wiedzy mogą zająć się w późniejszym czasie programowaniem w języku C na AVR.

W kolejnej części zaczniemy zabawę z programowaniem zaprezentowanych układów ATtiny, chętni mają więc czas, aby się zaopatrzyć w te układy i trochę elektroniki. Przygotujemy m.in. prosty sterownik obrotów stołu do skanera 3d i bezprzewodowy czujnik temperatury. W późniejszych częściach przedstawię również układy ATmega8 i ATmega16.

Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.