[DIY] [더미천국] 아두이노 응용편 1 입니다. (이대로 따라하면 고수된다) - 아두이노 부트로더 쓰기

시작하면 서 -- 3월부터 좀 바뻐지더니 '마음의 여유'가 안 생기네요. 
개발일을 하면서 필요한 사항을 정리한 내용이 있어서 옮겨 놓습니다. 

필요하신 분들이 있을 것 같아서.  


목재에 그리는 인그레이버는 아무래도 4월이 되어야 ,,,

========================================================


아두이노 보드를 모듈로 구입 만들어 사용하면 전문가 답지않아 

보드에 직접 ATMEGA328P MCU를 장착하고 그 보드를 아두이노 UNO로 만들어 사용해 봣습니다. 

아주 좋습니다. 
원 기록은 
https://cafe.naver.com/diyelectronics/525 에 있습니다.  

일단 ^C, ^V로 나중에 정리하겠습니다. 

===================================================================


기존 아두이노 보드를 사용해서 업로드하는 방법입니다.

1. 준비물 : Arduino Uno with Blank Arduino , ISP 프로그램


22ba8f000582a101b628677a00baa271.png

 

Arduino Uno에 ISP 프로그램을 동작하여 다른 우노보드의 블랭크의 ATMEGA328P를 프로그램 하기로 합니다.

이 프로그램 역시 Arduino의 예제에 있습니다.

예제에 있지만 혹시나 궁금할것 같아서 첨부파일로 첨부했습니다.

== Arduino UNO에 프로그램을 올려서 ISP 프로그램 기기로 만들어야 합니다. ==

1) PC Windows 7 또는 Windows 10에서 IDE를 실행합니다.


ac77c4152eb595330b324b3aa426db4a.png

 

2) 메뉴바에서 툴 > 프로그래머 > "Arduino as ISP" 를 선택한다.


440b8312ff701e4af416b2de4ceed915.png
 

3) 메뉴바에서 파일 > 예제 > 11.ArduinoISP > ArduinoISP를 열어주세요.

이후에 예제이지만 Arduino를 프로그래머로 변환하는 프로그램이 아두이노에 입력 됩니다.

이 프로그램은 총 700여 라인이 되는 프로구램입니다. 이 프로그램은 GitHub에서 찾아 볼 수있습니다.

참고로 그 주소는 https://github.com/arduino/ArduinoISP 입니다.


5c69e5296d9c10baab07f17d7fac2666.png

 

4) 예제가 올라간 화면입니다. 약간 버전마다 다를 수 있지만 참조 바랍니다.

68e2025ca67efdf2b473bfcbec63a284.png
 

5) 아두이노 우노 보드에 업로드 시켜줍니다. 어느 보드에 프로그램을 올리는지 알겠죠?

당연히 현재 Atmega328이 있는 보드에 프로그램을 넣어 줘야 겠지요.

b03b40553995dd5670e9ccb806f0c2ba.png
 

6) Up Load가 된 후의 Arduino IDE의 모습입니다.

1aa3e226f3ae112fb06bf461373583b8.png
 


== 이제 여러분의 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

898856a1d39f618faefce9b8ac296bb4.png
 

연결한 보드의 실사 사진은 다음과 같습니다.

5efd8d0b97050d52372f3585628cf572.png
 

전원은 서로 연결되어 있어서 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

에서 확인 하심 됩니다. 

 

0
0
이 글을 페이스북으로 퍼가기 이 글을 트위터로 퍼가기 이 글을 카카오스토리로 퍼가기 이 글을 밴드로 퍼가기

메이커 DIY

번호 제목 글쓴이 날짜 조회수
3 Sell 청춘 시계 진행 상황 icon HellMaker 03-31 8,197
2 Sell 수동 오르고 모델 M3A - 조립 매뉴얼 icon HellMaker 03-29 14,108
1 Sell 에너지 화분 - 최재필 작가님 icon HellMaker 12-14 14,384