빌노트의 노트
아트멜 스튜디오와 아두이노로 배우는 ATmega328 프로그래밍 책 리뷰 (마이크로컨트롤러 공부) 본문
아두이노(Arduino)라는 것은 알고 사용한지 좀 됐지만 항상 뭔가 아쉬운 기분이었습니다. 컴퓨터를 잘 모르는 비전공자들이 아두이노를 쉽게 프로그래밍하고 사용할 수 있게 하는 건 좋지만, 전공자로서 복잡한 내용을 너무 많이 추상화시켜 놓은 것은 조금 불만이라면 불만이었죠. 아두이노로 더 복잡한 프로그래밍을 하거나 최적화를 하기 위해서는 더 많은 노력을 해야 하는(즉 어려운) 것이 아두이노 스케치 프로그래밍이구나 생각하던 중 이 책 '아트멜 스튜디오와 아두이노로 배우는 ATmega328 프로그래밍'을 읽게 되었습니다. 아두이노와 ATmega328 마이크로컨트롤러, 아두이노 스케치 프로그래밍과 아트멜 스튜디오(Atmel Studio) C언어 프로그래밍을 비교해가며 공부할 수 있는 책으로 딱 필요한 시점에 읽어보게 된 것 같습니다.
아트멜 스튜디오와 아두이노로 배우는 ATmega328 프로그래밍
이 책은 크게 ATmega328 준비, 시작, 활용 이렇게 3부분으로 나누고 있는데, 개인적으로 준비단계의 설명이 참 마음에 들었습니다. 단순 아두이노만 공부를 했을 때는 전혀 알 수 없었던 내용을 쉽고 자세하게 설명해주거든요. 특히 메모리, 레지스터에 대한 내용은 보통 아두이노 책에서는 살펴보기 힘든데, 이 책에서 매우 자세하게 다루고 있어서 좋았습니다. 이 부분을 읽고 나니 아두이노라는 블랙박스의 내부가 어떻게 생겨먹은 것인지 제대로 파악할 수 있었네요. (타이머, 인터럽트 등에 대한 설명도 잘 나와 있습니다.)
아두이노 책을 보다보면 타이머 등 무슨 기능을 사용하기 위해서는 그냥 라이브러리를 땡겨 써라고만 나와 있어 조금 아쉬웠는데, 마이크로컨트롤러 C언어 코드를 보면 이러한 라이브러리가 어떤 방식으로 구현이 되어 있을지 짐작할 수 있습니다.
ATmega328 마이크로컨트롤러를 공부했다고, 컴퓨터 전공자라고, 편리하게 사용하라고 만들어 놓은 아두이노를 거부할 필요는 없습니다. 하지만 마이크로컨트롤로 중심의 C언어 프로그램을 해봤다는 것은 개발자로서 엄청난 옵션이 생긴 것만은 사실이라고 해야겠네요. 아두이노로 뚝딱 만들 수 있다면 그렇게 만들면 되고, 아두이노로 개발했을 때 더 복잡해지는 코드는 ATmega328 마이크로컨트롤러에 직접 C언어 프로그래밍하면 끝. 컴퓨터 관련 전공자라면 아두이노에만 만족하지 말고 마이크로컨트롤러까지 꼼꼼하게 공부를 해보는 것이 좋을 것 같습니다. (컴퓨터공학과 대학 실습교제로 사용하기에 딱 좋을 것 같네요.) '아트멜 스튜디오와 아두이노로 배우는 ATmega328 프로그래밍'은 딱딱한 IT기술분야 책임에도 불구하고 책이 아주 매끄럽게 읽혀져서 기분이 좋았습니다!