아두이노

아두이노를 이용한 LED 제어

디다새 2021. 5. 13. 22:05

아두이노란?

2005년 이탈리아의 IDII(Interaction Design Institutelvera)에서 하드웨어에 익숙하지 않은 학생들이 자신들의 디자인 작품을 손쉽게 제어할 수 있게 하려고 고안되었다.

아두이노는 오픈 소스를 기반으로 한 단일 보드 마이크로 컨트롤러로 완성된 보드(상품)관련 개발 도구 및 환경을 말한다.

아두이노는 다수의 스위치나 센서로부터 값을 받아들여, LED나 모터와 같은 외부 전자 장치들을 통제함으로써 환경과 상호작용이 가능한 물건을 만들어 낼 수 있다.

아두이노 장점

마이크로 컨트롤러를 쉽게 동작 시킬 수 있다.

   - 일반적으로 AVR 프로그래밍이 AVRStudioWinAVR의 결합으로 컴파일하거나 IAR E.W.나 코드비전(CodeVision)등으로 개발하여, 별도의 ISP 장치를 통해 업로드를 해야하는 번거로운 과정을 거쳐야 한다.

   - 이에 비해 아두이노는 컴파일된 펌웨어를 USB를 통해 쉽게 업로드 할 수 있다.

다른 모듈에 비해 비교적 저렴하고, 윈도를 비롯해 맥 OS X, 리눅스와 같은 여러 OS를 모두 지원한다.

아두이노 보드의 회로도가 CCL에 따라 공개되어 있으므로, 누구나 직접 보드를 만들고 수정할 수 있다.

아두이노 통합개발환경(IDE)

 

아두이노 프로그래밍

아두이노 통합개발환경을 통해서 또는 다른 에디터를 이용해 작성한, 아두이노 보드 동작을 위한 코드 파일을 스케치 파일이라고 한다.

 

스케치 파일은 두 개의 함수로 구성된다.

   - setup()

   - loop()

 

setup() 함수

스케치가 시작되면 호출되고 아두이노 보드의 파워 업 또는 리셋 후 한 번 실행되며 프로그램에 필요한 변수나 핀 모드의 초기화 라이브러리를 사용하여 핀을 초기화 하는데 사용된다.

 

loop() 함수

이름이 시사하는 바와 같이 연속적이고 반복적으로 실행되면서 프로그램 변경 및 응답을 통해 적극적으로 아두이노 보드를 제어하는데 사용한다.

 

• 아두이노는 기본적으로 C언어의 문법을 따르지만 C언어와는 다른 구조를 갖고 있다.

 

아두이노 디지털 I/O 제어

아두이노 보드의 디지털 핀을 제어하기위한 함수 3가지

   - pinMode()

   - digitalWrite()

   - digitalRead()

 

아두이노 시뮬레이션 (tinkercad)

 

Tinkercad 시뮬레이션 결과