IoT는 Internet of Things의 약자로 사물인터넷을 말합니다.
예를들어 스마트워치, 스마트홈 등이 있습니다.
아두이노는 IoT에서 사용되는 오픈소스 마이크로 컨트롤 플랫폼입니다.
아두이노의 종류로는 기본적으로 쓰이는 Uno, 더 작은버전인 Nano, 게임에서 사용되는 Leonardo, 큰 프로젝트 개발에 사용되는 Mega, 성능이 좋은 Due가 있습니다.

아두이노 Uno는 기본적으로 이렇게 생겼습니다.
검은색은 전선을 꽂을 수 있는 핀들이고, 핀 번호들이 있습니다.
여기서 VCC는 (+)이고, GND는 (-)입니다.
그리고 아두이노에서 켜짐은 1 또는 HIGH로 표시하고, 꺼짐은 0 또는 LOW로 표시하고, 아날로그는 0부터 1023까지입니다.
이제 아두이노와 함께 사용하는 주요 부품들을 설명하겠습니다.

위 사진은 점퍼케이블로, 암핀과 수핀이 있으며 서로 다른 부품을 연결할때 사용합니다.

이 사진은 브레드보드이고, 흔히 빵판이라고도 불립니다.
빵판을 사용하면 부품들을 쉽게 꽂아서 사용할 수 있습니다.

이 사진은 저항으로, 전기가 흐르지 않도록 조절하는 역할을 합니다.
만약 저항을 사용하지 않고, LED를 사용한다면, 고장나게 되기 때문에 중요한 부품중 하나입니다.
이제 저항과 함께 자주 사용하는 LED를 설명하겠습니다.

LED는 아두이노에서 많이 사용되며, 전기가 흐르면 빛을 내는 부품입니다.
긴다리가 (+), 짧은 다리가 (-)입니다.
만약 다리길이가 비슷해서 구분이 안된다면, LED 안쪽에 있는 삼각형으로 구분할 수 있습니다.
그럼 이제 LED를 켜기 위해 필요한 전류와 전압에 대해 설명하겠습니다.
전류는 전기가 흐르는 양을 나타냅니다.
기호는 I이고, 단위는 A(암페어)이며 암페어라고 읽습니다.
전압은 전기가 흐르게 하는 힘입니다.
기호는 V이고, 단위도 V(볼트)를 사용하며 볼트라고 읽습니다.
이제 아두이노를 제어하기 위해 사용하는 프로그램인 아두이노 IDE에 대해 설명하겠습니다.
아두이노 IDE는 C언어 문법을 기반으로 만들어졌으며, 아두이노 코드를 작성하고 실행하는 프로그램입니다.\
사용하기 위해선 아두이노 본체와 컴퓨터를 연결해야합니다.

그 후, 코드를 입력한 뒤, 화살표를 눌러 실행결과를 확인할 수 있습니다.

아두이노는 C언어처럼 변수 선언을 할 수 있습니다.

그러나 void setup, void loop 바깥에서 선언을 해줘야합니다.
여기서, void setup은 아두이노가 실행될때 한번만 실행되는 부분이고, void loop는 끝날때까지 반복실행되는 부분입니다.
이제 아두이노에서 사용되는 명령어에 대해 설명해보겠습니다.

첫번째로, pinMode가 있습니다.
pinMode는 아두이노의 핀의 역할을 입력으로 설정할지, 출력으로 설정할지 정할때 사용됩니다.
pinMode(<핀 번호>, INPUT 또는 OUTPUT); 와 같이 사용할 수 있습니다.

두번째로는, digitalWrite가 있습니다.
digitalWrite는 아두이노 핀에 켜짐(HIGH) 또는 꺼짐(LOW) 신호를 보낼 때 사용됩니다.
digitalWrite(<핀 번호>, HIGH 또는 LOW); 와 같이 사용할 수 있습니다.

마지막으로, delay가 있습니다.
delay는 코드를 잠시 지연되게 하는 명령어입니다.
숫자 1000당 1초이기 때문에, 제가 위 사진에 입력한 지연시간은 2.026초라고 할 수 있습니다.
delay(숫자); 와 같이 사용할 수 있습니다.
=====실습=====
5개의 LED가 1초마다 번갈아가며 켜지게 만들었습니다.
실행 결과는 이렇습니다.

