책 이미지
책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 인공지능
· ISBN : 9791199093157
· 쪽수 : 264쪽
· 출판일 : 2026-01-20
책 소개
이 책의 가장 큰 강점은 친절한 설명과 체계적인 구성입니다. 아두이노 기초에서 시작해 사물인터넷, STT/TTS, 그리고 ChatGPT API 연동까지 자연스럽게 이어지는 흐름 덕분에 초보자도 무리 없이 따라갈 수 있고, 이미 아두이노를 경험한 독자에게도 한 단계 확장된 AI 프로젝트 경험을 제공합니다. 특히 단순 실습에 그치지 않고, 실생활에 적용 가능한 응용 예제와 트러블슈팅, 단계별 테스트 방식까지 담아 교육 현장, 메이커, 학생 모두에게 유용한 실전 안내서가 되도록 구성했습니다.
이 책은 “AI는 어렵다”는 고정관념을 깨고, 누구나 직접 만들고 활용할 수 있다는 자신감을 선물합니다. 미래 기술을 배우는 가장 흥미로운 방법—이제, 여러분의 손끝에서 시작됩니다.
목차
챕터1. 아두이노 시작하기
1-1.아두이노란 무엇인가 15
아두이노란 무엇인가 15
아두이노의 탄생 배경 15
아두이노의 기본 구성 16
아두이노의 동작 원리 17
아두이노의 장점 18
아두이노의 활용 분야 18
우리가 사용할 보드 - ESP32-S3 18
1-2.보드조립하기 20
1-3.아두이노 개발환경 설치하기 24
아두이노 설치하기 24
ESP32 사용을 위한 보드 설치하기 28
USB 드라이버 설치 32
1-4.ESP32 설정 및 업로드 36
챕터2. 아두이노 다루기 42
부품 준비하기 43
부품형 회로 연결하기 44
모듈형 준비하기 46
2-1.LED 깜빡이기 48
빨간색 LED 1개 깜빡이기 48
빨간색 LED 1개 빨리 깜빡이기 49
여러 개의 LED 제어하기 50
2-2.버튼 입력받기 52
버튼 상태 확인하기 52
버튼을 누를 때만 동작하기 54
버튼을 누를 때 한 번만 동작하기 55
함수로 만들어 사용하기 56
여러 개의 버튼 함수로 만들어 사용하기 57
2-3.시리얼통신 활용 60
시리얼통신으로 값 출력하기 60
통신속도 변경하기 61
다양한 값 출력하기 62
한 글자 값 입력받기 64
여러 글자 입력받아 조건 설정하기 65
조건에 따라서 LED 켜고 끄기 66
2-4.mills() 활용하기 68
3개의 LED를 각각 제어하기 (잘못된 코드) 68
3개의 LED를 millis()를 사용해서 제어하기 70
챕터3. 아두이노 응용 부품 다루기
3-1.라이브러리 사용법 배우기 75
라이브러리 매니저를 통한 설치 76
사용되는 모든 라이브러리 설치 81
.zip파일로 라이브러리 설치 82
tip. 라이브러리 폴더 zip으로 만들어 보관하기 84
3-2.SD 카드 다루기 87
SD메모리 정보 확인하기 88
SD메모리에 폴더 및 파일 만들기 90
SD메모리 파일 삭제하기 92
SD메모리에 파일에 값 쓰기 93
시리얼통신으로 메모리에 값 쓰기 94
3-3.ST7789 LCD 다루기 97
라이브러리 설치 97
글자 출력하기 98
글자뒤집어 출력하기 99
다양하게 글자 출력하기 100
도형출력하기 104
아이콘 출력하기 106
챕터4. 마이크 및 스피커 다루기
라이브러리 설치하기 109
4-1.INMP441 마이크로 소리 입력하기 110
마이크 동작 확인하기 110
버튼을 누르는 상태 확인하기 112
버튼을 누를 때 음성파일로 SD메모리에 저장하기 113
4-2.MAX98357 스피커로 소리 출력하기 117
버튼을 눌러 음성 재생하기 117
볼륨 버튼으로 소리크기 제어하기 119
4-3.오디오 버퍼로 녹음/재생하기 123
ESP32의 메모리 용량 확인하기 124
확장 메모리 PSRAM에 녹음/재생하기 126
챕터5. 사물인터넷
5-1.WIFI통신 시작하기 131
주변 WIFI 스캔하기 131
WIFI 연결하기 133
5-2. WIFI 통신 NTP 시간 LCD에 표시하기 135
NTP 연결해서 시간 받아서 출력하기 135
LCD에 시간정보 출력하기 137
5-3.WIFI통신 날씨 정보 받아 LCD에 표시하기 140
날씨 정보 출력하기 140
날씨 정보 만 파싱해서 출력하기 142
LCD에 날씨 정보 표시하기 145
5-4.블루투스 통신 149
블루투스 통신으로 데이터 주고받기 149
블루투스 통신으로 LED 제어하기 155
챕터6. ChatGPT 시작하기
6-1.ChatGPT API 준비하기 161
6-2.시리얼 모니터로 질문하고 답변받기 168
chatapi 동작 확인하기 168
시리얼통신으로 chatgpt와 대화하기 170
대화내용 기억해서 chatgpt와 대화하기 174
6-3.음성 STT(음성 → 텍스트) 활용하기 178
버튼을 누를 때 음성을 녹음하고 chatgpt STT api 호출하기 178
불켜, 불꺼 음성을 텍스트로 변환하여 LED 제어하기 183
6-4.음성 TTS(텍스트 → 음성) 활용하기 188
시리얼통신으로 받은 글자를 음성으로 재생하기(스트림방식) 188
시리얼통신으로 받은 글자를 음성으로 재생하기(버퍼 방식) 191
챕터7. ChatGPT로 AI 음성비서 만들기
7-1.음성비서 기능 구현하기 195
음성비서 기능 구현하기 (스트림방식) 195
음성비서 기능 구현하기 (버퍼 방식) 200
7-2.아이콘, 음량제어, SD기능 추가하여 완성하기 206
아이콘, 음량제어 기능 추가 206
SD카드에 정보 쓰고 읽어 출력하기 215
음성비서 완성하기 219
ESP32-S3 ChatGPT 음성비서 사용설명서 231
챕터8. ChatGPT로 만드는 아두이노 코드
8-1. 프로젝트 가능성 검토 235
실제 질문과 답변 예시 (프로젝트 가능성 검토 단계) 235
8-2. 부품별 기능 테스트 238
하드웨어 사양 알려주기 238
마이크 (INMP441) 테스트 240
스피커 (MAX98357A) 테스트 241
ST7789 LCD 테스트 242
WiFi 통신 테스트 242
마이크로 SD카드 테스트 243
문제 발생 시 디버깅 방식 243
8-3. ChatGPT API 연동 테스트 245
ChatGPT API 기본 연결 구조 245
API Key 및 JSON 구조 이해 246
응답 파싱 테스트 246
연결 안정화 및 예외 처리 247
최종 테스트: ChatGPT와의 실제 대화 247
이 단계에서 얻은 결과 요약 247
8-4. 기능 단위 라이브러리 제작 248
공통 구조 만들기 - “라이브러리로 묶어줘” 248
ESP32MicI2S - 마이크 입력 라이브러리 249
SpeakerI2S - 스피커 출력 라이브러리 249
AudioBuffer - 오디오 버퍼 관리 라이브러리 250
ChatGPTAPI - API 통신 전용 라이브러리 250
ESP32VoiceAssistant - 통합 음성비서 라이브러리 251
ZIP 라이브러리로 묶기 252
이 단계에서 얻은 결과 정리 252
8-5. 라이브러리 테스트 및 디버깅 253
개별 라이브러리 단위 테스트 253
스피커 테스트에서 “소리가 안 나요” 254
ChatGPTAPI 테스트 - 응답이 비어 있을 때 255
ESP32VoiceAssistant 상태머신 버그 256
8-6. 전체 코드 통합 및 실행 257
메인스케치 요청 257
STT/TTS를 어디에서 호출할지 258
STT/TTS 연결 구조 259
전체 통합 후 멈춤/리셋 문제 260
최종 점검 및 동작 확인 261
8-7. 정리 262
시리얼 통신으로 디버깅할 수 있는 코드까지 함께 요청하기 262
간단한 테스트 → 부분 테스트 → 전체 테스트 → 라이브러리화 → 기능 테스트 → 통합 테스트 262
동작하지 않을 때는 증상을 정확히 설명하고 에러 메시지를 함께 전달하기 264
저자소개
책속에서





















