메인
home
소프트웨어
home
🔮

2-2. 마이크로비트를 이용한 자율주행 자동차 파이썬 코딩

학습목표

센서 및 모터의 역할을 설명하고 제어할 수 있다.
기초 프로그래밍 문법을 피지컬 컴퓨팅에 응용할 수 있다.
라인트레이싱의 작동 원리를 서술할 수 있다.

라인트레이싱의 기본적인 작동원리

라인 트래킹 센서는 적외선 LED가 물체에 반사되어 들어오는 빛을 감지한다.

라인 트래킹 센서의 구조

자율주행 자동차의 뒷면

라인 트래킹 센서의 작동원리

자동차가 지나는 바닥면이 흰색일 때 센서 1의 값, 검정색일 때 센서 0의 값을 이용해 자동차 모터를 제어한다.
직진, 정지, 좌회전, 우회전의 경우

바퀴의 역학적 구조를 이용해 효율적인 동선 작성

자동차 바퀴의 지름을 원의 둘레 공식에 활용하면 주행거리 계산이 가능하다.
(원의 둘레 공식은 2 π r이지만 계산 편의를 위해 지름*π로 서술함.)
자동차 바퀴 지름이 430mm(4.3cm)일 때, 1회전 당 주행거리는 1350mm(13.5cm)
라인트레이싱 트랙을 이용할 때 직선 코스 주행거리를 미리 계산하면 더 빠른 이동이 가능하다.

라인 트레이싱에 사용되는 핵심 파이썬 문법

1. while 문

2. if ~ elif 문

3. 라인트레이싱 센싱 코드 작성법

가. mirco:bit Python Editor 접속

Project 메뉴 maqueen.py 파일 업로드
maqueen.py
1.8KB

나. main.py 항목에서 코드 작성 시작

다.라이브러리 및 변수 설정

import maqueen # 마퀸라이브러리 불러오기 auto = maqueen.Maqueen() # 자율주행차 변수 auto에 마퀸 자율주행 함수를 할당한다.
Python
복사

라. while True 내부에 무한 반복 시킬 센서 변수 할당하기

import maqueen # 마퀸라이브러리 불러오기 auto = maqueen.Maqueen() # 자율주행차 변수 auto에 마퀸 자율주행 함수를 할당한다. while True: left = auto.read_patrol(0) #왼쪽 센서 값 변수 left에 할당 right = auto.read_patrol(1) #오른쪽 센서 값 변수 right에 할당
Python
복사

마. if~elif 문을 이용해 직진, 정지, 좌회전, 우회전 조건 작성하기

import maqueen # 마퀸라이브러리 불러오기 auto = maqueen.Maqueen() # 자율주행차 변수 auto에 마퀸 자율주행 함수를 할당한다. while True: left = auto.read_patrol(0) #왼쪽 센서 값 변수 left에 할당 right = auto.read_patrol(1) #오른쪽 센서 값 변수 right에 할당 if left==1 and right==1: #양쪽 센서값이 1이면 양쪽 모터 속도 30으로 직진 auto.set_motor(0, 30) auto.set_motor(1, 30)
Python
복사

바. 자율 주행 전체 코드 작성

import maqueen # 마퀸라이브러리 불러오기 auto = maqueen.Maqueen() # 자율주행차 변수 auto에 마퀸 자율주행 함수를 할당한다. while True : left = auto.read_patrol(0) right = auto.read_patrol(1) if left==1 and right==1: #양쪽 센서값이 1이면 양쪽 모터 속도 30으로 직진 auto.set_motor(0, 30) auto.set_motor(1, 30) elif left==0 and right==0: #양쪽 센서값이 0이면 양쪽 모터 속도 0으로 차량 정지 auto.set_motor(0, 0) auto.set_motor(1, 0) elif left==0 and right==1: #오른쪽 센서값이 1이면 오른쪽 모터 속도 30으로 좌회전 auto.set_motor(0, 0) auto.set_motor(1, 30) elif left==1 and right==0: #왼쪽 센서값이 1이면 왼쪽 모터 속도 30으로 우회전 auto.set_motor(0, 30) auto.set_motor(1, 0)
Python
복사

사. 전체 코드 마이크로 비트 전송

아. 자율주행차 작동 확인하기