3D프린터와 아두이노/아두이노

아두이노의 뜻과 보드 종류

메카럽 2020. 8. 18. 10:03

안녕하세요. 메카럽입니다.

이번 포스팅에서 다룰 내용은 요즘 코딩과 함께 핫하게 떠오르는 아두이노에 대해 알아보려고 합니다.

3D프린터를 능숙하게 다루시는 분들이라면 한 번쯤 내가 만든 3D프린터 출력품을 자동으로 움직이거나 다른 효과를 덧 붙이고 싶으신 분들이 있으실 것이라고 생각합니다. 저도 물론 그러한 호기심에 아두이노에 대해 관심을 갖게 되었습니다. 이번 포스팅부터 아두이노에 대해 자세하게 알아보는 시간을 갖도록 하겠습니다.

 

아두이노란?

아두이노 하드웨어와 개발 도구를 알아보도록 하겠습니다. 대개의 아두이노 서적들은 정품 아두이노 우노를 중심으로 설명하지만, 비용 문제로 정품을 사용하기 쉽지 않습니다. 이에 사용자들이 주로 사용할 저가의 중국산 우노와 나노 등을 위주로 설명하고, IDE 설치와 보드 연결 방법, 하드웨어 구성 등을 제시하려고 합니다. 또한, 중국산 호환보드를 사용하며 겪게 되는 문제(아두이노 연결, 전용 드라이버 설치 등)도 다루며, 초보자들이 겪는 진입장벽을 해소하고자 저가의 효율적인 구매 가이드를 함께 제시하도록 하겠습니다.

라이센스가 있는 하드웨어나 소프트웨어라면 당연히 정품 구입을 이야기 하겠지만, 아두이노는 오픈소스 하드웨어/소프트웨어입니다. 정품보드와 중국산 호환보드 간에 성능 차이가 거의 없다고 판단하며 초기 비용을 줄여주고자 하는 목적도 있으므로 호환보드 구입과 관련된 구매 가이드를 제시하였습니다. 정품보드보다 사용된 소자(크기 등)나 핀맵이 약간식 다를 수 있으나, 가격적인 이점에 비해 그리 중요한 문제는 아닙니다.

아두이노와 관련된 대부분 내용은 아두이노 웹사이트에서 다루고 있습니다.

그럼 조금 근본적인 질문을 던져보겠습니다. 아두이노는 어떻게 만들어 질까요?

아두이노의 하드웨어는 미국 Atmel사의 마이크로컨트롤러와 이 마이크로컨트롤러를 작동시키기 위한 주변회로 등을 구성하여 만든 보드입니다.

아두이노 하드웨어 구성

이 하드웨어에 C언어를 변형한 "스케치"란 이름의 소프트웨어를 탑재하여 누구라도 사용하기 쉽도록 구성하였습니다. 이런 하드웨어들은 개발하기 위한 개발 도구를 설정하는 것만도 상당한 지식이 요구되므로 이런 과정을 대폭 줄이고, 코드 또한 직관적인 C언어에 기반하고 있으므로 더욱 쉽게 작성할 수 있습니다. 아두이노 회로도 대로 하드웨어 제작, 조립이 끝나면, 아두이노 IDE와 스케치를 사용할 수 있도록 하는 과정을 거칩니다. PC에 윈도우 운영체제를 설치하는 것처럼, 아두이노 하드웨어에 아두이노 부트로더라는 소프트웨어를 설치하여 하드웨어, 소프트웨어 모두를 아두이노로 만들어 주면 완성됩니다. 아직 부트로더와 같은 단어는 매우 생소하므로 이런 절차가 있다는 정도로만 이해하시면 될 것 같습니다.

입문 단계 카테고리

위 그림은 아두이노 제품군을 나타낸 것으로 아두이노/제누이노로 브랜드를 구분하며 일괄적으로 제품군 정리를 하였습니다. 아두이노 우노와 101, 프로, 프로 미니, 마이크로 등 입문 단계부터, 쉴드를 적용하기 쉬운 메가와 제로 등의 모델, 그리고 사물 인터넷에 특화된 MKR1000 등, 웨어러블 디바이스를 위한 제품군으로 분류되어 있습니다.

입문 단계의 보드는 가장 대표적인 모델인 아두이노 우노부터 시작을 하며 근래에 추가된 아두이노101 모델은 32-bit 칩인 인텔 퀴리를 MCU로 사용하고, 블루투스 모듈과 가속도 센서, 자이로스코프를 보드에 내장하고 있습니다. ATmega 계열의 MCU를 사용하는 모델들과 차별되는 부분이며 아두이노 프로는 프로 미니와 같이 사용 전원에 따라 5V 모델과 3.3V 모델로 나뉘고 우노에 비해 구성이 간략한 편입니다. 아두이노 마이크로는 ATmega32U4를 MCU로 하며, 마이크로 USB를 내장하고 잇어 스케치 업로드가 쉬운 편이어서 예전의 아두이노 레오나르도와 유사한 구성입니다. 아두이노 프로 미니는 전원사양에 따라 5V 모델과 3.3V 모델로 나뉘며, PC와의 통신 칩을 제거하여 크기와 원가를 절감하였습니다. 이는 스케치 업로드 시 별도의 인터페이스 작업이 필요하다는 것을 의미합니다. 프로 미니는 33mm x 17.8mm 정도의 크기를 갖고 있어 실제 시제품 개발에 적합하나 결선을 위해 납땜이 필요하므로 우노 사용법을 충분히 숙지한 후 넘어가는 것이 좋겠습니다.

향상된 기능 카테고리

위 그림은 아두이노 메가와 제로, 그리고 쉴드를 나타낸 것으로 메가는 ATmega2560 MCU를 사용하여 ATmega328 기반의 보드보다 강력하고 다양한 I/O와 추가적인 기능들을 제공합니다. 가령 우노는 인터럽트 기능을 사용할 수 있는 핀이 2번, 3번 핀이지만, 메가는 2, 3, 18, 19, 20, 21번 핀까지 여섯 개를 활용할 수 있습니다. 스케치가 저장되는 플래시 메모리의 경우 우노는 23kByte인데 비해, 메가는 256kByte입니다. EEPROM 또한 우노는 1kByte인데 비해 메가는 4kByte로 기본적인 성능에서의 차이가 확연합니다. 또한, 아두이노는 Wi-Fi쉴드, Ethernet 쉴드, GPS 쉴드, Xbee 쉴드, 블루투스 쉴드 등 성능 확장을 위한 다양한 목적의 다양한 쉴드를 사용하여 해당 기술을 적용할 수 있습니다.

사물인터넷 카테고리

위 그림은 사물 인터넷 애플리커이션 적용을 위한 목적의 보드와 쉴드입니다. 아두이노 MKR1000은 32-bit SAMD21 Cortex-M0 칩을 사용하며 3.3V 전원을 사용합니다. Wi-Fi 쉴드와 함께 사용하여 다양한 사물 인터넷 애플리케이션에 적용될 수 있습니다.

웨어러블 카테고리

위 그림은 웨어러블 개념을 갖는 디바이스에 적용 가능한 보드들로, 바느질이나 단추 등으로 옷감을 부착할 수 있도록 구성된 릴리 패드 보드로 구성되어 있습니다.

모든 보드를 다루면 좋겠지만 시제품 제작에 초점을 맞추기 위해 아두이노 우노와 프로 미니, 메가 등 몇 가지 모델로 한정하여 다루고자 합니다. 아두이노 우노, 프로 미니를 중심으로 다룰 예정이며, 이들이 다른 보드들과 크게 다릊 않으므로 적절히 활용할 수 있을 것으로 생각합니다.

다음 포스팅에서는 아두이노의 하드웨어적인 부분들에 대해 포스팅 해보도록 하겠습니다.

더운 날씨와 코로나로 인해 몸이 지치고 힘든 나날이 계속 되지만 조금만 더 힘내시고 하루하루 행복한 날들이 되시길 바라며 포스팅을 마치겠습니다.

728x90