-
-
ARM Cortex-M 기반의 아두이노 프로그래밍 - 사물인터넷과 인공지능을 위한 32비트 아두이노 사용 가이드
허경용 지음 / 제이펍 / 2023년 5월
평점 :
이번에 읽은 책은 ARM Cortex-M 기반의 아두이노 프로그래밍(제이펍, 2023)입니다.
ARM 기반의 아두이노 기초부터 고급까지,
[ARM Cortex-M 기반의 아두이노 프로그래밍]이면 됩니다!

이 책을 읽은 이유
ARM 기반 아두이노를 배우면 산업적인 관점과 고급 기능을 다룰 수 있으며, 더 복잡하고 성능이 요구되는 프로젝트를 수행할 수 있습니다. 또한 ARM 기반 아두이노는 산업 표준으로 사용되므로 산업 분야에서 활용할 수 있는 역량을 갖출 수 있습니다. 아두이노의 실용적인 접근 방식은 전자 및 프로그래밍 개념에 대한 이해를 향상하고자 이 책을 읽었습니다.
책 소개
1장부터 3장까지는 아두이노 보드, 아두이노 제로 보드에 대한 설명입니다.
4장은 IDE에 대해 설명하며, IDE 2.x에서 추가되거나 달라진 부분을 설명합니다.
5장부터는 실습입니다.
5장에서는 시리얼 통신 중에서도 가장 오래된 UART으로 시리얼 통신을 실습합니다. 6장은 String 클래스를 학습합니다. 메모리를 자동으로 관리해 주고 다양한 함수를 제공합니다.
7장과 8장은 아날로그·디지털 데이터 입출력입니다.
9장과 10장은 시리얼 통신인 SPI, I2C 통신입니다. SPI 통신을 이용하여 OLED 디스플레이에 문자와 도형을 표현합니다. 연결과 제어가 간단한 I2C 통신으로 LCD 디스플레이에 문자를 표현합니다.
11장, 12장은 USB 통신에 대해 배웁니다. 11장은 아두이노 보드가 주변장치로, 12장은 아두이노 보드가 호스트로 작동합니다. 13장은 아두이노 제로 보드의 특징인 EEPROM 에뮬레이션의 사용방법을 배웁니다. 14장은 아두이노에서 날짜를 시간을 유지하기 위한 실시간 카운터와 시계를 실습합니다.
15장은 온습도 센서의 데이터를 SD 카드에 저장합니다. 아두이노 MKR 제로에는 SD 카드 모듈이 포함되어 있습니다.
16장부터는 아두이노 나노 33 IoT를 이용하여 관성 측정 장치, 18장은 블루투스, 19장은 와이파이를 실습합니다. 17장은 모터에 대해서 학습합니다. DC 모터, 서브 모터, 스테핑 모터에 대해 알아보고 제어하는 방법을 익힙니다.
아두이노란?
아두이노는 마이크로컨트롤러 보드로, 마이크로 컨트롤러란 하나의 칩에 중앙 처리 장치(CPU) 뿐만 아니라 일정 용량의 메모리와 입출력 인터페이스까지 내장했습니다. 마이크로 컨트롤러는 마이크로컴퓨터, 싱글 칩 컴퓨터라고도 불립니다. 이와 비교되는 마이크로프로세서는 마이크로 컨트롤러보다 더 범용적으로 쓰이며, 마이크로 컨트롤러의 경우 하드웨어 제어용으로 간편하게 사용합니다. 아두이노가 마이크로 컨트롤러를 대표한다면 라즈베리파이는 마이크로프로세서를 대표합니다.
아두이노의 특장점 중 하나는 아두이노 함수와 라이브러리로 인해 다양한 기능을 가진 아두이노 보드들의 확장성을 높였습니다.
기존의 AVR에서 ARM으로의 변화
아두이노를 포함한 마이크로 컨트롤러의 활용 분야가 넓어지면서 높은 사양의 아두이노 보드에 대한 수요가 증가하고, 이에 따라 ARM의 Cortex-M 시리즈 마이크로 컨트롤러를 사용한 아두이노 보드가 출시되었습니다. 주의할 점으로는 아두이노 제로를 사용할 때는 3.3V의 전원을 사용해야 합니다.
아두이노 제로, 아두이노 MKR 제로, 아두이노 나노 33 IoT
아두이노 제로는 아두이노 우노의 상위 호환입니다. 아두이노 우노와 모양이 같고 디버깅 기능을 지원합니다. 하지만 성능이 좋은 만큼 우노보다 가격이 비쌉니다.
아두이노 MKR 제로는 아두이노 제로에 비해 무선 통신 기능이 추가된 다양한 모델로 판매되고 있으며, 제공하는 기능 면에서는 큰 차이가 없습니다.
아두이노 나노 33 IoT는 아두이노 보드 중 가장 작은 크기로 와이파이 기능, 블루투스 기능, 6축 관성 측정 장치를 내장하고 있어 사물인터넷(IoT) 공부에 제격입니다. 세 가지 보드 모두 각자의 특성이 다르니 잘 확인하시고 구매하시길 바랍니다.
아두이노 IDE 2.x에서 추가된 특징
첫째는 디버깅 기능입니다. 아두이노 제로 보드 이외의 아두이노 보드에서는 디버깅을 위한 전용 장치가 필요합니다.
둘째, 세로 툴바가 추가됐습니다. 스케치 관리, 보드 관리, 라이브러리 관리같이 자주 쓰이는 기능을 좀 더 편하게 사용할 수 있습니다.
셋째는 아두이노 클라우드의 지원입니다. 클라우드 동기화를 통해 언제 어디서든 스케치 작업이 가능합니다. 마지막으로는 테마 설정이 가능합니다. 개발자들이 많이 사용하는 다크 테마를 지원합니다.
기존 서적과의 차이
기존 AVR 기반의 아두이노 보드와 ARM 기반의 차이점을 자세하게 설명합니다.
보드의 핀맵과 주변 장치의 연결을 그림으로 쉽게 알려줍니다.
아두이노 제로 보드뿐만 아니라 아두이노 MKR 제로, 아두이노 나노 33 IoT로 다양한 실습을 합니다.
추천 독자
아두이노 기본(예: 아두이노 바이블)을 공부하고 다음 단계를 공부하고 싶은 사람
기존의 8비트에서 32비트로 고성능의 아두이노를 공부하고 싶은 사람
ARM 기반 보드 공부를 시작하시는 분
아두이노 IDE의 2.x의 사용법을 익히고 싶은 사람
느낀점
장점으로는 ARM 기반 32비트 아두이노로 모터와 같은 각종 디바이스 컨트롤을 배울 수 있고, 블루투스와 와이파이 같은 통신 기술도 배울 수 있어 좋았습니다.
평소에 TCP와 같은 네트워크에 대한 지식이 부족하였는데 이 책으로 실습과 학습을 해서 좋았습니다.
마이크로컨트롤러와 이를 사용하여 만들어진 여러 가지 아두이노 보드가 지닌 하드웨어 측면의 특징과 차이점을 알려줘서 아키텍처에 관하여 공부할 수 있었습니다.
보다 강력한 성능과 디버깅이 가능한 아두이노 제로로 아두이노의 다양한 플랫폼 확장성을 기대해 봅니다.
아쉬운 점으로는 이 책을 따라 하는 데 필요한 부품들을 구입할 수 있는 링크가 있었다면 좋았을 것 같습니다. 초보자의 경우 막막한 부분이 있습니다.
컬러 사진이었으면 더 이해하기가 좋았을 것 같습니다.
본 서평은 출판사로부터 제공 받아 작성된 서평입니다.