대학교 캡스톤 디자인

아두이노란 무엇일까?

동준1234 2024. 10. 18. 20:04

1. 아두이노가 뭐임?

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

다수의 스위치나 센서로부터 값을 받아들여, LED나 모터와 같은 외부 전자 장치들을 통제함으로써,

환경과 상호작용이 가능한 물건을 만들어 낼 수 있다.

임베디드 시스템 중의 하나로 쉽게 개발할 수 있는 환경을 이용하여, 장치를 제어할 수 있다.

임베디드 시스템은 기계나 기타 제어가 필요한 시스템에 대해, 제어를 위한 특정 기능을 수행하는 컴퓨터 시스템으로 장치 내에 존재하는 전자 시스템이다. 즉, 임베디드 시스템은 전체 장치의 일부분으로 구성되며 제어가 필요한 시스템을 위한 두뇌 역할을 하는 특정 목적의 컴퓨터 시스템이다.

이 놈의 장점은 통합 개발환경(IDE)를 제공하고, 소프트웨어 개발과 실행코드 업로드도 제공한다.

또한 어도비 플래시등과 같은 소프트웨어와 연동할 수 있다.

위에 적었듯이 오픈소스이기 때문에 아두이노를 기반으로 한 여러가지 프로젝트도 수행 가능하다.

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

컴파일된 펌웨어를 USB를 통해 쉽게 업로드 할 수 있으며, 윈도우를 포함한 맥 OS , 리눅스와 같은 여러 OS 를 모두 지원하기도 하다. 그리고 가격이 정말 정말 저렴하다.. 다른 모듈과 비교했을 때 ..

2. 소프트웨어

아두이노의 통합개발 환경(IDE)는 자바외 C를 기반으로 개발되는크로스 플랫폼 응용 소프트웨어 이며, 구문 강조, 괄호 찾기, 자동 들여쓰기 기능이 포함된 에디터와 한 번의 클릭으로 컴파일과 업로드가 가능한 컴파일러 기능을 포함하고 있다.

아두이노는 동작을 위해서 C++ 언어 기반을 사용한다. 이를 보드에 업로드 하면 아두이노가 동작한다.

아두이노 업로드는 플레시 메모리에 써지므로 다음 부터는 전원만 인가하면 동작한다.

3. 아두이노 통합 개발 환경

아두이노 통합환경은 편집기, 컴파일러, 업로드 등이 합쳐진 환경이다. 이와 더불어 기타 개발에 필요한 각종 옵션 및 라이브러리 관리를 할 수 있다. 실행 시, 개인용 컴퓨터와 시리얼 통신을 할 수 있는 모니터를 제공한다. 보통 USB 를 통해 업로드를 하므로 아두이노 보드는 USB를 UART 통신으로 바꾸는 방법이 제공되고, MCU가 실행할 때 이 UART 통신을 이용하여 필요한 통신을 할 수 있다.

  • 편집기 : UTF-8을 기반으로 하는 편집기이다.
  • 컴파일러 : ATmega의 경우, AVR-GCC을 이용하여 컴파일 한다.
  • 업로드 : USB-UART 변환을 하고, MCU의 부트로더가 동작하여 기계어 코드가 업로드 된다.
  • 라이브러리 관리 : 등록 된 라이브러리 목록 및 예제를 지원한다. 공개된 아두이노 라이브러리 찾아 파일을 받아 등록하면 초기에 장착되지 않은 각종 라이브러리를 등록 사용할 수 있다. 라이브러리 관리 프로그램도 검색 기능과 등록 기능을 제공한다.
  • 기타 옵션

USB가 없는 아두이노 보드는 USB-시리얼 변환 모듈을 별도 구매하여 연결할 수 있다.