[DIY] [더미천국] 아두이노 응용편 1 입니다. (이대로 따라하면 고수된다) - 아두이노 부트로더 쓰기
- Download
- ArduinoISP.ino(16.6 KB) 2021-03-269
시작하면 서 -- 3월부터 좀 바뻐지더니 '마음의 여유'가 안 생기네요.
개발일을 하면서 필요한 사항을 정리한 내용이 있어서 옮겨 놓습니다.
필요하신 분들이 있을 것 같아서.
목재에 그리는 인그레이버는 아무래도 4월이 되어야 ,,,
========================================================
아두이노 보드를 모듈로 구입 만들어 사용하면 전문가 답지않아
보드에 직접 ATMEGA328P MCU를 장착하고 그 보드를 아두이노 UNO로 만들어 사용해 봣습니다.
아주 좋습니다.
원 기록은 https://cafe.naver.com/diyelectronics/525 에 있습니다.
일단 ^C, ^V로 나중에 정리하겠습니다.
===================================================================
기존 아두이노 보드를 사용해서 업로드하는 방법입니다.
1. 준비물 : Arduino Uno with Blank Arduino , ISP 프로그램
Arduino Uno에 ISP 프로그램을 동작하여 다른 우노보드의 블랭크의 ATMEGA328P를 프로그램 하기로 합니다.
이 프로그램 역시 Arduino의 예제에 있습니다.
예제에 있지만 혹시나 궁금할것 같아서 첨부파일로 첨부했습니다.
== Arduino UNO에 프로그램을 올려서 ISP 프로그램 기기로 만들어야 합니다. ==
1) PC Windows 7 또는 Windows 10에서 IDE를 실행합니다.
2) 메뉴바에서 툴 > 프로그래머 > "Arduino as ISP" 를 선택한다.
3) 메뉴바에서 파일 > 예제 > 11.ArduinoISP > ArduinoISP를 열어주세요.
이후에 예제이지만 Arduino를 프로그래머로 변환하는 프로그램이 아두이노에 입력 됩니다.
이 프로그램은 총 700여 라인이 되는 프로구램입니다. 이 프로그램은 GitHub에서 찾아 볼 수있습니다.
참고로 그 주소는 https://github.com/arduino/ArduinoISP 입니다.
4) 예제가 올라간 화면입니다. 약간 버전마다 다를 수 있지만 참조 바랍니다.
당연히 현재 Atmega328이 있는 보드에 프로그램을 넣어 줘야 겠지요.
6) Up Load가 된 후의 Arduino IDE의 모습입니다.
== 이제 여러분의 Arduino Uno는 프로그래머가 되었습니다. ==
지금부터는 이 프로그래머를 이용하여 ATMEGA328P에 Boot Loader를 프로그램하는 작업을 합니다.
여기서 잠깐 알아두면 편리한 상식을 알려 드립니다.
ATMEGA328의 내부 메모리에 프로그램을 써 넣을때에는 다른 포트 SPI포트를 이용하여 프로그램 합니다. 보통 MISO, MOSI, SS등 직렬포트를 이용합니다. 이 포트는 무지무지 빠른 속도로 데이터를 보낼 수있으며 양방향으로 데이터를 주거니 받거 할 수 있습니다. 어쨋던 그 연결은 다음과 같습니다.
== 이제 하드웨어 연결 합시다 ==
7) 6개의 연결선이 필요합니다.
IC종류에 관계 없이 총 6개의 선이 필요합니다.
Arduion ISP | Target Board | 내용 |
13 | 13 | SCK - SCK |
12 | 12 | MISO - MISO |
11 | 11 | MOSI - MOSI |
10 | Reset | SPI SS pin |
GND | GND | |
VCC 5V | VCC 5V |
연결한 보드의 실사 사진은 다음과 같습니다.
전원은 서로 연결되어 있어서 Arduino ISP [Uno가 아닌 AVR 프로그램 장비입니다]를 통하여 공급됩니다.
== 이제 프로그램을 굽도록 합니다. ==
8) 메뉴바 서 Arduino UNO 328P 선택합니다.
Arduino Nano에서는 여러가지 칩이 나오지만 UNO는 328P 하나만
사용하므로 이 칩을 선택하도록 합니다.
툴 > 보드 > Arduino Uno를 선택하도록 합니다.
9) 메뉴바에서 툴 > 프로그래머 : Arduino as ISP를 선택하도록 합니다. 즉 아두이노를 ISP로 만들어 프로그램으로 사용한다는 뜻입니다.
10) 메뉴바의 툴 > 부트로더 굽기를 누르자 마지 프로그램이 돌아 가기 시작합니다. 약 몇 초 걸립니다.
11) 프로그램이 써지고 아래 동작 정보란에 [부트로더 굽기 완료] 가 나옴니다.
이제 축하 파티를 열면됩니다.
만약 오류가 발생한다면 회로에서 뭔가 잘못 연결 되어있거나,
빠져있을 수 있으니 확인해주세요.
저는 IC를 거꾸로 꼽고 고민했는데 -- 소켓 방향을 잘 보셔요.
IC가 타지는 않고 잘 구워 졌습니다.
쓰담 쓰담..
감사합니다.
원래 데이터는 https://www.arduino.cc/en/Tutorial/BuiltInExamples/ArduinoISP
에서 확인 하심 됩니다.