목차 한국기술교육대학교 강사: 김 영 준 ㈜헬로앱스 http://www.helloapps.co.kr 1일차 아두이노 소개 및 기본 명령어 2일차 아날로그 센서 응용 및 LED 제어 3일차 로봇 제어 및 스마트폰 연동 4일차 엑츄에이터 제어 및 LCD 표시장치 5일차 사용자 라이브러리 및 3D 프린팅 응용 강사: 김 영 준 ㈜헬로앱스 http://www.helloapps.co.kr
한국기술교육대학교 로봇 제어하기 로봇 연결 1) 고무 밴드를 이용하여 SPL-Duino 보드를 로봇 본체에 고정시킵니다.
한국기술교육대학교 로봇 제어하기 주행 제어 1) 내장 명령어 탭에 있는 주행제어하기 명령어를 찾습니다.
한국기술교육대학교 로봇 제어하기 주행 제어 2) 주행제어하기 명령어를 마우스로 드래그하여 추가해 줍니다.
로봇 제어하기 한국기술교육대학교 3) 주행제어하기 명령어 설명 주행 제어 첫번째 모터의 파워값 두번째 모터의 파워값 -255 ~ 255 사이의 값 두번째 모터의 파워값 -255 ~ 255 사이의 값
로봇 제어하기 한국기술교육대학교 주행 제어 설명 첫번째 모터값 (Left Power) 두번째 모터값 (Right Power) Left 값과 Right 파워 값은 -255 에서 255 사이의 아무 값이나 사용 가능 설명 첫번째 모터값 (Left Power) 두번째 모터값 (Right Power) 최대 속도 전진 255 보통 속도 전진 200 정지 후진 -200 최대속도 후진 -255 좌회전 우회전
한국기술교육대학교 로봇 제어하기 주행 제어 1) 로봇 전진시키기
한국기술교육대학교 로봇 제어하기 1초간 전진하고 1초간 후진, 1초간 회전을 반복합니다. 주행 제어
로봇 제어하기 한국기술교육대학교 건전지 홀더를 장착하고, 로봇이 스스로 움직이도록 합니다. 주행 제어 프로그램이 실행되고 나면, USB 전원 케이블을 빼도 프로그램이 지워지지 않고 SPL-Duino 보드에 남아 있게 됩니다. 건전지 홀더를 연결하면, 전원이 켜지는 순간 SPL-Duino 보드에 저장되어 있는 프로그램이 자동으로 실행되게 됩니다.
로봇 제어하기 한국기술교육대학교 다음과 같이 종이컵을 배치합니다. 주행 제어 종이컵 로봇 출발 위치 로봇 도착 위치 출발위치에서 로봇을 출발시켜, 두 개의 종이컵을 건드리지 않고 빠져나가서 목적지에 도착하는 미션을 모둠별로 수행하여 순위를 정해 봅니다. (미션 수행 시간: 50분)
한국기술교육대학교 로봇 제어하기 주행 제어 다음과 같이 미션을 수행합니다. 난이도가 낮은 미션 난이도가 보통인 미션
로봇 제어하기 한국기술교육대학교 아날로그 PSD 거리센서 - 적외선을 이용하여 대상물까지의 거리를 측정하여 값으로 변환 장애물 회피 주행 아날로그 PSD 거리센서 - 적외선을 이용하여 대상물까지의 거리를 측정하여 값으로 변환 - 측정값은 0 ~ 1023 사이의 값으로 읽혀짐 - 10cm ~ 80cm 사이의 거리를 측정합니다.
로봇 제어하기 한국기술교육대학교 PSD 거리 센서를 로봇 앞에 고정시켜 줍니다. 장애물 회피 주행 센서가 앞을 바라보도록 보드에 고정시켜 줍니다.
로봇 제어하기 한국기술교육대학교 If 비교 명령어를 추가해 줍니다 장애물 회피 주행 센서 앞에 장애물이 없으면 300 보다 작은 값이 측정됩니다. 하지만 장애물이 있으면 300 보다 큰 값이 측정이 됩니다.
한국기술교육대학교 로봇 제어하기 장애물 회피 주행 Else 명령어를 추가해 줍니다.
로봇 제어하기 한국기술교육대학교 장애물을 만나면 1초간 후진하고 그렇지 않으면 전진하는 기능을 구현해 봅니다. 장애물 회피 주행 장애물을 만나면 1초간 후진하고 그렇지 않으면 전진하는 기능을 구현해 봅니다.
로봇 제어하기 한국기술교육대학교 건전지 홀더를 장착하고, 로봇이 스스로 움직이도록 합니다. 장애물 회피 주행 프로그램이 실행되고 나면, USB 전원 케이블을 빼도 프로그램이 지워지지 않고 SPL-Duino 보드에 남아 있게 됩니다. 건전지 홀더를 연결하면, 전원이 켜지는 순간 SPL-Duino 보드에 저장되어 있는 프로그램이 자동으로 실행되게 됩니다.
로봇 제어하기 한국기술교육대학교 장애물을 만나면 다음과 같이 반응하도록 프로그램을 수정해 봅니다. 장애물 회피 주행 1초간 후진 0.5초간 회전 전진 그렇지 않으면 전진
로봇 제어하기 한국기술교육대학교 책상에서 떨어지지 않는 로봇을 설계해 봅니다. 장애물 회피 주행 책상에서 떨어지지 않는 로봇을 설계해 봅니다. 책상위에 센서가 있는 경우와 센서가 책상 바깥으로 나간 경우의 값을 비교합니다. 책상 책상
로봇 제어하기 한국기술교육대학교 미션을 수행하고 3분 이상을 책상에서 떨어지지 않고 장애물 회피 주행 미션을 수행하고 3분 이상을 책상에서 떨어지지 않고 움직이는 경우, 미션을 성공한 것으로 판단합니다. 3분 이상 책상에서 떨어지지 않고 움직이도록 합니다.
한국기술교육대학교 스마트폰 연동하기 앱 설치하기 Google Play에서 SPL-Duino로 검색하여 앱을 설치할 수 있습니다
한국기술교육대학교 스마트폰 연동하기 앱 설치하기 2번 예제를 실행합니다.
한국기술교육대학교 스마트폰 연동하기 앱 설치하기 Run 버튼을 클릭합니다.
한국기술교육대학교 스마트폰 연동하기 앱 설치하기 Scan for device 버튼을 눌러 아두이노 보드를 검색합니다.
한국기술교육대학교 스마트폰 연동하기 앱 설치하기 0000 값을 입력하여 페어링을 진행합니다.
한국기술교육대학교 스마트폰 연동하기 LED 제어 두번째 예제를 실행하여 LED를 제어해 봅니다.
스마트폰 연동하기 한국기술교육대학교 아두이노에서의 값 수신하기 LED 제어 void setup() { a = SerialRead() PrintLine(a) Delay(1000) }
스마트폰 연동하기 한국기술교육대학교 LED 점멸시키기 LED 제어 void setup() { a = SerialRead() if (a == 1) DigitalWrite(13, HIGH) else if (a == 2) DigitalWrite(13, LOW) Delay(100) }
한국기술교육대학교 스마트폰 연동하기 로봇 제어 네번째 예제를 실행하여 로봇을 제어해 봅니다.
한국기술교육대학교 스마트폰 연동하기 로봇 제어 네번째 예제를 실행하여 로봇을 제어해 봅니다.
스마트폰 연동하기 한국기술교육대학교 로봇 제어 void setup() { a = SerialRead() if (a == 1) DriveWrite(200, 200) else if (a == 2) DriveWrite(-150, 150) else if (a == 3) DriveWrite(0, 0) else if (a == 4) DriveWrite(150, -150) else if (a == 5) DriveWrite(-150, -150) Delay(100) }