Search
🚗

자율 주행 코딩으로 배우는 재밌는 정보과 행사

생성일
2025/03/10 03:05
태그
#자율주행자동차
#네오씽카
#두부쌤
안녕하세요~ 이번에 새롭게 합류한 두부쌤입니다.
이렇게 뉴스레터로 만나 뵙게 되어 영광입니다.🫶🏻
오늘 소개할 내용은 고등학교 1, 2학년을 대상으로 진행한 정보과 행사입니다!^^
컴퓨터 공학뿐만 아니라 다양한 분야의 공학 계열을 희망하는 학생들의 생기부에 도움이 되고,
프로그래밍과 인공지능에 관심이 많지만 텍스트 기반 프로그래밍은 어려워하는 학생들이
재미있게 참여할 수 있는 행사를 많이 고민했는데요…
(+예산이 어느 정도 있어 교구를 사용하여 진행할 수 있는…)
햄스터 봇, 코드이노 등 다양한 교구를 찾다가 네오씽카에 괜찮은 교구가 있어, 선택하여 사용하게 되었습니다!
그럼, 네오씽카 교구의 특성을 간단하게 살펴보고 행사 내용에 대해 소개하겠습니다.

네오씽카 자율 주행 자동차 교구 특성

블록을 조립하여 자동차 조립 가능, 도로 소품을 통해 재미있게 주행 가능
동글과 젠더를 통해 노트북/스마트폰(어플)으로 블록 코딩 가능
다양한 수업자료(강의용 PPT, 지도 계획서, 영상 등) 제공
네오씽카 교구 사진, 소개 영상

자율 주행 코딩 및 실습(Ⅰ, Ⅱ)

행사 기간: 2일 (Ⅰ: 3차시, Ⅱ: 3차시 총 6차시)
참여 인원: 15명 내외
프로그램 소개
네오씽카를 통해 AI 자율 주행 자동차의 원리를 이해하고, 블록 코딩으로 자율 주행 자동차의 다양한 기능을 구현하며 인공지능에 대한 흥미를 높이고 창의적 문제 해결력과 컴퓨팅 사고력을 신장한다.
실습Ⅰ 활동 목표
1.
‘네오봇’ APP과 엔트리 AI 플랫폼을 통해 자율 주행의 원리를 이해할 수 있다.
2.
다양한 센서와 출력 모듈의 역할을 이해하고 다양한 기능을 구현하는 데 활용할 수 있다.
3.
조립 설명서를 보고 블록을 조립하여 원하는 형태의 자동차를 만들 수 있다.
실습Ⅰ 활동 내용
1차시
모둠을 구성하고 자율 주행 자동차의 기본적인 작동원리를 학습한다. 부품 정리, 컨트롤러와 동글, 입력 센서와 출력 모듈 등 네오씽카의 기본적인 구성에 대한 내용 학습을 진행한다.
2차시
회전모터, 서보모터의 각도 제어와 연속 제어, 회전에 대한 실습을 진행한다. 컬러 센서의 표시 값, 적외선 센서, 거리 센서, LED 블록에 대해 알아보고 표지판 도로에서 실습을 진행한다.
3차시
모둠별로 네오씽카의 A-type, B-type, C-type 중 하나를 선택해 조립 설명서를 보고 조립한다.
실습Ⅱ 활동 목표
1.
첨단 자율 주행 자동차의 기능을 코딩으로 구현할 수 있다.
2.
테스트와 디버깅 과정을 반복해 주어진 코스를 자율 주행할 수 있다.
3.
새로운 상황과 미션을 만들어 문제해결 능력을 향상시킬 수 있다.
실습Ⅱ 활동 내용
1차시
차로 유지 보조 – 두 개의 적외선 센서로 차로를 이탈하지 않고 주행하기 지능형 속도 제한 보조 – 도로의 구간별 제한 속도를 컬러 센서로 읽어 자동으로 자동차 속도 변속하기 자동차로 변경 – 차로 변경 신호에 따라 자동으로 차로 변경하기
2차시
어댑티드 크루즈 컨트롤 – 직선 도로와 곡선 도로에서 앞차와의 거리를 인식하고 안전 속도로 자동차 변속하기 장애물 회피 주행 – 공사 구간을 인식하고 자동으로 차로를 바꾸는 기능 실습하기 후면 자율 주차 – 주차 가능 구역을 인식하고 자동으로 후면 주차하기 평행 자율 주차 – 비어있는 주차 공간을 확인하고 자동으로 평행 주차하기
3차시
모둠별로 문제 상황을 설정하고 내장 프로그램의 여러 자율 주행 기능을 종합적으로 응용해본다. 응용 후 블록을 분해하여 원 상태로 복구한다.
실습Ⅰ에서는 인공지능, 자율 주행 자동차의 원리를 설명하고 센서와 출력 모듈을 실습했습니다~
1.
컬러 센서: 흰색, 빨간색, 노란색, 녹색, 파란색에서 IN1, IN2, IN3의 표시 값이 어떻게 달라지는지 확인
2.
적외선 센서: 검은색 도로, 도로와 차선의 경계 지점, 흰색 차선에서 IN1, IN2, IN3의 표시 값이 어떻게 달라지는지 확인
3.
거리 센서: 물체를 감지하고 거리를 측정하여 값이 어떻게 달라지는지 확인
4.
출력 모듈: 회전 모터, 서보 모터, LED 블록 작동해 보기
이후 모둠별로 A, B, C 타입 중 하나를 선택하여 조립하였습니다.
A 타입 기능
B 타입 기능
C 타입 기능
실습Ⅱ에서는 본격적인 코딩을 진행했는데요~
조립한 자동차의 다양한 기능을 아래의 도로에서 구현해 보았습니다.
자율 주행 도로(도로에 있는 색이 칠해진 원은 속도를 조절할 때 활용)
학생들에게 전방 거리 감지, 주행 속도 조절, 굽은 도로에서 장애물 감지 등 구현할 기능을 먼저 소개하고 구체적인 코드는 알려주지 않고 모둠별로 스스로 구현해 보게 하였습니다.
블록 코딩을 통해 기능 구현 [정답 예시 코드]
처음에는 갈피를 잘 잡지 못했지만 모둠 내에서, 그리고 모둠끼리 서로 소통하며 기능을 하나씩 구현해 갔습니다~ 또한 구현 과정에서 발생한 예상치 못한 오류를 발견하고, 협력하여 해결하며 희열을 느끼는 모습도 관찰할 수 있었습니다!
성공적으로 구현한 모둠은 [정답 예시 코드]를 보여주고 스스로 작성한 코드와 비교·분석하여 활동지에 작성하게 하였습니다.
학생들이 열심히 활동하고 있는 모습
이렇게 많은 기능을 스스로 구현해 보며, 자율 주행이 동작하기 위해서다양한 기능이 필요하며, 많은 센서와 출력 모듈, 수식 계산, 데이터를 활용한 알고리즘 설계 등이 필요하다는 사실을 학생들이 직접 체감해 볼 수 있었습니다.
대부분의 기능을 구현한 후, 모둠별로 만든 자동차를 한 도로에서 작동하며 서로 부딪치지 않고 안전하게 자율 주행하는 활동을 이어서 진행하였습니다. 이 외에도 실제 도로에서 겪은 경험을 바탕으로 골목길 자율 주행, 벽 탐지 주행 등 다양한 상황을 설정하여 해당 상황에 대처하는 것도 구현해 보았습니다!
실습이 끝난 후 모둠별로 조립한 자동차를 다시 분해하여 정리하고, 활동지에 새롭게 알게 된 점, 추가 탐구하고 싶은 내용, 소감 등을 작성하면서 행사를 마무리하였습니다.
이번 행사를 진행하는 과정에서 학생들이 활기찬 모습으로 활동에 즐겁게 참여하는 모습을 보고 저 또한 신이 났던 것 같습니다!
선생님들께서도 학교에서 많은 행사를 기획하고, 재미있게 진행하고 계실 텐데요~
제가 활동한 내용이 조금이나마 도움이 됐으면 좋겠습니다!
끝으로 학생들이 작성한 추가 탐구하고 싶은 내용, 생기부 예시를 공유하며 마무리하겠습니다.
다음 호에서 뵙겠습니다~~감사합니다.

학생들이 작성한 ‘추가 탐구하고 싶은 내용’ 몇 가지

자동차가 임의로 배치되어 있는 실제 주차 상황에서 정확하게 주차하는 방법
임의로 움직이는 장애물을 회피하여 안전하게 주행하는 방법
실제 자율 주행에서 사용되는 센서들을 활용하여 비포장도로 등 다양한 환경에서 정밀한 자율 주행 구현
정밀한 계산을 통해 부드럽고 자연스럽게 주행하는 방법
신호등, 주차장 차로 변경 등 실제 주행 환경에서 사용되는 기능 구현
재질과 색 등 장애물의 속성에 따른 인식 정도 구현
장애물의 설정된 위치와 관계없이 센서를 움직이고, 주변 차량의 속도에 따라 주행 속도를 조절하는 방법
독립적인 기능 구현이 아닌 모든 기능들이 서로 연계되어 활용될 수 있는 방법

생기부 예시

'자율주행 코딩Ⅰ, Ⅱ(날짜)'에 참여하여 다른 학생들과 협력하여 자율 주행 자동차를 조립하고 어댑티브 크루즈 컨트롤, 장애물 회피 주행, 벽 탐지 주행, 골목길 주행, 평행 자율 주차 등 자율 주행 자동차의 다양한 기능을 블록형 프로그래밍 언어를 사용하여 구현함. 과제 수행 과정에서 발생한 문제를 협력하여 원인을 찾아 해결하는 과정에서 끈기와 협동심 있는 모습을 보임. 프로그래밍 과정에 흥미를 느끼고 실제 상용화된 기술을 탐구하고자 하는 의지를 밝힘. 독립적인 기능 구현이 아닌 모든 기능이 서로 연계되어 활용될 수 있는 방법에 대한 추가 탐구 과제를 설정하였으며, 이 과정에서 열정적인 탐구 정신이 돋보임.