본문 바로가기
카테고리 없음

아두이노(Arduino)의 시작( 아두이노의 기본 시작과 구성)

by 드린이 2023. 2. 10.

안녕하세요!! 드린이입니다 ::))

오늘은 제가 최근에 공부 하게된  아두이노(Arduino)에 대한 내용을 포스팅하겠습니다. 아두이노(Arduino)는 프로그램 혹은 컴퓨터를 전공하지 않은 사람들도 비교적 쉽게 접근할 수 있는 코딩입니다. 아두이노(Arduino)에 관심이 있으신 분들은 천천히 따라와 주시면 잘 이해가 될 듯합니다.


아두이노(Arduino)는 best friend라는 뜻으로 strong friend 즉 ‘믿음직한 친구’,  ‘절친’을 의미하며 이탈리아에서 남자 이름으로 자주 쓰이고 있는 단어이지만, 보드의 이름으로 지정한 것은 ‘Arduino of Ivrea'라는 프로젝트 명으로 11세기 초 이브레아(Ivrea) 지역 왕의 이름을 가져와서 보드의 브랜드명으로 지정한 것이라고 한다.


아두이노(Arduino)의 구성 요소

아두이노(Arduino)의 구성 요소는 크게 Atmel 사의 MCU가 내장된 Hardware Board, AVR 기반의 라이브러리 그리고 개발 도구(Tool)의 세 가지로 구분할 수 있다.

다양한 아두이노(Arduino) 보드

Hardware

Atmel사의 AVR 8비트, 32비트 Microcontroller와 USB 커넥터, 입출력 핀들로 구성되어 있으며, 초기에는 8비트 AVR인 ATmel16, 32, 256등으로 개발이 되었고 최근 들어서는 32비트 ARM Cortex-M3 코어의 제품도 개발이 되고 있다. 또, 아두이노(Arduino)는 USB 커넥터를 통해서 개발 PC와 연결이 되며 별도의 추가 장비 없이 개발 PC에서 작성한 프로그램을 보드의 플래시 메모리에 로드할 수 있어 일반 임베디드 프로그래밍의 프로그램 로딩의 복잡한 과정 및 추가 장비가 필요 없이 쉽게 개발할 수 있는 장점이 있다.

아두이노(Arduino)의 대표적인 UNO보드

 

Software

스케치(Sketch)라는 이름의 IDE는 아두이노(Arduino) 공식 사이트 arduino.cc에서 다운로드할 수 있다.  프로그램 개발, 컴파일, 업로드, 시리얼 통신 기능까지 제공이 된다. 이 툴 하나로 개발에 필요한 모든 것이 가능하다. 구버전과 달리 1.6.0 버전 이후 버전부터는 보드 종류와 상관없이 사용이 가능하며 IDE는 개발 PC의 운영체제에 맞게 다운로드하여 압축만 해제하면 바로 사용이 가능하다.

 

Library

라이브러리 폴더

대부분의 보드에서 사용하는 공통된 기능에 대해서는 라이브러리를 제공하고 있으며 이것을 표준 라이브러리라 한다. 라이브러리의 위치는 Sketch IDE를 다운받은 폴더 내에 libraries 폴더이며, 종류는 13개 표준 라이브러리와 보드 종류별 라이브러리를 제공한다.


스케치(Sketch)?

아두이노 공식 홈페이지( www.arduino.cc )

스케치(Sketch)는 아두이노 플랫폼에서 동작하는 프로그램 코드를 작성하고 코드를 아두이노 플랫폼 장비에 업로드할 수 있는 기능을 제공하는 통합개발환경(IDE)이다. 스케치(Sketch)는 아두이노 공식 홈페이지( www.arduino.cc )에 접속 후 다운로드 및 설치가 가능하다.

 

통합개발환경(IDE)

IDE의 기능

통합개발환경(IDE)의 툴바와 아이콘은 아주 심플하기 짝이 없다. 
- 확인 : 컴파일 과정을 통해 코드의 이상 유무 확인
- 업로드 : 코드 확인 후 이상이 없을 시 보드에 코드를 업로드
- 툴 : 포트 및 연결 보드 설정
- 시리얼 모니터 : 컴퓨터와 아두이노 간에 시리얼 통신으로 아두이노의 상태를 모니터로 확인
- 코드 입력창 : 명령어를 입력하여 프로그램을 만들기 위한 화면


코드의 구조

아두이노(Arduino) 프로그램은 void setup()과 void loop()로 구분되어 있다. void setup()은 마치 초기설정으로 프로그램의 수행에 있어 초기에 한 번만 수행하는 것들을 작성한다. 예를 들면 어떤 핀을 입력으로, 어떤 핀을 출력으로 사용할지를 결정하는 코드들이 주를 이룬다. void loop()는 실제 프로그램이 수행해야 할 내용들을 작성한다. 주로 반복문, 조건문 등의 코드들이 주를 이룬다.

코드의 기본 구성

기본요소

아두이노(Arduino) 프로그램의 기본 요소를 살펴보면 아래와 같다.
- 명령어 : 길거나 짧은 모든 프로그래밍 언어를 지칭
- 중괄호( { } ) : 함수 혹은 여러 명령을 하나로 묶기 위해 사용
- 세미콜론 ( ; ) : 명령의 끝을 나타난다. 마치 문장의 마침표 같은 역할
- 대, 소문자 : 대문자와 소문자를 구분하지 않을 경우 오류가 발생하므로 반드시 대문자 소문자를 구분하여야 한다.
- 주석 : 코드에 대한 메모를 적을 때 사용하며, 프로그램에는 영향이 없다. //는 한 줄 주석 /*메모*/는 여러 줄 주석

 

PC 통신

아두이노(Arduino)와 PC 간에는 시리얼(Serial) 통신을 한다. USB 케이블을 통해 아두이노(Arduino) 보드와 연결 시 시리얼(Serial) 통신을 하며, IDE 내에서 시리얼 모니터 가능하다. 참고로 Serial(직렬) 통신은 데이터를 한 개씩 단시간에 전달하는 방식이며, Parallel(병렬) 통신은 여러 개의 데이터를 한 번에 장시간에 전달하는 방식이다.

시리얼 통신과 페러럴 통신


오늘은 본격적인 아두이노(Arduino) 코딩을 하기 전에 기본 단계로 아두이노(Arduino)에 대해서 살짝 알아보았습니다. 다음 포스팅부터는 간단한 예제를 시작으로 우리 모두 아두이노(Arduino) 전문가가 되는 그날까지 열심히 포스팅할 것을 약속드리며 오늘의 포스팅을 마치도록 하겠습니다.


감사합니다::))