학습목표
초음파(거리)·적외선(라인) 센서 값을 읽어 조건(선택)에 따라 스스로 주행하는 프로그램을 만들 수 있다.
장애물 회피 또는 라인 트레이싱 중 하나를 구현할 수 있다.
5차시
초음파·적외선 센서 값을 읽고 조건에 따라 장애물 회피 또는 라인 트레이싱을 구현합니다.
TODAY
도입 5 → 시연 10 → 실습 25 → 정리 5.
GOAL
초음파(거리)·적외선(라인) 센서 값을 읽어 조건(선택)에 따라 스스로 주행하는 프로그램을 만들 수 있다.
장애물 회피 또는 라인 트레이싱 중 하나를 구현할 수 있다.
[9정03-XX] 센서 입력에 따른 선택·반복 구조 프로그래밍 계열 (대조필요)
[9정01-XX] 센서·액추에이터 기반 피지컬 컴퓨팅 계열 (대조필요)
[9정04-XX] 인공지능/자율 시스템의 원리·영향 이해 계열 (대조필요)
READY
이 차시 지도안에 적힌 준비물만 체크합니다.
SAFETY
자율 주행 중 예측 못한 방향 이동 → 코스 밖 낙하·충돌 주의, 정지 버튼/조건 필수. 무한 루프 정지 방법 재확인.
LESSON SLIDES
위에서 아래로 진행하면 한 차시가 끝납니다.
VIDEO
교사용 지도안에 적힌 영상만 연결했습니다.
센서 연결
라인 트레이싱
센서 값·조건
WORKSHEET
한 차시 분량만 인쇄합니다.
이름: ____________________
☐ (A) 장애물 회피 (초음파) ☐ (B) 라인 트레이싱 (적외선 line1/line2)
반복:
센서 값 읽기
만약 (____________) 이면:
____________ (예: 회전해서 피하기)
아니면:
____________ (예: 직진)
from elio_uart.comm.eliochannel import eliochannel
with eliochannel('/dev/ttyUSB0') as ch:
ch.sensorConfig(sonic=True, line1=True, line2=True)
while True:
s = ch.readStatus()
if s.sonic_cm < ____: # 임계값(cm)
ch.sendPower(dc1=____, dc2=____) # 회피
else:
ch.sendPower(dc1=____, dc2=____) # 직진
| 시도 | 임계값(cm) | 속도 | 결과(성공/실패·이유) |
|---|---|---|---|
| 1 | |||
| 2 | |||
| 3 |
RUBRIC
트랙 M 루브릭에서 이 차시와 연결된 항목만 옮겼습니다.
| 구분 | 평가 요소 | 배점 | 상 | 중 | 하 | 연계 차시 |
|---|---|---|---|---|---|---|
| 개인 | 제작·발표 참여 | 2 | 제작·코딩·발표 적극 기여 | 부분 참여 | 소극/불참 | 3~6 |
| 개인 | 자율주행 상용화 영향 예측 | 2 | 긍정·우려 균형 있게 예측 | 한 측면만 | 단편적/미작성 | 1·5·6 성찰 |
| 모둠 | 문제 발견·개선 | 3 | 오류·실패를 분석해 개선 반영 | 개선 시도 일부 | 개선 없음 | 4·5 |
이 차시 평가/루브릭 연계 개인(10): "자율주행 상용화 영향 예측"(성찰 연계). 모둠(15): "문제 발견·개선", "미션 통과" 준비.
NEXT