브레드 보드를 이용하여 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 연결은 아래 링크에 나온 리셋스위치를 눌러야 업로드가 되는 방법을 참고했습니다. 프로그램에서 업로드시 자동으로 업로드되는 방법도 있지만 납땝하기가 어렵네요..
브레드 보드에 부품들을 모두 연결한 후의 상태입니다.
AVRISP mkII를 이용하여 부트로더 업로드
Arduino 부트로더를 올리기 위해 AVRISP MKII 호환 ISP를 사용합니다. ( Arduino 보드를 사용해서도 부트로더를 올릴 수 있습니다. )
AVRISP를 브레드보드상의 ATMEGA328P_PU에 연결합니다.
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버튼을 클릭합니다.
Atmega328P와 AVRISP가 올바로 연결되어있는지 확인합니다. 문제가 없다면 Device signature에 있는 Read 버튼을 클릭하였을 때 아래 화면처럼 Device signature와 Target Voltage가 표시됩니다.
왼쪽 항목에서 Memories를 선택합니다. Flash항목의 ...버튼을 클릭하여 부트로더 헥사파일 optiboot_atmega328.hex의 위치를 지정해줍니다. 이제 Program 버튼을 클릭합니다.
성공적으로 부트로더가 업로드 되었다면 아래 메시지를 볼 수 있습니다.
Erasing device... OK
Programming Flash...OK
Verifying Flash...OK
왼쪽 항목에서 Fuses를 선택하고 다음 항목들의 값을 변경하고 Program버튼을 클릭합니다.
EXTENDED: 0x05
HIGH: 0xDE
LOW: 0xFF
USB to Serial 컨버터를 사용하여 아두이노 코드 업로드하기
USB to Serial 컨버터를 피시에 연결 후, 장치 관리자에서 제대로 잡혔는지 확인해보니 물음표가 보입니다.
윈도우에 디폴트로 포함되어 있는 드라이버로는 정상 동작이 안됩니다.
http://www.ifamilysoftware.com/news37.html 에서 윈도우 버전에 맞는 드라이버를 다운로드 후.. 설치를 했습니다. USB to Serial 컨버터를 피시에서 제거한 후.. 드라이버를 설치하면 컨버터를 연결하라는 메세지가 뜹니다. 모듈을 피시에 연결해줍니다.
설치완료 후 재부팅을 해주면 정상적으로 사용가능 해집니다.
이제 USB to Serial 컨버터를 브레드보드에 연결한 후, 피시에 연결합니다. 컨버터에는 3.3V와 5V 단자가 있는데 이 중에 5V를 브레드보드에 연결해주면 됩니다.
장치관리자에서 USB to Serial 컨버터를 위해 잡힌 포트 번호를 확인합니다. 여기에선 COM21입니다.
Arduino IDE를 실행합니다. 메뉴에서 툴 - 포트를 선택하고 앞에서 확인한 포트를 선택해줍니다.
메뉴에서 파일 - 예제 - 01.Basics - Blink를 선택합니다. 브레드보드상의 푸쉬버튼을 누른 상태에서 Arduino IDE의 업로드 버튼을 클릭하고 3초 후 푸쉬버튼에서 손을 뗍니다.
정상적으로 동작한다면 LED가 깜빡이게 됩니다.
다음은 Atmega328P의 핀과 Arduino UNO 핀사이의 매핑을 나타내는 그림입니다.
'Arduino Uno' 카테고리의 다른 글
Ubuntu 16.04 /14.04에서 Arduino UNO 보드 사용하기 (1) | 2016.11.29 |
---|---|
Arduino - 시리얼 통신으로 실수(double)를 전송하기 (0) | 2016.08.30 |
Arduino UNO에서 dht-22 온도 / 습도 센서 사용하기 (0) | 2016.06.21 |
arduino uno에 연결된 LCD에 현재 날짜/시간(RTC) 출력하기 (0) | 2016.06.10 |
arduino uno에서 ds18b20온도 센서값과 RTC(날짜,시간)값을 MYSQL에 데이터 넣기 (30) | 2016.06.10 |
시간날때마다 틈틈이 이것저것 해보며 블로그에 글을 남깁니다.
블로그의 문서는 종종 최신 버전으로 업데이트됩니다.
여유 시간이 날때 진행하는 거라 언제 진행될지는 알 수 없습니다.
영화,책, 생각등을 올리는 블로그도 운영하고 있습니다.
https://freewriting2024.tistory.com
제가 쓴 책도 한번 검토해보세요 ^^
그렇게 천천히 걸으면서도 그렇게 빨리 앞으로 나갈 수 있다는 건.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!