Arduino Leonardo As ISP: 7 kroków

Arduino Leonardo As ISP: 7 kroków

Spisu treści:

Anonim

Leonardo był moim pierwszym Arduino, kupiłem go, ponieważ jest wyposażony w natywne USB. Po eksperymentach z Arduino zdecydowałem się na migrację z mojego Arduino Leonardo do samodzielnego Atmega328p lub, w przypadku mniejszych projektów, do mikrokontrolera z rodziny Attiny.

Po kilku badaniach znalazłem ten przewodnik przez PeterVH:

Po kilku nieudanych próbach udało mi się nagrać bootloader i przesłać szkice z powodzeniem i chciałem je udostępnić w tym Instruktażu.

Zrzeczenie się

Nie mogę być pociągnięty do odpowiedzialności za jakiekolwiek szkody, które mogą wystąpić na Tobie lub Twoim sprzęcie podczas wykonywania procedur opisanych na tej stronie. Nie udzielam też absolutnie żadnej gwarancji na poprawność i użyteczność informacji na temat tego Instruktażu. Należy jednak pamiętać, że procedury te działały w moim przypadku bez żadnych szkód ani problemów.

Kieszonkowe dzieci:

Krok 1: Materiały

- Arduino Leonardo (z kablem USB)

- Komputer (wszystkie kroki są oparte na komputerze z systemem Windows)

- Przewody

- Docelowy mikrokontroler Atmel

Krok 2: Przygotowanie Leonarda

Zakładam, że już zainstalowałeś i skonfigurowałeś IDE i byłeś w stanie przesłać szkice wcześniej (jeśli nie: http: //arduino.cc/en/Guide/HomePage).

1- Open Arduino IDE

2- Otwórz szkic ArduinoISP (Plik / Przykłady / ArduinoISP)

3- Zmień następujące wiersze (patrz rysunek 1):

#define RESET SS DO #define RESET 10

#define LED_HB 9 TO #define LED_HB 13

(chcemy użyć cyfrowego pin 10, aby zresetować cel i ustawiamy bicie serca na pin 13)

4- Zapisz szkic jako LeonardoISP (więc możesz z niego korzystać później)

5- Wybieramy Arduino Leonardo (Tools / Boards / Arduino Leonardo) i odpowiedni port szeregowy (Tools / Serial Port / COM **)

5- Przesyłanie

Jeśli szkic został poprawnie załadowany, zobaczysz diodę na pokładzie (tę oznaczoną jako L) wykonującą sekwencję uderzeń serca.

Teraz w twoim folderze Arduino IDE:

1- Utwórz nowy folder w „sprzęcie” o nazwie leofix

2- Otwórz edytor tekstu i wklej ten kod (zdjęcie 2):

arduinoispleo.name = Arduino jako ISP (Leonardo)

arduinoispleo.communication = serial

arduinoispleo.protocol = arduino

arduinoispleo.speed = 19200

Zapisz plik jako programmers.txt (patrz rysunek 3)

Następnie podłączamy kilka przewodów do naszego Leonardo (zdjęcie 4):

Pin cyfrowy 10,1 (TX), 0 (RX)

ICSP MISO, 5V, SCK, MOSI, GND (patrz pinezka 6pin na rysunku 5)


Krok 3: Docelowy mikrokontroler Atmel 1: Atmega328p (materiały)

Kroki z Atmega328 mogą być użyte dla Atmega168 i Atmega8 (nie testowane)

Potrzebujesz tego:

(Źródło:

Dla zewnętrznej konfiguracji kryształu 16 MHz:

-Amega328p

-10k Ohm rezystor (użyłem 22K) x1

-16 MHz zegar kryształ x1

- 22 kondensatory pF x2

(lub możesz po prostu kupić dowolny z tych zestawów, tak jak ja:

Virtuabotix Bareduino - Bare minimum Arduino Kit 16 MHz

Virtuabotix Bareduino Plus - Arduino Kompatybilny mikrokontroler z regulatorem mocy

Oba są ładowane jako Duemilanove, więc zapisujesz krok)

Konfiguracja minimalnego obwodu (eliminowanie zegara zewnętrznego):

-Amega328p x1

Krok 4: Docelowy mikrokontroler Atmel 1: Atmega328p (montaż)

Dla zewnętrznej konfiguracji kryształu 16 MHz:

Patrz rysunek 1

Możesz także śledzić ten przewodnik:

www.virtuabotix.com/product-bareduino328-barebones-microcontroller-guide/

Konfiguracja minimalnego obwodu (eliminowanie zegara zewnętrznego):

Umieść Atmegę tylko na swojej planszy (zdjęcie 2)

Rysunek 3 i 4 --- Atmega328 z zewnętrznym kryształem 16 MHz

Zdjęcie 5 Minimalny obwód Atmega328

Krok 5: Docelowy mikrokontroler Atmel 1: Atmega328p (nagrywanie bootloadera i przesyłanie szkiców)

Dla zewnętrznej konfiguracji 16 MHz i obwodu minimalnego:

1- Podłącz przewody od Leonardo do atmega328 (spójrz na pinouty atmega328, które są takie same z obrazem atmega168 1):

Atmega328 Arduino Leonardo

(na zdjęciu 1 szpilki na czarnym tle) (zdjęcie 2- 6pin ICSP)

RX pin 2 ------------------------------------- cyfrowy pin 0

TX pin 3 ------------------------------------- cyfrowy pin 1

MISO pin 18 ----------------------------------- ICSP pin MISO

Pin MOSI 17 ----------------------------------- Pin ICSP MOSI

SCK pin 19 ----------------------------------- ICSP pin SCK

RESET pin1 ------------------------------------- cyfrowy pin 10

I piny zasilania 5v i uziemienie.

Zobacz zdjęcia 3 i 4, aby uzyskać ostateczny wynik

Burning Bootloader (jeśli kupiłeś Bareduino lub używasz bootloadowanego Atmega328, pomiń ten krok)

********* WAŻNE: dodatkowy krok dla konfiguracji obwodu minimalnego *********

1- Przejdź do http://arduino.cc/en/Tutorial/ArduinoToBreadboard i pobierz Breadboard.zip

2- Utwórz podfolder „hardware” w folderze szkicownika Arduino (którego lokalizację można znaleźć w oknie preferencji Arduino). Jeśli wcześniej zainstalowałeś obsługę dodatkowej konfiguracji sprzętowej, możesz mieć już folder „sprzętowy” w swoim szkicowniku.

3-Przenieś folder „breadboard” z archiwum zip do podfolderu „hardware” szkicownika Arduino.

4-Uruchom ponownie oprogramowanie Arduino.

5-Powinieneś zobaczyć "ATmega328 na płycie breadboard (8 MHz wewnętrzny zegar)" w menu Narzędzia> Płyta.

****************** Zakończ dodatkowy krok tutaj ******************

1- Sprawdź ponownie połączenia

2- Wybierz swoją tablicę:

Atmega328 z zewnętrznym kryształem 16 MHz ----> Arduino Duemilanove w / ATmega328

Obwód minimalny Atmega bez kryształu zewnętrznego -----> ATmega328 na płycie breadboard (zegar wewnętrzny 8 MHz)

3- Port szeregowy powinien być taki sam jak Arduino Leonardo

4- Wybierz Arduino jako ISP (Leonardo) w programatorze

5- Wybierz Burn Bootloader w menu Narzędzia

6- Jeśli otrzymasz tę wiadomość: Gotowy program ładujący, Powodzenie! (patrz zdjęcia 6 i 8)

Jeśli pojawi się komunikat o błędzie, sprawdź połączenia jeden po drugim i powtórz proces.

Prześlij szkic

1- Nie ruszaj połączeń

2- Wybierz szkic (patrz zdjęcie 1, Konfiguracja pinów Arduino na czerwono)

3- Posługiwać się Prześlij za pomocą programisty z menu Plik, Gotowe! (zdjęcie 9-klasyczne miganie)

Jeśli pojawi się komunikat o błędzie, sprawdź połączenia jeden po drugim i powtórz proces.

Krok 6: Docelowy mikrokontroler Atmel 2: ATtiny84

Instrukcje te są nie tylko dla ATiny84, powinny działać dla Attiny45, Attiny85, Attiny44 i Attiny84 przy użyciu High-Low Tech Core, a dla ATtiny84 (84/44/24), ATtiny85 (85/45/25) i ATtiny2313 (4313) przy użyciu Arduino-Tiny Core, ale w końcu proces jest taki sam.

1- Zainstaluj oprogramowanie dla Arduino IDE z wybranego rdzenia.

2 - Podłącz przewody między (RX, TX, jeśli są dostępne) MISO, MOSI, SCK, RESET, 5V i GND ATtiny (wyszukaj pinout z arkusza danych Atmel) i Arduino Leonardo.

PAMIĘTAJ: pin RESET dla Leonardo jest cyfrowym pinem 10

3- Otwórz szkic

4-Wybierz odpowiednią tablicę. W moim przypadku, używając High-Low Tech Core, wybieram Attiny84 (wewnętrzny zegar 8 MHz).

5- Wybierz Arduino jako ISP (Leonardo) w programatorze.

6- Zastosowanie Prześlij za pomocą programisty z menu Plik.

Ważne: Niektóre żetony muszą zostać załadowane podczas używania Arduino-Tiny Core. W takim przypadku użyj Nagraj bootloader przed przesłaniem szkicu.

Ważne, również: Rdzenie używają innej konfiguracji pinów, podczas pisania szkicu należy odwołać się do ich dokumentacji.

Przykład: Zdjęcie 2 to konfiguracja pinów dla ATtiny84 z High-Low Tech Core i zdjęcie 3 z Arduino-Tiny Core.

Krok 7: Dzięki!

To jest mój pierwszy instruktaż, więc wszelkie uwagi, sugestie, krytyka są mile widziane.