- 주제 : 아두이노
- 대상: 프로그래밍과 아두이노에 관심이 많은 중고등학생
- 난이도: 중상 ~ 상
- 장소 : 대전(대덕SW마이스터고등학교)
- 강의자: 김민종, 김지섭, 김현우, 박상민
- 예상 차시: 9차시
- 소요 시간: 3시간 / 차시
- 수업 목표
- RC카 제작
- 센서의 이용법과 활용법을 터득한다.
- 모듈의 개념과 기능, 사용법을 습득한다.
- 디지털과 아날로그의 차이점을 이해한다.
- 코딩에 대해 알아보고 직접 코드를 작성한다.
- 아두이노를 직접 다루어보고 관련된 지식을 습득한다.
- 브레드 보드를 이용한 기본적인 회로 구성능력을 습득한다.
- 컨트롤러 제작
- RC카 제작의 연장선으로 조이스틱 센싱을 해본다.
- RF라디오 송/수신기의 원리 및 사용법을 터득한다.
- 강의는 2명씩 격주로 진행
- RC카 제작
- 수업 자료
- 각 차시 담당자가 PPT와 그 밖의 자료 준비
- 나머지 강의자는 수업 자료 피드백 및 보완
- 강의차시 담당자 : 박상민
- 강의자 : 박상민, 김현우
- 강의 목표: 하나의 LED를 ON/OFF하고 모터를 정/역회전 해본다.
- 강의 내용
- 커리큘럼 진행방향 설명 및 Ice breaking!
- 얼음은 깨고 수업 진행해야죠?
- 소프트웨어 설명
- 소프트웨어의 역사
- 소프트웨어의 현주소, 일상생활의 적용된 사례
- 아두이노의 구조, 브레드보드, LED, 저항에 대해 설명
- 브레드 보드 사용법 설명
- Fritzing, 회로도 등을 사용하여 학생들의 회로 설명
- 전자회로 기초(전원, 접지, 전류 방향 설명)
- setup(), loop(), pinMode(), digitalWrite() 설명
- Hour of Code 방식의 실습을 진행
- 함수내의 인자를 <보기>형식으로 제시, 학생들이 인자를 직접 매칭해보는 방식
- 예시)
- □번 핀을 □랑 연결하기
- □번 핀을 □으로 설정하기
- □번 핀 겨기 / 끄기
- 실습 진행 내용
- LED 켰다 끄기 반복하기
- 모터 회전 시켜보기
- 모터 드라이버 사용하지 않음
- 5차시에서는 모터드라이버에 대해서 설명
- 모터드라이버는 5차시, 모터에 대해서 집중 설명할 때 사용
- digitalWrite()함수를 사용하여 핀에 직접 연결
- 커리큘럼 진행방향 설명 및 Ice breaking!
- 강의차시 담당자 : 김현우
- 강의자 : 김현우, 김민종
- 강의 목표: 조건문을 익히고 버튼으로 LED를 제어해본다.
- 강의 내용
- 변수에 대해 설명
- 배열의 개념은 제외
- 학생들에게 과제를 제시할 때, 배열 개념 없이 해결할 수 있는 과제를 선정
- 변수의 산술 연산 설명
- 직접 눈에 보이는 실물을 가지고 설명
- 상자에 숫자가 프린트 된 종이를 넣는 식의 설명(변수에 자료를 대입)
- 모양이 다른 종이는 상자에 들어가지 않는 다는 식의 설명(자료형)
- if문에 대해 설명
- 조건이라는 개념 설명
- 논리 연산자, 비교 연산자 설명
- 실습 진행 내용
- 버튼으로 LED, Buzzer 제어하기
- 버튼을 5번 누르면 LED가 켜지고 2초 있다가 꺼지기 반복하는 예제 수행하기
- 변수에 대해 설명
- 강의차시 담당자 : 김민종
- 강의자 : 김민종, 김지섭
- 강의 목표: LED를 푸시 버튼과 for문을 이용하여 제어한다.
- 강의 내용
- 아날로그 신호와 디지털 신호의 차이
- 연속(아날로그), 이산(디지털)
- 주변에서 아날로그와 디지털 찾아보기
- 반복문
- 실물 위주의 설명(반복문의 탈출 포인트, 변수의 변화)
- 과자 여러개를 가지고 와서, 3개 이상 먹으면 그만 먹기! 이런식으로 반복 조건 설정 후 직접 먹여주면서 설명
- for문 조건 보여주고, 이 조건만큼 먹으라고 하기
- 실습 진행 내용
- for문으로 LED 밝기 조절
- 푸시 버튼으로 LED 밝기 조절
- 아날로그 신호와 디지털 신호의 차이
- 강의차시 담당자 : 김지섭
- 강의자 : 김지섭, 박상민
- 강의 목표: CDS와 조이스틱 센서값을 받고 확인한다.
- 강의 내용
- CDS
- CDS 원리 파악
- CDS 센서 회로 구성
- CDS값으로 LED 제어
- 조이스틱
- 가변저항 구조 파악
- 조이스틱의 가로, 세로 값을 받아오기
- 조이스틱으로 얻은 값으로 모터 제어
- 컨트롤러 제작
- 사전 제작한 컨트롤러 프레임 제공
- 조이스틱 및 기타 버튼 달기
- 모터와 LED로 컨트롤러 동작 테스트
- RF 모듈을 이용한 컨트롤러와 RC카 사이의 통신은 6차시에서 다룰 예정
- CDS
- 강의차시 담당자 : 박상민
- 강의자 : 박상민, 김현우
- 강의 목표: 모터를 모터 드라이버로 제어하고, PWM신호로 가감속을 해본다.
- 강의 내용
- RC카의 기본 구조를 갖고 있는 모형을 배부, 이후 진행할 차시에서 모듈 업그레이드 식으로 활용
- 모터 드라이버 설명 및 활용
- PWM 개념 설명 및 활용(매우 상세히 설명을 준비할 것!)
- 강의차시 담당자 : 김현우
- 강의자 : 김현우, 김민종
- 강의 목표: RC카를 조종할 수 있는 무선 조종기를 만들어보고, 실제로 RC카를 조종해보자
- 강의 내용
- Bluetooth 모듈의 이해와 활용
- RF와 Bluetooth에 대한 설명
- Serial과 baud rate에 대한 설명
- 다른 곳에서 사용하더라도 어려움이 없도록 원리에 대한 설명 제공
- 메인 소스코드 작성
- Bluetooth 모듈의 설정을 위한 AT mode
- 컨트롤러 - Serail 모니터 - RC카 구조에 차례 차례 접근하여 이해가 용이하도록 순서를 정해서 작성 및 테스트
- 동작 테스트 및 수정
- 간단한 과제를 통해 헬렌의 이해도 파악
- 헬렌이 원하는 기능을 구현할 수 있도록 도움
- 강의차시 담당자 : 김민종
- 강의자 : 김민종, 김지섭
- 강의 목표 : 초음파 센서와 피에조 부저를 다룰 수 있다.
- 강의 내용
- 압전소자 (피에조)
- 압전소자가 동작하는 원리에 대해 설명한다.
- 초음파 센서
- 초음파 센서의 원리를 알아보고 RC카에 적용
- 앞에 물체가 감지되면 정지
- 앞에 물체가 감지되면 LED 발광
- 옆에 물체가 감지되면 자동 회전 등
- 초음파 센서의 원리를 알아보고 RC카에 적용
- 피에조 부저
- 피에조 부저의 기능을 이해, RC카에 적용
- 후진 시 음악 재생
- 물체 감지시 경고음 재생
- 피에조로 엔진소리 구현 등
- 피에조 부저의 기능을 이해, RC카에 적용
- 압전소자 (피에조)
- 강의차시 담당자 : 김지섭
- 강의자 : 김지섭, 박상민
- 강의 목표: RC카를 후진 bgm이나 전조등 등의 커스터마이징
- 강의 내용
- 나만의 기능
- 깜빡이 (비상등, 차선 변경 등)
- 어두운 곳에서 헤드라이트 켜기
- 초음파 센서를 이용하여 장애물 자동 회피
- 부저를 이용하여 후진 시 "엘리제를 위하여" 연주
- 설리번이 준비해놓은 기능들 + 헬렌들이 직접 구현하고 싶은 기능
- 나만의 기능
- 강의차시 담당자 : 박상민
- 강의자 : 박상민, 김현우
- 강의 목표: RC카를 커스터마이징 하고 경주를 진행한다.
- 강의 내용
- 나만의 기능
- 8차시 내용을 이어 진행
- 본인이 원하는대로 RC카 커스터마이징
- 경주 진행 후 결과로 목표 성취감과 보상 제공
- 나만의 기능