
아두이노는 관련 개발 입문자에게 하여금 가장 처음으로 다뤄보는 하드웨어 중 하나이다.
그만큼 설치가 간단하고, 하드웨어 조작도 간단한 편이다.
라즈베리파이와의 차이점은 대표적으로 OS의 유무라고 할수 있다.
라즈베리파이는 기본적으로 라즈비안이라는 공식 기본 OS가 탑재되어 있으나,
아두이노는 OS가 없으며, OS를 넣을만한 메모리 및 성능을 지니고 있지도 않다.
그러면 어째서 아두이노를 쓰는걸까?
그 이유는 목적의 차이에 있다.
일단 아두이노는 OS 없이 코드를 내장 플래시메모리에 저장시키기 때문에
중간에 무조건 OS를 거쳐야하는 라즈베리파이보다 속도와 안정성 면에서 월등히 뛰어나다.
센서와 같이 즉각적인 반응을 요하는 작업, 즉 실시간 작업에 특성화된 것이 바로 아두이노 인것.
하드웨어 성능이 그리 높지 않기에 가격이 싸기도 하여 대량으로 구매 및 다양한 현장에 사용이 가능하다.


아두이노의 기본 동작 이론을 살펴보자면, 기본적으로 Arduino IDE를 통해 코딩이 이루어지고,
작성한 코드는 컴파일되어 아두이노 보드의 플래시 메모리에 업로드된다.
컴파일러는 C 기반이고, 거기에다가 아두이노 전용 라이브러리를 덧붙인 형태이다.

기본적으로 setup() 함수와 loop() 함수가 선언되어 있다.
setup 함수의 코드들은 부팅 후 1회에 한하여 실행되고,
loop 함수의 코드는 부팅 후 계속 무한 반복한다. 파이썬으로 치면 while True.
이 외에도 다양한 내장 라이브러리 함수가 있으며 앞으로 계속 하나하나 열거해가며 설명해보고자 한다.

