안녕하세요 제타지니입니다.
아두이노는 오픈소스를 바탕으로 하고 있습니다. 따라서 무료 소프트 웨어를 다운받아서 사용할 수 있음과 동시에, 그 회로도 역시 공개가 되어 있습니다. 이전의 포스트에서 '정품 보드'인가 '호환 보드'인가에 대해서 다루었죠? 바로 요기 ↓에서!
(물론, 공개된 회로도에 대한 사이트는 이 포스트에서 스크롤을 한번만 내리시면 있습니다.)
그렇다면, 모든 것이 공개되어 있으니 우리도 만들 수 있지 않을 까요? 정답은 Yes 입니다.
어떻게 배울까요? 가장 일반적인 보드인 UNO를 통하여 배워 봅시다.
출처: https://www.arduino.cc/en/uploads/Main/arduino-uno-schematic.pdf
이렇게 보이면 상당히 복잡해 보입니다. 하지만, 많은 부분이 USB 연결 -->프로그램을 다운로드 하기 위한 회로이거나 아두이노의 입출력 핀 연결을 위한 회로라는 것이지요! 이들을 제외하면, 아두이노 동작을 위해 필수적인 회로는 공개된 회로의 일부분에지나지 않는 다는 사실입니다.
우선 <아두이노 Uno>회로도와 하드웨어를 통하여 필수적으로 필요한 구성품을 먼저 살펴보도록 합시다.
************USB & POWER Port************
아두이노 우노의 경우 USB나 별도의 어댑터로 부터 전원을 공급 받을 수 있습니다. 위 그림 1-2의 왼쪽 하단에 7~12[V]의 전압을 인가받을 수 있는 곳이 보이죠? 그곳이 전원 어댑터이고, 왼쪽 중앙 위쪽에 USB Control이 보이시죠? PC 혹은 노트북과 연결하여 통신을 할 수 있는 Port입니다. 즉, 코딩(프로그램)을 업로드 할 수 있는 중요한 장치이죠. USB만 연결하더라도, 5[V]의 전압을 인가받을 수 있습니다. 다만 USB를 사용하는 경우 어댑터는 사용하는 목적에 따라서 연결할 수도 있고, 연결하지 않을 수도 있습니다. (또한 설치된 프로그램을 USB없이 독립적으로 실행하기 위해서는 어댑터 사용은 필수 입니다.)
전원 포트에 추가로 달아주면 좋은 것들
- 전원 확인을 위한 LED
- 역전류 방지를 위한 다이오드
- 보드의 ON/OFF 스위치
아두이노에 프로그램을 다운로드하는 방법은 ISP(In System Programming)와 UART(Universal Asynchronous Receiver/Transmitter) 두가지 방식이 모두 가능하며, 두 방법 모두 Reset핀에 LOW입력이 가해진 상태에서 프로그램을 다운로드 합니다.
************Voltage Regulator************
전원 어댑터 연결 포트 바로 위에 검은색 사각형이 보이실 겁니다. Voltage Regulator입니다. Arduino Uno에서 사용하는 마이크로 컨트롤러 ATmega328은 5[V]의 전원을 사용하므로, 안정적인 전압 공급을 위하여 7805 Regulator을 사용합니다. 7805 Voltage Regulator는 7~25[V]의 입력전압 (*8~12[V] 권장)을 받아 5[V]의 출력 전압과 최대 1[A]의 출력 전류를 제공합니다.
출처: https://www.engineersgarage.com/electronic-components/7805-voltage-regulator-ic
정면을 바라 보았을 때, 왼쪽이 입력, 가운데가 접지(Ground), 오른쪽이 출력 포트입니다!. DataSheet은 바로 밑에 링크로 달아 놓았습니다. https://www.engineersgarage.com/sites/default/files/7805.pdf
************16[MHz] Crystal & Reset************
아두이노에는 내부 발진기가 포함 되어 있습니다. 이전의 포스트에서 크리스탈에 대하여 설명했습니다. 요기↓를 참조해 주세요!
주의 사항은 ATmega328에서 외부 클럭 없이도 사용할 수 있지만, 내부 발진기만을 사용하는 경우, 최대 동작 속도가 8[MHz]로 제한된다 하더군요!
리셋버튼은 다들 아시겠지요? 초기화를 위한 버튼입니다.
************Capacitor(=Condenser)/ Resistor************
1. Capacitor, 캐패시터 (Condenser라고도 합니다.)
- 전원 공급이 필요한 곳에 연결합니다. 목적은 전원 공급을 안정화하는 데 쓰입니다. 사용해야 하는 곳은 크리스탈, 전원 어댑터 연결부와 ATmega328근처입니다.
2. Resistor, 저항
- 저항의 역할은 너무나도 다양해서 어디서 어떻게 설명해야 할지 모르겠습니다만, 간단하게만 설명드리자면, Arduino에서는 LED에 전류를 제한하는데 쓰이고, 풀업 저항에 쓰입니다.
************필요한 부품************
- Breadboard(소위 빵판이라고 불리지요, 만능기판이라고 하셔도 무방합니다.)
- 7805 레귤레이터
- 다이오드
- 콘덴서
- LED
- 저항
- PUSH버튼
- 크리스탈
- ATmega328
- 스위치(선택)
여기까지가 첫번째 포스트고, 다음 포스트부터는 이 부품들을 연결하는 방법을 서술해 보려고 합니다.
좋은 정보 얻어가셨으면 합니다.
'만져보는 임베디드 시스템 > 아두이노 하드웨어' 카테고리의 다른 글
DIY Arduino-(3)이론조립...i.USB 연결, 외부 클럭 (1) | 2020.08.29 |
---|---|
DIY Arduino-(2). 이론조립...i.ATmega328 핀 구조 및 전원, RESET회로 핀연결 (0) | 2020.08.29 |
아두이노, Arduino-(5). 아두이노 제작에 관하여 (0) | 2020.08.29 |
아두이노, Arduino-(4). 폰 노이만 구조와 하버드 구조의 비교(Von Neumann Architecture vs Havard Architecture) (0) | 2020.08.29 |
아두이노, Arduino-(3). 폰 노이만 구조 / 하버드 구조 (Von Neumann Architecture vs Havard Architecture) (1) | 2020.08.29 |