메이커를 위한 라즈베리 파이 (동작 원리와 물리 법칙으로 제대로 배우는 | GPIO 센서 모터 통신 디스플레이 고급 프로그래밍)

메이커를 위한 라즈베리 파이 (동작 원리와 물리 법칙으로 제대로 배우는 | GPIO 센서 모터 통신 디스플레이 고급 프로그래밍)

$32.00
Description
동작 원리와 함께 더 깊게 배우는 라즈베리 파이!
『메이커를 위한 라즈베리 파이』는 라즈베리 파이를 이용해 자신만의 프로젝트를 만들어 보려는 메이커를 위한 실용서다. 이 책은 단순히 라즈베리 파이 프로젝트를 따라 만들어 보는 데서 나아가, 독자가 새로운 전자 부품을 접하더라도 혼자 힘으로 사용할 수 있도록 적응력을 높이는 데 초점을 맞추고 있다.

독자는 이 책을 통해 라즈베리 파이와 주변 장치(모터, 센서, 디스플레이 등)들이 어떻게 신호를 주고 받고 작동하는지 그 밑단의 물리 법칙부터 동작 원리, 파이썬 언어를 기반으로 한 프로그램을 만드는 방법까지 배울 수 있다. 특히 책 곳곳에서는 부품의 규격 및 작동 방법을 상세히 설명한 데이터시트를 활용하고 있어 하드웨어 자체를 깊이 들여다 보는 계기를 마련해 준다. 라즈베리 파이의 기본적인 작동법과 가벼운 프로젝트를 진행하면서 아쉬움을 느꼈던 독자라면 이 책을 통해 한걸음 나아가 더욱 흥미로운 아이디어가 담긴 프로젝트를 시작할 수 있을 것이다.
저자

이승현

저자이승현은SKC&C에서주유소POS시스템개발을담당했다.1999년이후VoIP,콜센터시스템개발팀에서일해왔으며VoIP분야회사를창업해지금도컨설팅,프로그래밍을하고있다.최근에는라즈베리파이를비롯한소형컴퓨터로다양한제품을개발하는데관심이많다.

목차

1장라즈베리파이프로젝트

1.1라즈베리파이
1.1.1컴퓨팅모델(ComputingModel,CM)
1.1.2라즈베리파이Zero모델
1.1.3라즈베리파이모델B

1.2라즈베리파이셋업
1.2.1라즈비안OS설치
1.2.2라즈비안OS기본설정
1.2.3네트워크설정
1.2.4최신버전업데이트
1.2.5이미지백업

1.3라즈베리파이프로그래밍
1.3.1범용컴퓨팅용플랫폼,라즈베리파이
1.3.2파이썬
1.3.3C/C++

1.4원격작업환경설정
1.4.1VNC클라이언트설치
1.4.2VNC접속

1.5준비해두면도움이되는것들
1.5.1코드편집기
1.5.2오실로스코프(Oscilloscope)
1.5.3멀티미터
1.5.4gnuplot를이용한데이터모니터링
1.5.5엑셀을이용한데이터모니터링
1.5.6물리기초지식

2장GPIO

2.1GPIO의특징
2.1.1GPIO핀넘버
2.1.2어떤넘버링을사용할것인가?
2.1.3GPIO핀의확장
2.1.4GPIO핀의작동방법
2.1.5GPIO프로그래밍
2.1.6PWM(PulseWidthModulation)

2.2GPIO제어에필요한기초
2.2.1회로설계소프트웨어
2.2.2회로구성에필요한기본소자

2.3GPIO프로그래밍
2.3.1동기식프로그래밍
2.3.2인터럽트를이용한비동기입출력
2.3.3PWM출력프로그래밍
2.3.410마이크로초의펄스만들기

2.4GPIO회로실습
2.4.1실습?LED램프켜기
2.4.2실습?푸시버튼을이용한LED램프켜기
2.4.3실습?LED램프교대로깜박이기
2.4.4실습?컬러LED램프켜기
2.4.5실습?컬러LED램프색제어하기

2.5시프트레지스터를이용한GPIO핀의확장
2.5.1비트제어
2.5.274HC595시프트레지스터
2.5.374HC595시프트레지스터프로그래밍

2.6GPIO핀확장을위한MCP23008,MCP23017
2.6.1MCP23008,MCP23017개요
2.6.2MCP23008프로그래밍

2.7AD컨버터MCP3004,MCP3008
2.7.1MCP3004/MCP3008개요
2.7.2MCP3004/MCP3008SPI시리얼통신
2.7.3MCP3008을이용한아날로그입력프로그래밍

3장통신

3.1UART통신
3.1.1UART루프백(Loop-Back)구성
3.1.2RS2329핀시리얼통신

3.2I2C통신
3.2.1I2C모듈의활성화
3.2.2I2C툴설치
3.2.3SMBUS개발용패키지설치
3.2.4I2C디바이스연결
3.2.5파이썬을이용한I2C제어
3.2.6GY521(MCU6050)제어프로그래밍

3.3SPI(SerialPeripheralInterface)통신
3.3.1SPI디바이스연결
3.3.2SPI모듈의활성화
3.3.3SPI개발용라이브러리설치
3.3.4SPI디바이스연결
3.3.5파이썬을이용한SPI디바이스제어

3.4TCP/IP통신
3.4.1파이썬TCP/IP서버,클라이언트
3.4.2UDP통신
3.4.3브로드캐스팅
3.4.4유용한라이브러리cURL

3.5XBee프로토콜
3.5.1XBee하드웨어종류
3.5.2XBee모듈
3.5.3XBee원격제어및설정
3.5.4XBee와라즈베리파이의연결
3.5.5XBee모듈간통신테스트
3.5.6AT모드프로그래밍
3.5.7API모드1프로그래밍

3.6블루투스통신
3.6.1블루투스의특징
3.6.2블루투스설정
3.6.3파이썬을이용한블루투스프로그래밍

4장모터

4.1DC모터
4.1.1가변저항을이용한DC모터속도제어
4.1.2H브릿지를이용한모터회전방향제어
4.1.3SN754410H브릿지
4.1.4SN754410을이용해모터제어하기
4.1.5파이썬을이용한H브릿지(SN754410)제어

4.2SG90서보모터
4.2.1SG90서보모터와라즈베리파이연결하기
4.2.2모터에필요한물리지식
4.2.3SG90모터제어하기
4.2.4파이썬을이용한SG90서보모터제어프로그래밍

4.3스테퍼모터
4.3.128BYJ-48스테퍼모터의특징
4.3.2모터의전원공급을제어하는ULN2003모터드라이버
4.3.328BYJ-48스테퍼모터제어

4.4서보드라이버를이용한여러대의모터제어
4.4.1PCA9685칩개요
4.4.2PCA9685칩과라즈베리파이그리고서보모터연결하기
4.4.3PCA9685제어하기
4.4.4파이썬을이용한PCA9685제어

5장디스플레이

5.1HD44780LCD를이용한디스플레이
5.1.1HD44780LCD개요
5.1.2HD44780와라즈베리파이연결하기
5.1.3HD44780프로그래밍

5.2128X64픽셀OLED디스플레이
5.2.1PIL(PythonImageLibrary)로그래픽출력하기
5.2.2OLED디스플레이와라즈베리파이연결하기
5.2.3OLED제어프로그래밍
5.2.4OLED디스플레이(또는화면)에한글출력하기

5.3LED
5.3.1정적전원공급과멀티플렉싱방식의전원공급
5.3.28X8LED매트릭스
5.3.3전력소모가큰LED제어

6장센서

6.1센서의종류
6.1.1출력전압을사용하는아날로그센서
6.1.2아날로그센서와라즈베리파이의연결
6.1.3디지털센서

6.2센서를다루는데도움이되는것
6.2.1계측기
6.2.2데이터시트
6.2.3참고사이트

6.3BMP180대기압측정센서
6.3.1대기압측정에필요한물리지식
6.3.2BMP180센서와라즈베리파이연결하기
6.3.3BMP180센서프로그래밍

6.4HC-SR04초음파거리센서
6.4.1HC-SR04센서
6.4.2거리측정에필요한물리지식
6.4.3HC-SR04와라즈베리파이연결하기
6.4.4HC-SR40센서값읽기프로그래밍

6.5HC-SR501적외선모션감지센서
6.5.1HC-SR501개요
6.5.2HC-SR501과라즈베리파이연결
6.5.3HC-SR501센서값읽기프로그래밍

6.66축자이로센서MPU6050
6.6.1MPU6050개요
6.6.2MPU6050에필요한기초수학,물리지식
6.6.3보정필터
6.6.4센서값읽기
6.6.5센서값환산규칙
6.6.6MPU6050센서값읽기프로그래밍
6.6.7gnuplot을이용한측정값분석
6.6.8상보필터(ComplementaryFilter)적용및분석

6.79축센서MPU9150
6.7.1MPU9150
6.7.2MPU9150과라즈베리파이연결
6.7.3자기측정에필요한기초물리지식
6.7.4MPU9150센서값읽기
6.7.5MPU9150센서값읽기프로그래밍

6.8MQ센서시리즈
6.8.1MQ센서연결
6.8.2MQ센서프로그래밍

6.9맥박센서(PulseSensor)
6.9.1맥박센서개요
6.9.2맥박센서연결
6.9.3맥박센서프로그래밍

6.10습도센서DHT11
6.10.1DHT11센서개요
6.10.2DHT11센서와라즈베리파이의통신
6.10.3DHT11과라즈베리파이의연결
6.10.4습도측정에필요한기초물리지식
6.10.5DHT11센서값읽기프로그래밍

6.11FSR402힘(Force)센서
6.11.1FSR402센서
6.11.2힘측정에필요한물리지식
6.11.3FSR402와파이연결
6.11.4FSR402프로그래밍

7장카메라

7.1카메라모듈연결
7.1.1Camera기능활성화
7.1.2카메라모듈연결
7.1.3카메라스펙
7.1.4연결확인

7.2파이용카메라제어파이썬패키지:python-picamera
7.2.1파이썬용picamera패키지설치
7.2.2picameracamera객체속성(property)
7.2.3picameracamera객체함수(method)

7.3OpenCV를이용한이미지인식
7.3.1OpenCV개요
7.3.2OpenCV를이용한사물인식

7.4웹브라우저를이용한카메라보기기능구현
7.4.1mjpg-streamer패키지
7.4.2웹페이지를이용한파이카메라접속
7.4.3원격지에서카메라보기기능구현

7.5구글드라이브를활용한사진백업
7.5.1gdrive설치
7.5.2gdrive사용법
7.5.3파이썬을이용한gdrive사용법

8장라즈베리파이와머신러닝

8.1텐서플로
8.1.1텐서플로설치

8.2라즈베리파이에서텐서플로예제만들기
8.2.1HelloWorld머신러닝
8.2.2MNIST이미지확인예제
8.2.3MNIST숫자인식예제
8.2.4한글인식도전하기

9장라즈베리파이관제시스템프로젝트

9.1NodeRED
9.1.1NodeRED의실행및대시보드설치
9.1.2NodeRED의간단한사용법
9.1.3NodeRED작업백업및복구
9.1.4NodeRED보안설정

9.2관제시스템범위및구성
9.2.1HC-SR501모션감지센서
9.2.2카메라제어
9.2.3아두이노를이용한유해가스,온도습도측정
9.2.4물고기사료공급장치

9.3장치연결하기
9.3.1라즈베리파이프로그래밍
9.3.2NodeRED작업하기
9.3.3테스트하기

부록A부품정보

출판사 서평

라즈베리파이와그주변장치를더깊게파헤치고싶은메이커를위한~
라즈베리파이고급프로그래밍가이드!

라즈베리파이는활용범위가넓으므로자신이원하는프로젝트를계획하고완성하기위해서는다양한프로그래밍기법과하드웨어지식을필요로한다.또한각각의부품규격과작동방법을설명한'데이터시트'도늘곁에두고참고해야한다.

라즈베리파이의기본적인동작방법을익히고입문수준의프로젝트몇가지를따라해본독자라면,이후에좀더복잡한프로젝트나자신의아이디어를바탕으로하는프로젝트를만들고자했을때어디서부터,어떤것을들여다봐야할지몰라어려움을겪을수있다.

이책은GPIO핀에서부터모터,디스플레이,통신등다양한분야를다룬다.곳곳에서부품과연관된물리법칙과동작원리를설명하고데이터시트활용법을꼼꼼히알려준다.

어렵더라도하나씩익혀나가면새로운전자부품을접하더라도두려움없이데이터시트를읽고,회로를구성하고,프로그래밍을하는자신을발견할수있을것이다.

▶이책의대상독자
-입문수준을넘어서라즈베리파이를이용해뭔가재미있는프로젝트를해보고싶은메이커
-센서,모터등의단순한제어방법뿐아니라관련물리기초지식을배우고자하는메이커