지은이 : 장문철
현) 미랩 대표현) 다두이노(www.daduino.co.kr) 대표전) 부천대학 정보통신과 겸임교수 (강의)파이썬, 아두이노, 인공지능, AI 자율주행 자동차, 사물인터넷, 아두이노 드론, 라즈베리파이, ARM mbed 외(저서)파이썬으로 구현하는 AI 자율주행 자동차 with 아두이노 자동차 만들기 (2023. 11 앤써북)한권으로 끝내는 파이썬과 아두이노로 52개 작품만들기 (2023. 07 앤써북)챗GPT 실전 활용 보고서 (2023. 07 앤써북)챗GPT & AI를 활용한 인공지능 그림 그리기 실전 (2023. 05 앤써북)챗GPT를 활용한 40가지 파이썬 프로그램 만들기 (2023. 04 앤써북)챗GPT를 활용한 아두이노 입문 (2023. 04 앤써북)모두가 할 수 있는 인공지능으로 그림 그리기 (2023. 03 앤써북)ChatGPT가 직접 쓴 챗GPT 입문 (2022. 11 앤써북)업무에 바로 활용하는 SSS급 일잘러를 위한 파이썬과 40개의 작품들 (2023. 11 앤써북)만들면서 배우는 아두이노 IoT 사물인터넷과 40개의 작품들 (2023. 08 앤써북)아두이노 자동차의 모든 것 아두이노, 메이커, C언어, 자동차 (2022. 06 앤써북) 만들면서 배우는 파이썬과 40개의 작품들(2022. 02 앤써북)만들면서 배우는 라즈베리파이와 40개의 작품들(2021. 09 앤써북)AI 인공지능 자율주행 자동차(2021. 08 앤써북)모두가 할 수 있는 앱 인벤터로 11개 인공지능 앱 만들기(2021. 06 앤써북)만들면서 배우는 아두이노와 40개의 작품들(2021. 03 앤써북)아두이노와 앱인벤터 입문+실전(종합편)(2020. 11 앤써북)다두블럭으로 만들고 엔트리로 코딩하기(2017. 09 앤써북)
CHAPTER 01 자율주행 자동차 시작
01 자율주행 자동차란
02 AI 자동차 조립하기
- 구성품 리스트
- 조립하기
- 아두이노 AI 자동차 부위 명칭
- 각 부위에 따른 명칭
- 자동차 웹으로 접속하여 조종하기
CHAPTER 02 개발환경구성 및 파이썬 기초 문법 익히기
01 파이썬이란
02 파이썬 언어의 특징 및 장점
03 파이썬 개발환경 구성
04 아나콘다 다운로드 및 설치
05 VS Code(비주얼스튜디오코드) 다운로드 및 설치
06 VS Code(비주얼스튜디오코드)에 유용한 기능 설치
07 파이썬 기초 문법
(1) print
(2) input
(3) 변수 - 숫자형, 문자형, 소수점형, BOOL형
(4) 자료형 - 리스트, 튜플, 디셔너리, set
(5) 연산 - 사칙연산, 논리연산, 비교연산
(6) 조건문
(7) 반복문 - while, for 반복문
(8) 오류 및 예외처리
(9) 함수
(10) 클래스
(11) 주석
(12) import
(13) 변수의 범위
CHAPTER 03 OpenCV를 활용한 자동차 조종하기
01 작업영역 폴더 추가하기
02 OpenCV로 자동차 영상 받기
- 자율주행 자동차 영상 스트리밍 데이터 확인
- 영상 프트리밍 데이터 OpenCV를 이용하여 영상 출력
- 이미지의 아랫부분 1/2만 잘라 출력하기
- 이미지의 사이즈를 224×224로 조절
03 OpenCV로 자동차 조종하기
- OpenCV를 이용한 키보드 값 확인
- 키보드 값에 따른 조건문 추가
- 조종 기능을 추가하여 자동차 조종하기
CHAPTER 04 인공지능 자율주행 자동차 만들기
01 트랙 만들기
02 주행 이미지 데이터 수집하기
- 폴터 생성하고 이미지 1장 저장하기
- 주행 이미지 저장하기
- 주행 데이터 모으기
03 수집된 데이터 학습하기
04 학습데이터 적용하여 자율주행
- 티처블머신의 예측 예제코드로 확인하기
- 쓰레드를 이용하여 영상 수신부와 분리
- 경로 예측
- 자율주행
- 95% 이상일 때만 조종하여 성능 높이기
- 주요 변경 사항
CHAPTER 05 OpenCV를 자율주행 자동차 만들기
- 라이브러리 설치
01 OpenCV로 영상처리 하기
- 자동차의 영상을 OpenCV를 이용하여 출력하기
- 색상 필터링으로 검정색 선 추출
- 영상처리를 통한 무게 중심 찾기
02 OpenCV로 자율주행하기
- 영상처리를 통한 자율주행 완성
- 쓰레드를 이용하여 자율주행 성능 높이기
CHAPTER 06 인공지능 객체 검출하여 자율주행하기
- 라이브러리 설치
- 객체 이미지 인쇄하기
01 Yolo를 이용한 객체 검출하기
- yolov5 기본 모델 사용해서 객체 검출하기
02 새로운 객체를 라벨링하여 추가하기
- 버튼을 눌러 이미지 저장하기
- Yolov5 모델 라벨링하기
- Yolov5 모델 학습하기
- 학습한 객체 검출하기
- 쓰레드 사용하여 객체 검출
03 객체 탐지를 자율주행에 구현하기
- 자율주행과 객체 검출 동시에 사용하기
- 자율주행에 객체 검출 결과 반영하기
CHAPTER 07 아두이노 자동차 개발환경 구성
01 아두이노란?
- 아두이노란 무엇인가?
- 우리는 아두이노를 어떻게 동작 시키는가?
- 아두이노로 무엇을 만들 수 있나?
- 왜 세계 여러 사람이 아두이노를 사용하는가?
- 인공지능과 아두이의 만남
- 아두이노 보드 종류
02 아두이노 설치하기
03 아두이노에 ESP32 개발환경 구성하기
CHAPTER 08 아두이노 자동차 기능 테스트
- 아두이노 코드 폴더 구조
01 LED 테스트
- 2초마다 LED를 깜빡이는 코드
- LED의 밝기를 점점 밝게하는 코드
- map 함수 사용 밝기를 점점 밝게하는 코드
02 시리얼통신
- 시리얼통신으로 1초마다 hello 전송
- 시리얼통신으로 1초마다 hello 전송 줄바꿈
- 통신속도 변경
- 통신으로 응답하기
- 통신으로 LED 밝기조절
03 모터 구동하기
- 모터를 정방향으로 동작
- 자동차를 전진, 후진, 좌회전, 우회전으로 동작
- 자동차의 이동 방향을 함수를 사용하여 간결하게 수정
04 OLED 테스트
- 라이브러리 설치
- OLED를 테스트하는 코드
- OLED와 모터를 같이 사용하기
05 EEPROM 테스트
- EPROM에 데이터 쓰기
- EPROM에 데이터 읽기
- EPROM에 랜덤한 이름 부여하기
06 WIFI 접속
CHAPTER 09 웹 서버로 조종하는 자동차 만들기
01 라이브러리 설치
02 웹서버로 조종하는 자동차 최종 코드 작성하기
03 코드 설명
도서 DB 제공 - 알라딘 인터넷서점 (www.aladin.co.kr)