반응형

브레드 보드를 이용하여  Arduino UNO 보드를 만든 과정을 기록해봤습니다.



주문 부품


Atmega328P-PU 1개

http://itempage3.auction.co.kr/DetailView.aspx?itemNo=B310712008&frm3=V2


브레드보드 미니 사이즈  1개( 가로 구멍수 30개, 세로 구멍수 14개 )

http://itempage3.auction.co.kr/DetailView.aspx?itemno=B291606746

capacitor 10uF/50V  1개

http://itempage3.auction.co.kr/DetailView.aspx?itemno=B347583998


capacitor 22pF/50V  2개

http://itempage3.auction.co.kr/DetailView.aspx?itemno=B312397454


10k ohm 1/4w 저항 1개

http://itempage3.auction.co.kr/DetailView.aspx?itemno=B273134082


220 ohm 1/4w 저항 1개

http://itempage3.auction.co.kr/DetailView.aspx?itemno=B273136745


3mm LED 1개

http://itempage3.auction.co.kr/DetailView.aspx?itemno=B249078401


16Mhz crystal 딥타입 1개

http://itempage3.auction.co.kr/DetailView.aspx?itemNo=B301729225&frm3=V2


PL2303 USB To RS232 TTL Adapter Module 1개

http://itempage3.auction.co.kr/DetailView.aspx?ItemNo=B260969902


MAI-ISP-MK2-B V2.0 ( avrisp mkii 호환 ) 1개

https://www.eleparts.co.kr/EPXD3WPTbrand


브레드보드용 단선 (흑색)

http://eleparts.co.kr/EPXBJU8D



브레드 보드와 외부 장치를 연결 시 사용하기 위해 추가로 구입하는 부품들입니다.


점퍼와이어 Female - Female 20cm 40개

http://itempage3.auction.co.kr/DetailView.aspx?itemno=B244689466


점퍼와이어 Male - Male 20cm 40개

http://itempage3.auction.co.kr/DetailView.aspx?itemno=B245481178


점퍼와이어 Male - Female 20cm 40개

http://itempage3.auction.co.kr/DetailView.aspx?itemno=B244696858




브레드보드에 부품 연결

AVRISP와 PL2303 USB To RS232 TTL Adapter Module을 제외한 모든 부품들을 브레드보드에 연결합니다.


ISP 연결은 아래 링크에 나온  리셋스위치를 눌러야 업로드가 되는 방법을 참고했습니다.  프로그램에서 업로드시 자동으로 업로드되는 방법도 있지만 납땝하기가 어렵네요..

http://www.xappsoftware.com/wordpress/2012/04/16/how-to-upload-sketches-to-arduino-uno-chip-using-pl2303-usb-to-rs-232-converter/



arduino breadboard diy_bb.png

arduino breadboard diy_schem.png



브레드 보드에 부품들을 모두 연결한 후의 상태입니다.

20160827_225824.jpg



AVRISP mkII를 이용하여 부트로더 업로드

Arduino 부트로더를 올리기 위해  AVRISP MKII 호환 ISP를 사용합니다. ( Arduino 보드를 사용해서도 부트로더를  올릴 수 있습니다. )


AVRISP를 브레드보드상의  ATMEGA328P_PU에 연결합니다.


20160827_214331.jpg



C:\Program Files (x86)\Arduino\hardware\arduino\avr\bootloaders\optiboot 에 위치한 optiboot_atmega328.hex파일을 찾기 쉬운 위치(예를 들어 바탕화면)으로 복사합니다.



Atmel Studio를 실행합니다. 설치를 안했다면 아래 링크를 참고하여 설치합니다.


AVRISP mkii를 Avr Studio 7.0에서 사용하기 및 AVR studio 7.0 사용법

http://webnautes.tistory.com/851



메뉴에서 도구- Device Programming을 선택합니다. Tool을 AVRISP mkII로 변경한 후, Device는 ATmega328P를 선택합니다. 그리고 나서 Apply버튼을 클릭합니다.


이미지 5.png



Atmega328P와 AVRISP가 올바로 연결되어있는지 확인합니다.  문제가 없다면 Device signature에 있는 Read 버튼을 클릭하였을 때  아래 화면처럼 Device signature와 Target Voltage가 표시됩니다.

이미지 6.png



왼쪽 항목에서 Memories를 선택합니다. Flash항목의 ...버튼을 클릭하여 부트로더 헥사파일 optiboot_atmega328.hex의 위치를 지정해줍니다.  이제 Program 버튼을 클릭합니다.

이미지 7.png



성공적으로 부트로더가 업로드 되었다면 아래 메시지를 볼 수 있습니다.

Erasing device... OK

Programming Flash...OK

Verifying Flash...OK


이미지 8.png



왼쪽 항목에서 Fuses를 선택하고 다음 항목들의 값을 변경하고 Program버튼을 클릭합니다.

EXTENDED: 0x05

HIGH: 0xDE

LOW: 0xFF


이미지 9.png




USB to Serial 컨버터를 사용하여 아두이노 코드 업로드하기


USB to Serial 컨버터를 피시에 연결 후, 장치 관리자에서 제대로 잡혔는지 확인해보니 물음표가 보입니다.



윈도우에 디폴트로 포함되어 있는 드라이버로는 정상 동작이 안됩니다.


http://www.ifamilysoftware.com/news37.html 에서 윈도우 버전에 맞는 드라이버를 다운로드 후.. 설치를 했습니다. USB to Serial 컨버터를 피시에서 제거한 후.. 드라이버를 설치하면 컨버터를 연결하라는 메세지가 뜹니다. 모듈을 피시에 연결해줍니다.



설치완료 후 재부팅을 해주면 정상적으로 사용가능 해집니다.



이제 USB to Serial 컨버터를 브레드보드에 연결한 후, 피시에 연결합니다. 컨버터에는 3.3V와 5V 단자가 있는데 이 중에 5V를 브레드보드에 연결해주면 됩니다.

20160827_231700.jpg



장치관리자에서 USB to Serial 컨버터를 위해 잡힌 포트 번호를 확인합니다. 여기에선 COM21입니다.

이미지 10.png



Arduino IDE를 실행합니다. 메뉴에서 툴 - 포트를 선택하고 앞에서 확인한 포트를 선택해줍니다.

이미지 11.png



메뉴에서  파일 - 예제 - 01.Basics - Blink를 선택합니다. 브레드보드상의 푸쉬버튼을 누른 상태에서 Arduino IDE의 업로드 버튼을 클릭하고 3초 후 푸쉬버튼에서 손을 뗍니다.

이미지 13.png



정상적으로 동작한다면 LED가 깜빡이게 됩니다.

20160827_231700.jpg


20160827_231707.jpg


다음은 Atmega328P의 핀과  Arduino UNO 핀사이의 매핑을 나타내는 그림입니다.



반응형

문제 발생시 지나치지 마시고 댓글 남겨주시면 가능한 빨리 답장드립니다.

도움이 되셨다면 토스아이디로 후원해주세요.
https://toss.me/momo2024


제가 쓴 책도 한번 검토해보세요 ^^

+ Recent posts