IoT 실습으로 배우는 센서공학 (직접 다룰 수 잇는 센서 모듈의 한 권에 수록)

IoT 실습으로 배우는 센서공학 (직접 다룰 수 잇는 센서 모듈의 한 권에 수록)

$42.49
Description
오늘날 센서에 대한 전반적인 지식이나 활용은 공학 분야에 관심을 가진 모든 사람에게 기본적인 소양이나 다름없다. 공학 분야에 연관된 경우가 아니더라도 일상생활에서 흔하게 사용하는 스마트폰, 가전제품, 자동차 등에 설치된 센서의 동작은 우리가 인지하지 못하고 있을뿐 마치 공기처럼 우리의 삶에 필수적인 요소로 자리 잡았다.
센서에 사용되는 기술을 살펴보면 기본 동작 원리를 응용하여 여러 분야에 적용되는 것이 많다. 따라서 기본 동작 원리를 이해하기 위해서 물리학, 수학, 화학, 전자 등의 다양한 지식이 필요한데 그동안은 복잡한 수학과 물리학에 기반을 두고 센서를 익히는 과정을 당연한 순리처럼 접근하는 것이 일반적이었다. 어쩌면 너무나 당연한 말이지만, 모든 사람이 센서 전문가가 될 필요는 없으며, 과거와 달리 지금은 천재적이고 특별한 한 사람의 능력으로 센서를 만들 수 있는 것도 아니다. 미디어를 통해서 간혹 볼 수 있는 것처럼 특정 영역의 학위를 가지고 있거나 천재적인 사람이 아니더라도 무언가를 좋아하게 되고 그 분야에 관심을 가지다가 자연스럽게 좀 더 구체적인 것을 스스로 탐구하여 훌륭한 결과물을 만들어내는 사람들이 있다. 센서공학이라는 영역도 그렇게 접근하면 더 괜찮지 않겠냐는 생각을 했다.
공학이라는 틀에 갖혀서 물리학이나 수학 등의 기반 지식으로 센서공학을 배우다 보니 어렵다고 포기하는 사례를 수없이 봐왔다. 센서공학에 흥미와 관심을 갖기 위해서는 먼저 각 분야에서 쉽게 구할 수 있는 대표적인 센서 모듈들을 제어해보는 것이 중요하다. 이후 응용 동작을 만들어보면서 센서를 어떻게 현장에 적용하고 개선해야 할지 고민하다 보면 자연스럽게 해당 센서는 어떤 소재와 원리로 동작하는 것인가를 스스로 탐구하고 접근하게 될 것이다.
사실 아두이노 플랫폼이 없었다면 이런 방식의 접근은 어려웠을 것이다. 마이크로컨트롤러를 배우는 것 자체가 또 다른 어려운 과정이기 때문이다. 이러한 측면에서 보면 아두이노 플랫폼은 처음부터 테크놀로지(technology) 기반 없이도 마이크로컨트롤러를 쉽게 사용할 수 있도록 만들어졌으므로 매우 훌륭한 도구가 되어 센서공학을 배우고자 하는 여러분을 도와줄 수 있다. 그리고 센서에 아두이노와 같은 마이크로컨트롤러 기술을 접목하여 데이터를 처리하고 자가 진단, 의사 결정, 통신 기능 등을 갖춘 지능화된 스마트 센서 기술을 이해하기 위해서라도 아두이노를 기반으로 다양한 센서를 직접 다뤄보는 것은 매우 바람직한 활동이다.
우리가 공학을 배우는 이유는 기발하고 혁신적인 사고를 통해 수많은 종류의 문제를 능동적으로 대처할 수 있는 기술과 자신감을 배양하고, 나아가 세상을 좀 더 좋은 방향으로 개선하기 위함일 것이다. 전자기파를 설명하는 것은 과학이지만, 라디오나 TV를 만드는 것은 공학이다. 센서의 원리를 설명할 수 있는 근본적인 물리학과 수학 등의 지식이 선행되면 좋겠지만, 그 과정에서 배우기를 포기하지 않고 다양한 센서를 활용하여 세상에 이로운 시스템을 만들 수 있는 사람을 배출하는 것도 필요하다.
저자

정보권

에이치에스글로벌㈜ 대표이사
서울과학기술대학교 공학박사

- 개발·교육 경력
마이크로컨트롤러 ATmega128 기반 실습 보드 개발
IoT 스마트 툴 카운터 개발
LG전자: C 언어를 이용한 MCU 제어, H/W 개발자를 위한 S/W의 이해
현대자동차: 아두이노를 활용한 제어
삼성전자: C 활용 H/W 제어, H/W 개발자를 위한 S/W의 이해
한국전자통신연구원: 오픈 플랫폼을 활용한 프로토타이핑

- 저서
《사물인터넷 세대를 위한 아두이노 프로그래밍》
《(새로운 세대를 위한 코딩) 엔트리와 아두이노》
《ATmega128 마이크로 컨트롤러 정복하기》
《마이크로컨트롤러 ATmega128(시뮬레이터로 쉽게 배우고 아두이노로 정리하기)》

목차

CHAPTER 01 센서의 개요
1.1 센서의 정의와 종류
1.2 센서의 특성
1.2.1 전달 함수
1.2.2 스팬
1.2.3 정확도
1.2.4 교정
1.2.5 히스테리시스
1.2.6 비선형성
1.2.7 분해능
1.2.8 포화
1.2.9 반복성
1.2.10 불감대
1.2.11 신뢰성
1.2.12 출력 특성
1.2.13 임피던스
1.2.14 여기
1.2.15 동적 특성
1.2.16 정밀도
1.2.17 환경 요인
1.2.18 불확실성
1.3 아날로그 디지털 변환기
1.4 센서 모듈 실습 준비
1.4.1 아두이노 IDE
1.4.2 라이브러리

CHAPTER 02 레벨 센서
2.1 레벨 센서 개요
2.2 정전용량식 레벨 센서
2.3 광학식 레벨 센서
2.4 도전율식 레벨 센서
2.5 진동식 레벨 센서
2.6 플로트 스위치
2.7 압력식 레벨 센서
2.8 초음파 레벨 센서
2.9 레이더 레벨 센서
2.10 레이저 레벨 센서
2.11 방사선 레벨 센서
2.12 레벨 센서 실습
2.12.1 비접촉식 레벨 센서 모듈(XKC-Y25-PNP)
2.12.2 도전율식 레벨 센서 모듈
2.12.3 플로트 스위치

CHAPTER 03 유량 센서
3.1 유량 센서 개요
3.2 차압 유량계
3.3 용적 유량계
3.4 전자 유량계
3.5 초음파 유량계
3.6 와류 유량계
3.7 터빈 유량계
3.8 질량 유량계
3.9 가변면적 유량계
3.10 유량 센서 실습
3.10.1 유량 센서 모듈(YF-S201)
3.10.2 유량 센서 모듈 응용

CHAPTER 04 광센서
4.1 광센서 개요
4.2 광도전형
4.2.1 광도전 효과
4.2.2 포토레지스터
4.3 광기전력형
4.3.1 광기전력 효과
4.3.2 포토다이오드
4.3.3 포토트랜지스터
4.4 광전자 방출형
4.4.1 광전자 방출 효과
4.4.2 광전관
4.4.3 광전자증배관
4.5 복합형
4.5.1 포토커플러
4.5.2 포토인터럽터
4.6 광센서 실습
4.6.1 불꽃 감지 센서 모듈(KY-026)
4.6.2 포토 레지스터 모듈(KY-018)
4.6.3 포토인터럽터 모듈
4.6.4 자외선 센서 모듈(ML8511)
4.6.5 적외선 라인 트래킹 센서 모듈(KY-033)
4.6.6 장애물 감지 센서 모듈(KY-032)
4.6.7 컬러 센서 모듈(TCS3200)
4.6.8 미세먼지 센서 모듈(PPD42NJ/PPD42NS)
4.6.9 미세먼지 센서 모듈(GP2Y1010AU0F)
4.6.10 미세먼지 센서 모듈(PM-D4)
4.6.11 혈중 산소포화도 및 심박 수 측정 센서 모듈(MAX30102)
4.6.12 제스처 센서 모듈(APDS-9960)

CHAPTER 05 온·습도 센서
5.1 온도 센서
5.1.1 온도 센서 개요
5.1.2 열전대
5.1.3 RTD
5.1.4 서미스터
5.1.5 서모파일
5.1.6 광학 고온계
5.2 습도 센서
5.2.1 습도 센서 개요
5.2.2 정전용량식 습도 센서
5.2.3 저항식 습도 센서
5.3 온·습도 센서 실습
5.3.1 온도 센서(TMP36)
5.3.2 온·습도 센서(DHT11)
5.3.3 적외선 동작 감지 센서 모듈(HC-SR501)
5.3.4 비접촉 적외선 온도 센서 모듈(GY-906)
5.3.5 NTC 서미스터 모듈(KY-013)
5.3.6 방수 DS18B20 디지털 온도 센서 모듈
5.3.7 K형 열전대 모듈(MAX6675)

CHAPTER 06 거리 센서
6.1 거리 센서 개요
6.2 초음파 센서
6.2.1 음파
6.2.2 초음파
6.2.3 압전 효과와 유니모르프 압전 초음파 변환기
6.3 적외선 센서
6.4 레이더 센서
6.4.1 레이더
6.4.2 펄스 레이더
6.4.3 연속파 레이더
6.4.4 주파수 변조 연속파 레이더
6.5 라이다
6.5.1 레이저
6.5.2 펄스 라이다
6.6 거리 센서 실습
6.6.1 적외선 거리 감지 센서 모듈(E18-D80NK)
6.6.2 초음파 센서 모듈(HC-SR04)
6.6.3 마이크로파 레이더 모션 감지 모듈(RCWL-0516)
6.6.4 ToF 거리 센서 모듈(VL6180X)
6.6.5 ToF 거리 센서 모듈(TOF10120)
6.6.6 초음파 센서 모듈(GY-US42V2)
6.6.7 적외선 거리 센서 모듈(GP2Y0A21YK0F)
6.6.8 라이다 센서 모듈(TFmini Plus)

CHAPTER 07 압력 센서
7.1 압력 센서 개요
7.2 스트레인 게이지
7.3 정전용량식 압력 센서
7.4 압전식 압력 센서
7.5 전위차계 압력 센서
7.6 유도식 압력 센서
7.7 가변 자기저항 압력 센서
7.8 진공 센서
7.9 무게 센서
7.10 압력 센서 실습
7.10.1 FSR 압력 센서 모듈(GY19782)
7.10.2 로드 셀과 HX711 모듈

CHAPTER 08 다이나믹 센서
8.1 가속도 센서 개요
8.1.1 압전식 가속도 센서
8.1.2 정전용량식 가속도 센서
8.1.3 압저항식 가속도 센서
8.1.4 터널링 가속도 센서
8.2 자이로스코프
8.2.1 자이로스코프 개요
8.2.2 기계식 자이로스코프
8.2.3 광학식 자이로스코프
8.3 다이나믹 센서 실습
8.3.1 노크 센서 모듈(KY-031)
8.3.2 충격 센서 모듈(KY-002)
8.3.3 6축 자이로 가속도 센서 모듈(GY-521)

CHAPTER 09 전자기 센서
9.1 전기 센서 개요
9.1.1 전류 센서
9.1.2 전압 센서
9.2 자기 센서 개요
9.2.1 홀 센서
9.2.2 자기 저항 센서
9.2.3 거대 자기 임피던스 센서
9.2.4 자속 게이트 센서
9.2.5 초전도 양자 간섭계
9.3 전자기 센서 실습
9.3.1 자기 리드 스위치 모듈(KY-025)
9.3.2 자기 홀 센서 모듈(KY-024)
9.3.3 전압 센서 모듈
9.3.4 전류 센서 모듈(ACS712)
9.3.5 지자기 센서 모듈(GY-271)

CHAPTER 10 화학 센서
10.1 화학 센서 개요
10.2 가스 센서
10.2.1 반도체 가스 센서
10.2.2 전기화학 가스 센서
10.2.3 접촉 연소 가스 센서
10.2.4 광화학 가스 센서
10.3 바이오 센서
10.3.1 효소 센서
10.3.2 면역 센서
10.3.3 핵산 센서
10.4 화학 센서 실습
10.4.1 MQ-x 가스 센서와 측정 방법
10.4.2 MQ-4 가스 센서
10.4.3 MQ-3 가스 센서
10.4.4 MQ-5 가스 센서
10.4.5 MQ-6 가스 센서
10.4.6 MQ-7 가스 센서
10.4.7 MQ-8 가스 센서
10.4.8 MQ-9 가스 센서
10.4.9 MQ-135 가스 센서
10.4.10 비분산 적외선 이산화탄소 센서 모듈(MH-Z19x)

CHAPTER 11 기타 센서 실습
11.1 적외선 수신 센서 모듈(KY-022)과 적외선 송신 리모컨
11.2 토양 수분 센서
11.3 기울기 스위치 센서 모듈(KY-020)
11.4 진동 센서 모듈(SW-420)
11.5 수은 기울기 스위치 모듈(KY-017)
11.6 마이크 센서 모듈(KY-037)
11.7 금속 터치 센서 모듈(KY-036)
11.8 정전식 터치 센서 모듈(TTP223B)
11.9 4×4 정전식 터치 키패드 모듈(TTP229)

CHAPTER 12 IoT 온·습도 모니터링 시스템 프로젝트
12.1 프로젝트 개요
12.1.1 온·습도 데이터 수집 및 전송
12.1.2 데이터 관리 서버
12.1.3 온·습도 모니터링 및 관리
12.2 ESP32 개발 보드
12.2.1 데이터 관리 서버로 사용한 ESP32 개발 보드
12.2.2 ESP32 보드 개발환경 구축
12.2.3 ESP32 개발 보드와 아두이노 보드 간 시리얼 통신
12.3 IoT 시스템 구현을 위한 기초
12.3.1 ESP32 보드 웹 서버 구현
12.3.2 SPIFFS를 이용한 소스 코드 분리
12.3.3 아두이노 보드의 EEPROM에 데이터 저장하기
12.3.4 NTP 서버로부터 시간 데이터 읽기
12.3.5 SQLite를 이용한 파일 기반 데이터베이스 구성
12.3.6 Firebase 데이터베이스 구성
12.4 IoT 온·습도 모니터링 시스템
12.4.1 아두이노 우노로 구현한 온·습도 데이터 수집 및 전송
12.4.2 ESP32 Web Server + SQLite로 구현한 데이터 관리 서버
12.4.3 ESP32 Web Server + Firebase로 구현한 데이터 관리 서버
12.4.4 웹을 통한 온·습도 모니터링 및 관리
12.4.5 원격지에서 ESP32 데이터 관리 서버에 접속

부록
실습에 사용한 센서

출판사 서평

이 책의 구성과 특징

이 책은 센서의 기본적인 원리와 특징을 이해한 뒤에 실제 활용 가능한 센서를 제어하는 데 초점을 두고 실제 센서가 어떤 식으로 동작하고 어떤 특성을 가졌는지 동작하는 결과를 보고 이해하도록 한 부분이 다른 센서공학 책들과의 차이점이라 할 수 있으며, 일상생활이나 산업현장에 적용할 가능성을 보고 어떻게 활용할지 스스로 탐구할 수 있는 생각을 가지게 하는 데 목적을 두고 있다.
이론적인 부분은 잘 알려진 분류 기준으로 장을 구분했고, 일부 센서들은 임의로 묶어 설명한 부분이 있다. 대부분 센서는 설명해야 하는 내용이 너무 방대하여 오히려 그 내용을 줄이는 데 어려움이 있었다. 국내·외 센서 제조사의 웹 페이지 또는 논문 등을 참고하여 꼭 필요하다고 생각되는 부분으로 개념을 전달하고자 했다. 각 장 마지막 부분의 센서 모듈을 이용한 실습 부분은 아두이노를 이용하여 비교적 쉽게 구할 수 있는 센서를 가장 기초적인 코딩으로 제어했을 때 어떤 동작이 출력되는지를 실습하는 데 초점을 두었다. 욕심을 내어 본서에 실제 산업현장에서 사용되고 있는 센서 모듈과 각종 제어 모듈을 소개하고 이를 다양하게 응용하는 내용 등을 포함한다면 센서공학 학습을 시작하는 데 또 다른 장애 요인이 될 수 있어서 실습에 사용되는 모듈은 기본적으로 디스플레이 소자 중 가장 기본적인 C-LCD 모듈을 제외하고는 부담 없는 가격으로 쉽게 구할 수 있는 센서만 사용하려고 했으며, 누구나 쉽게 이해할 수 있는 프로그램 코드로 설명하고자 했다.
만약 프로그래밍 언어를 한 번도 배우지 않아 어렵다고 느껴진다면 코드를 읽고 왜 그렇게 코딩해야 하는지 정도만 이해하면 된다. 센서 모듈의 하드웨어적인 부분과 코드 내용에 대해 좀 더 상세한 정보가 필요하다면 인터넷에서 관련된 정보를 찾는 방식으로 부족한 부분을 채워나가는 것도 필요한 과정이다. 그리고 마지막 프로젝트에서는 온·습도 센서를 이용하여 사물인터넷 시스템을 구현해 보는 과정이 포함되어 있으며, 이 과정을 통해 하나의 프로젝트를 처음부터 최종 동작까지 만들어 보면 스스로 뭔가 만들 수 있다는 자신감이 생길 것이다. 마지막에 제시된 프로젝트를 이해한 뒤에 본인이 적용해 보고 싶은 다른 센서를 이용하여 더 나은 응용 프로젝트로 발전시켜 나갈 수 있으면 된다.
국내에서 출간된 센서공학 도서 중에 특정 분야에 국한된 센서나 마이크로컨트롤러 실습보드를 함께 엮는 사례가 일부 있었지만, 범용적인 실습 도구를 이용하여 제어 중심으로 센서공학을 설명하고자 한 책은 국내에서 본서가 처음이며, 독자가 직접 다뤄볼 수 있는 센서 모듈을 이렇게 많이 소개한 책으로도 처음이다. 따라서 목적으로 한 부분이 센서공학 이론이 아닐 때는 아두이노를 이용하여 장마다 소개된 센서 모듈이나 유사한 센서 모듈을 이용하여 실습해 보는 것도 좋고, 제시된 마지막 프로젝트를 좀 더 발전시켜 보는 것도 의미가 있다.