독립형 Arduino 칩을 사용하는 것은 상당히 쉽습니다. 공식 보드에 사용되는 칩의 한 가지 까다로운 점은 보드에 장착 된 더 빠르고 정확한 외부 발진기를 사용하도록 융합되어 있다는 것입니다. 이것은 느슨한 칩을 구입할 때에도 적용됩니다. Digikey의 칩을 제외하고 대부분은 Arduino 보드에 설치하여 타 버린 칩을 교체하기 위해 재판매되기 때문입니다.
주의 사항 : Arduino는 프로토 타이핑 보드로 설계되었으며이 작업에서 수행하는 것보다 더 나은 기능은 거의 없습니다. 회로 설계 및 테스트가 끝날 때까지 Arduino 보드에 칩을 남겨 두는 것이 좋습니다. 그런 다음에 만 직접 연결하십시오. 당신이 그 자리에 클록 회로가있는 경우는 현재 위치에서 사용할 수 있습니다, 또는 당신은 퓨즈 (나중에 참조) 변경 PlatformIO는이 작업을 수행 할 수 있습니다 (ISP가 어댑터와 8MHz의 클럭 속도로 아두 이노를 재 프로그램 할 수 있습니다 ( 및 직접 할 수 있습니다 아두 이노 스케치 가져 오기)-문서 페이지에서 Atmel AVR 플러그인을 확인하십시오. 그러나 보드 파일을 Arduino에 추가하여 베어 칩에 8mhz 옵션을 사용하도록 알리는 방법에 대한 여러 안내서를 찾을 수도 있습니다)
다른 회로에서 사용하기 위해 칩을 제거하는 경우 클럭 회로를 다시 추가하거나 퓨즈를 변경해야합니다 (1 분 후에 연결). 여러 가지 이유로 프로그래밍하기가 어렵 기 때문에 상당히 저렴한 하드웨어를 구입하고 싶을 것입니다.
독립형 칩 프로그래밍 : Arduino의 CPU는 기본적으로 컴퓨터와 통신하도록 설계되지 않았습니다. 중개자가 필요합니다. Uno에서는 USB 기능이있는 보조 Atmel 칩과 메인 칩의 부트 로더를 통해이 작업을 수행합니다. USB 칩이 PC의 메시지를 UART 신호로 변환하는 동안 UART를 사용하여 프로그램을 업로드합니다. 부트 로더는 칩 자체에있을 때 다소 고통 스러우므로 (UART가 까다 롭고 설치하면 칩을 외부 클럭을 사용하도록 설정하기 때문에) Arduino 용 ISP 프로그래머를 구매하는 것이 좋습니다 (또는 Arduino-as-ISP 스케치 및 지침에 따라 직접 칩을 제작할 수있는 Arduino가 필요하므로 프로그래밍하려면 1 초가 필요합니다.
이들은 부트 로더없이 SPI를 통해 ATMega 328을 직접 프로그래밍 할 수 있습니다 (인터넷에는 많은 지침이 있습니다. 이를 통해 칩을 튀어 나온 후 원래 Arduino 보드에 넣지 않고 프로그램을 변경하고 디버그하기가 훨씬 쉽습니다. 외부 크리스탈을 사용하지 않으려면 시계 설정을 변경해야합니다.
칩 을 디버그 하려면 FTDI 어댑터 또는 다른 USB-UART 변환기도 구입하는 것이 좋습니다. 보드의 리셋 회로 부분이 없으면 (또는 다시 자신을 추가해도) 여전히 부트 로더로 ATMega를 프로그래밍 할 수는 없습니다. 이를 위해 접지, RX 및 TX 핀을 어댑터에 연결하십시오. 당신은 할 수있다 또는 VCC 라인을 연결하지 수 있지만, 그렇게하지에이를 통보있어 경우 칩 및 / 또는 그이 자체 전원 공급 장치에 연결 많은 것들이있다. RX와 TX는 연결할 때 교환해야합니다. 즉, RX에서 TX로, TX에서 RX로-어댑터가 TX (전송)되는 것을 RX (수신)하고, 그 반대의 경우도 마찬가지입니다.
클록 회로는 구축하기 어렵지 않지만 보유하고 있지 않은 몇 가지 구성 요소가 필요합니다. 따라서 클럭 소스 를 변경하려면 http://www.engbedded.com/fusecalc/ 로 이동 하여 ATMega 328P를 선택하십시오. 기본값은 좋지만 EEPROM Keep-on-eraase를 활성화하고 클럭을 8로 나누거나 브라운 아웃 설정을 조정할 수 있습니다. 재설정 또는 SPI를 비활성화하거나 DebugWire를 활성화하면 HV 프로그래머가 수정해야하는 "재미"가 발생합니다. 완료되면 AVRDude 명령에 제공하는 명령을 붙여 넣습니다. -c 옵션을 변경해야합니다 (-p는 이미 ATMega 328P로 설정되어 있지만 P 328이 아닌 경우에는 실패합니다-구매하지 마십시오) -P 옵션 (포트의 경우)을 추가하십시오. 소문자 -u 옵션을 생략하지 마십시오. 그렇지 않으면 퓨즈 업데이트가 거부됩니다.
avrdude -p m328p -v -c usbasp -B 100 -u [add extras here: (-P <PORT>) <fuse set command here>]
참고 가 제일 좋아하는 프로그래머가 모든 것을 당신이 USBASP를 구입하는 경우 있음 (확인 확신이 점퍼 3 개 세트있다!), 그들이 업데이트 된 펌웨어가 없을 수 있습니다 그 지원 -B 옵션 (당신이거야 아마 필요). 즉, 6 핀 프로그래밍 포트를 통해 Arduino의 부트 로더를 프로그래밍 할 때와 동일한 방식으로 Arduino에 연결 한 다음 Arduino as-ISP 스케치를 사용하여 새로운 것을 프로그래밍해야합니다. 프로그래머에게 펌웨어를 검색하십시오 ( "arduino-as-isp를 통해 usbasp 펌웨어 업데이트"검색)! 참고로, 이는 일반적으로 케이블이 보드 본체에서 멀리 떨어져 있다는 것을 의미하며, 전에 스케치를 프로그래밍 해야합니다.케이블 연결. 또한 USBASP (5V) 및 "자체 프로그램"에서 프로그래머에서 전원 공급 점퍼를 활성화하십시오. ( 전원 및 프로그램 점퍼 (JP2)의 위치는 https://forum.arduino.cc/index.php?topic=560719.0 을 참조 하십시오 ).