차세대융합기술연구원에서 진행하는 ‘2026 대학생 자율주행 경진대회’ 에 팀장으로 참가하게 된 나.
컴퓨터공학을 이중전공한 탓에 hw 관련 수업을 들어본 적이 없어 관련 지식이 전무한 상태였다.
대회 주최측에서 제공해주는 물품에 아두이노, 초음파 센서, 라이다 등 처음 만져보는 하드웨어들이 너무 많아서 관련 경험이 필요할 것 같다고 생각하던 중, 융기원에서 마침 Arduino 관련 실습 교육을 진행한다고 하여 바로 신청했다!
이틀간 진행된 본 교육에서는 Arduino UNO G1 탱크 키트를 활용하여 실습을 진행하였다. 나사와 드라이버를 이용한 하드웨어 조립부터 코드 작성 및 업로드까지 전 과정을 직접 수행하였는데, 이러한 일련의 과정 자체가 매우 흥미로워 교육받는 내내 기분이 좋았다.

본관 건물! 교육장까지는 꽤 걸어 들어갔어야 했다. (매우 추웠다 🥶)

건물 안에서 헤매고 있었는데, 때마침 팻말이 등장해서 반가웠다 ㅎㅎ

아두이노에 꽂는 확장 보드. 일반적인 Bread Board(빵판)가 아니라서 연결하기 편했다.

Arduino는 센서로부터 입력을 받아 연산을 수행하고, 액추에이터를 통해 출력하는 "작은 컴퓨터"로 정의할 수 있다. 기본적인 구조는 다음과 같다:
센서(입력) → 컨트롤러(연산) → 액추에이터(출력)
Arduino 보드의 핀은 디지털 신호와 아날로그 신호를 처리할 수 있으며, PWM(Pulse Width Modulation) 기능을 지원한다. PWM은 on/off를 고속으로 반복하여 평균 출력값을 생성하는 방식으로, 기판에 물결 표시(~)가 있는 핀에서 사용 가능하다.
Arduino 프로그래밍은 setup()과 loop() 두 가지 핵심 함수로 구성된다. macOS 환경에서는 별도의 드라이버 설치 없이 USB 연결만으로 인식되지만, Windows 환경에서는 별도의 드라이버 설치가 필요하다.
// 예시 코드
void setup() {
// 초기화 코드: 프로그램 시작 시 한 번만 실행
pinMode(13, OUTPUT); // 13번 핀을 출력 모드로 설정
Serial.begin(9600); // 시리얼 통신 시작
}
void loop() {
// 반복 실행 코드: setup() 이후 계속 반복
digitalWrite(13, HIGH); // LED 켜기
delay(1000); // 1초 대기
digitalWrite(13, LOW); // LED 끄기
delay(1000); // 1초 대기
}