# 학습 준비

학습 준비

아두이노를 배우기 위해서 준비해야 할 내용들과 알아야 할 내용들에 대해서 살펴본다. 이 문서를 작성하기 위해 `Let's Play 아두이노 센서키트`라는 책과 위키백과를 참조하였다.

### 목표

* 아두이노가 무엇인지 이해한다.
* 아두이노 수업을 위해 필요한 항목들을 말할 수 있다.

### 아두이노란

`아두이노(Arduino)` 란 아두이노 사에서 제작된 싱글 보드를 기반으로 그와 호환되도록 만들어진 제품군을 말한다. 2005년 이탈리아에서 탄생하였으며, 누구나 쉽게 마이크로컨트롤러를 접할 수 있도록 제작된 전자기기이다. 작성한 프로그래밍 코드를 아두이노 보드에 탑재시켜 원하는 작업을 수행하도록 만드는 것이 목적이다. 성능은 좋은 편에 속하지 않지만 크기가 작고 통신이 가능하기 때문에 실생활에서 다양한 용도로 활용될 수 있는 특징을 가진다.

최근에는 다양한 싱글보드 컴퓨터들이 존재하며 각각의 특징들을 가지고 있다.

### 아두이노 주요 용어 설명

아두이노를 배우기 전에 주요 용어들에 대해서 살펴본다.

#### 아두이노 보드

아두이노 프로그래밍 코드가 구동되도록 만들어진 보드를 `아두이노 보드`라고 부른다. 기능이나 성능, 제조사, 가격대에 따라 다양한 성능 제품군들이 존재하며, 크게 정품 보드와 호환 보드로 분류할 수 있다.

![](https://4208234536-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M_TNZwLuHV9ipYLbvRq%2Fuploads%2F3D0Gz2aTs4RnPkvgqJfW%2Fimage.png?alt=media\&token=37d05d8d-2c7e-42bf-b9f6-d34a6227f6b6)

이 문서에서는 가장 많이 쓰이는 보드인 `아두이노 우노(UNO) R3` 버전을 사용한다.

#### 마이크로 컨트롤러(Microcontroller)

아두이노 보드에 내장되어 있으며 `두뇌`와 같은 역할을 수행하는 전자 부품이다. 이를 중심으로 아두이노 보드 위에 여러 전자부품들을 연결하여 원하는 작업을 처리할 수 있게 된다.

![](https://4208234536-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M_TNZwLuHV9ipYLbvRq%2Fuploads%2FeRqblPsV8HiXpGgCXY3j%2Fimage.png?alt=media\&token=b095d4ae-c992-4c47-85b7-9372ba235a69)

#### 오픈 소스(Open source)

[오픈 소스에 대한 위키 문서 보기](https://ko.wikipedia.org/wiki/%EC%98%A4%ED%94%88_%EC%86%8C%EC%8A%A4) 아두이노는 오픈소스 하드웨어이므로 누구나 하드웨어 소프트웨어 및 소스 코드 등을 제작, 수정, 유통할 수 있다. 따라서 많은 변형들이 존재하며, 각자 자신이 원하는 방향으로 발전시켜 이를 커뮤니티에 공유하며 시장을 키워나갈 수 있는 환경이다.

#### 프로그래밍(Programming)

프로그래밍이란 `프로그램을 만드는 과정`을 말한다. 프로그램은 `실행 가능한 파일 집단`을 말하는데, 프로그래머가 어떤 목적을 가지고 코드를 작성하여 만든다. 아두이노에서도 프로그래밍이 필요한데, 아두이노 통합 개발환경(IDE)를 설치하여 개발하고, 완성된 결과물을 아두이노 보드로 전송하여 실행하는 방식이다.

### 참조 사이트

* `아두이노 공식 홈페이지` : <https://www.arduino.cc/>
* `아두이노 온라인 가상 시뮬레이터` : <https://www.tinkercad.com/>
