C/C++ 언어 기반에서 WiringPi 라이브러리를 이용하여 아두이노 코딩처럼 라즈베리 파이 코딩으로 하드웨어 제어하자!
이 책은 C/C++ 언어 기반으로 wiringPi 라이브러리를 이용하여 여러 가지 하드웨어를 제어하는 방법을 소개하였습니다.
이 책은 아두이노를 배운 독자들이 파이썬을 몰라도 손쉽게 라즈베리 파이를 정복할 수 있도록 구성하였습니다. 아두이노 함수를 바탕으로 만들어진 wiringPi 라이브러리를 이용하여 아두이노 코딩 방식으로 라즈베리 파이로 하드웨어드를 제어할 수 있습니다. 하드웨어를 제어하는 방법 외에도 쓰레드와 메시지 큐의 사용법을 소개하고 있습니다. 라즈베리 파이는 리눅스 운영체제 바탕의 개발 환경이기 때문에 쓰레드와 메시지 큐를 통해 프로그램을 구성할 수 있는 장점을 제공합니다. 쓰레드와 메시지 큐를 이용하면 큰 프로젝트를 효율적으로 구성할 수 있습니다.
이 책에서는 외부 디바이스를 장착하여 라즈베리 파이의 기능을 확장하는 방법, L9110S DC 모터 드라이버 모듈을 이용하여 DC 모터를 제어할 수 있는 방법, HM10 블루투스 모듈 을 이용하여 라즈베리 파이의 시리얼 모듈을 이용한 통신 방법, MCP3208 ADC 모듈을 이용하여 센서 입력을 받을 수 있는 방법, PCA9685 PWM 드라이버를 이용하여 서보모터, 부저, BLDC 모터를 제어할 수 있는 방법, MPU6050 자이로 센서 모듈을 이용하여 기울기를 측정할 수 있는 방법 등을 설명하였습니다.
이 책을 읽은 후 자율 주행 버스, 견마 로봇, 균형 로봇, 드론 등 4가지 프로젝트를 독자 스스로 진행해 볼 수 있도록 구조물 구성법과 회로 구성법을 설명하였습니다. 코드에 대한 작성은 책에서 소개한 여러 가지 방법을 이용하여 스스로 해결할 수 있는 참고 가이드를 제공하고 있습니다. 또한 책에서 배운 내용을 토대로 단위 입출력 연결, 사용자 입력 다중 출력 연결, 다중 입력 다중 출력, 쓰레드로 다중 주기 및 다중 입력 다중 출력 처리 등 다양한 입출력 함수 조합 과제를 수행해 볼 수 있는 다양한 도전 과제들을 제공하고 있습니다.
이 책은 C/C++ 언어 기반의 라즈베리 파이 교육을 진행하는 대학의 교재용 또는 독학용으로 구성되었습니다. 아두이노를 배운 독자 중 파이썬을 배우지 않고도 바로 라즈베리 파이 기능을 습득할 수 있도록 wiringPi 함수로 접근하였습니다. 또한 wiringPi 함수 설명 과정에서 C/C++ 함수와 매치되는 파이썬 함수를 스페셜 페이지에 별도로 설명하여 파이썬으로 라즈베리 파이를 수업하는 대학에서도 쉽게 사용할 수 있도록 구성하였습니다.
wiringPi 라이브러리를 이용하여 아두이노 코딩처럼 배우는 라즈베리 파이 코딩북!
이 책은 크게 다음 3가지 내용이 담겨 있습니다.
- wiringPi 라이브러리를 이용하여 하드웨어를 제어하기
- 외부 디바이스를 장착하여 라즈베리 파이 기능 확장하기
- 자율 주행 버스, 견마 로봇, 균형 로봇, 드론 프로젝트 구성하기
이 책의 주요 내용은 다음과 같습니다.
Chapter 01 라즈베리 파이 준비하기
이 장에서는 라즈베리 파이가 무엇인지 알아봅니다. 또한 라즈베리 파이로 무엇을 할 수 있는지 살펴보고, 라즈 베리 파이로 개발하기 위한 환경 구성을 합니다. 또한 라즈베리 파이를 C/C++ 아두이노 코딩하는 느낌으로 아두이노에서 유래한 WiringPi 함수를 살펴봅니다
Chapter 02 WiringPi 함수 살펴보기
이 장에서는 WiringPi에서 제공하는 함수 사용 방법을 화면 출력, LED 출력, 부저 출력, 서보 출력, 키보드 입력, 버튼 입력 프로그램 작성법으로 익혀봅니다.
Chapter 03 입출력 함수 조합하기
이 장에서는 입력과 출력을 연결하는 프로그램을 혼자서 직접 작성해 봄으로써 하드웨어 입출력 프로그래밍 실력을 가늠하고 향상시켜 봅니다.
Chapter 04 외부 디바이스 붙이기
L9110S DC 모터 드라이버 모듈을 이용하여 DC 모터를 제어할 수 있는 방법, HM10 블루투스 모듈을 이용하여 라즈베리파이의 시리얼 모듈을 이용한 통신 방법, MCP3208 ADC 모듈을 이용하여 센서 입력을 받을 수 있는 방법, PCA9685 PWM 드라이버를 소개하여 서보모터, 부저, BLDC 모터를 제어할 수 있는 방법, MPU6050 자이로 센서 모듈을 이용하여 기울어진 정도를 측정할 수 있는 방법을 소개하고 있습니다.
Chapter 05 프로젝트 구상하기
이 장에서는 책에서 배운 내용을 토대로 자율 주행 버스, 견마 로봇, 균형 로봇, 라즈베리 파이 드론 등 총 4개 프로젝트를 위한 외형 구성, 회로 구성 방법을 설명합니다. 프로젝트의 소프트웨어는 책에서 배운 하드웨어 제어 방법을 이용하여 독자 스스로 구성해 봅니다.
[부록]
※ 예제 소스파일 다운로드 방법은 4쪽을 참조한다.
※ 이 책을 보면서 궁금한 내용을 질문할 수 있는 질의응답 코너 이용 방법은 4~5쪽을 참조한다.
※ 이 책의 기초 실습에 사용된 부품 목록 및 부품 구매처 확인은 6~7쪽을 참조한다.