Korzystanie z samodzielnego układu Arduino jest dość łatwe. Jedyną trudną rzeczą w układzie używanym do oficjalnych płyt jest to, że są one połączone w celu użycia szybszego (i dokładniejszego) zewnętrznego oscylatora, który jest zamontowany na płycie. Dotyczy to nawet zakupu luźnych układów, ponieważ większość z nich jest odsprzedawana z zamiarem zainstalowania na płycie Arduino w celu zastąpienia wypalonej płyty, z wyjątkiem być może kart Digikey.
Ostrzeżenia: Arduino zostało zaprojektowane jako płyta prototypowa i niewiele rzeczy radzi sobie lepiej niż przy tym zadaniu. Możesz zostawić układ na płycie Arduino, dopóki nie zakończysz projektowania i testowania obwodu. Dopiero wtedy podłączasz go bezpośrednio. Można go użyć na miejscu, jeśli masz obwód zegara lub możesz zmienić bezpieczniki (patrz później) i przeprogramować Arduino za pomocą adaptera ISP i częstotliwości taktowania 8 MHz (PlatformIO pozwala to zrobić ( i umożliwia bezpośrednie importu szkicu Arduino) - sprawdź na stronie z dokumentami wtyczkę Atmel AVR, ale możesz także znaleźć kilka poradników, jak dodać plik tablicy do Arduino, aby użyć opcji 8 MHz dla gołego układu)
Jeśli wyjmiesz układ w celu użycia go w innym obwodzie, musi on ponownie dodać obwód zegara lub wymienić bezpieczniki (przejdę do tego za minutę). Programowanie będzie trudne z wielu powodów, dlatego warto kupić trochę dość taniego sprzętu:
Programowanie samodzielnego układu scalonego: Procesor Arduino nie jest przeznaczony do komunikacji z komputerem. Potrzebujesz pośrednika. Na Uno odbywa się to za pośrednictwem drugiego układu Atmel, który ma możliwość USB i bootloadera na głównym układzie. To, co robi, polega na tym, że używa UART do przesyłania programu, podczas gdy układ USB konwertuje wiadomości z komputera na sygnały UART. Ponieważ bootloader jest nieco uciążliwy, gdy układ działa samodzielnie (ponieważ UART jest wybredny, a jego zainstalowanie powoduje, że chip korzysta z zewnętrznego zegara), będziesz chciał kupić programator ISP dla Arduino (lub postępuj zgodnie ze szkicem Arduino-as-ISP i instrukcjami, aby stworzyć własne, które wymagają Arduino z obecnym układem, więc musisz zaprogramować sekundę).
Mogą one zaprogramować ATMega 328 bezpośrednio przez SPI, bez bootloadera (istnieje wiele instrukcji w Internecie; na przykład wyszukaj „program goły ATMega 328P z USBAsp”). Ułatwia to zmienianie i debugowanie programu bez wyrzucania układu z powrotem do oryginalnej płyty Arduino. Potrzebujesz także jednego, aby zmienić ustawienia zegara, jeśli nie chcesz używać zewnętrznego kryształu.
Jeśli chcesz debugować układ, warto również kupić adapter FTDI lub inny konwerter USB-na-UART. Zauważ, że bez części obwodu resetu na płytce (lub ponownie, dodając własną), nadal nie pozwoli ci to zaprogramować ATMega nawet z bootloaderem. W tym celu podłącz styki uziemienia, RX i TX do adaptera. Możesz lub nie chcesz podłączyć linii VCC, ale nie zaleca się tego, jeśli do układu jest wiele rzeczy i / lub ma on własne zasilanie. Zauważ, że RX i TX muszą zostać zamienione podczas ich łączenia; to znaczy, RX na TX i TX na RX - chcesz, aby chip do RX (odbierał) czym jest adapter (transmituje) TX i na odwrót.
Układ zegara nie jest trudny do zbudowania, ale wymaga kilku elementów, których możesz nie mieć. Aby zmienić źródło zegara , przejdź do strony http://www.engbedded.com/fusecalc/ i wybierz ATMega 328P. Domyślne wartości są dobre, ale możesz chcieć włączyć EEPROM-a-wymazać i wyłączyć podział zegara przez 8 lub dostosować ustawienia wygaszania. Nie dotykaj niczego innego (wyłączenie resetowania lub SPI lub włączenie DebugWire skutkuje „zabawą” wymagającą naprawy programisty HV). Po zakończeniu wklej dostarczone polecenie do polecenia AVRDude. Będziesz musiał zmienić opcje -c (-p jest już ustawiony na ATMega 328P, ale nie powiedzie się w przypadku modeli innych niż P 328 - nie kupuj ich), i być może dodaj opcję -P (dla portu). Nie pomijaj opcji -u małych liter, ponieważ odmówi to aktualizacji bezpieczników.
avrdude -p m328p -v -c usbasp -B 100 -u [add extras here: (-P <PORT>) <fuse set command here>]
Zauważ, że jeśli kupisz USBASP (upewnij się, że ma trzy zestawy zworek!), Pomimo tego, że są moim ulubionym programistą, mogą nie mieć zaktualizowanego oprogramowania, które obsługuje opcję -B (które prawdopodobnie będziesz potrzebować). Oznacza to, że musisz podłączyć go do Arduino przez sześciopinowy port programowania, dokładnie tak samo, jak przy programowaniu bootloadera Arduino, ale następnie użyj szkicu Arduino jako ISP, aby zaprogramować nowy oprogramowanie układowe do programatora (wyszukaj „zaktualizuj oprogramowanie układowe USB poprzez arduino-as-isp”)! Dla porównania, to zwykle oznacza, że kabel wychodzi z dala od ciała pokładzie, i prawdopodobnie będziesz musiał zaprogramować szkic przedpodłączenie kabla. Włącz także zworkę power-from-programmer na USBASP (5V) i zworkę „samoprogramującą”. (patrz https://forum.arduino.cc/index.php?topic=560719.0 w celu uzyskania informacji o lokalizacji zworek zasilania i programu (JP2)).