Presentation is loading. Please wait.

Presentation is loading. Please wait.

아두이노 프로그래밍 4일차 – Part1 모바일 로봇 강사: 김영준 목원대학교 겸임교수

Similar presentations


Presentation on theme: "아두이노 프로그래밍 4일차 – Part1 모바일 로봇 강사: 김영준 목원대학교 겸임교수"— Presentation transcript:

1 아두이노 프로그래밍 4일차 – Part1 모바일 로봇 강사: 김영준 목원대학교 겸임교수
헬로앱스 (

2 로봇 및 모터 펌프 연결하기

3 로봇 모터 및 모터 펌프 연결하기 올인원 센서 쉴드에서의 모터핀 2개의 DC 모터 또는 모터 펌프 등을 연결하는 핀
(2개의 핀으로 구성) 모터2 모터1

4 로봇 모터 및 모터 펌프 연결하기 모터 핀에 연결되는 부품들 모바일 로봇의 모터 화분 물주기 키트의 모터펌프

5 로봇 모터 및 모터 펌프 연결하기 모터핀에 연결하기 오른쪽 모터 케이블 (MOTOR2) 왼쪽 모터 케이블 (MOTOR1)

6 로봇 주행 명령어

7 기본 주행 제어 명령어 익히기 내장 명령어 탭에 있는 주행제어하기 명령어를 찾습니다.

8 기본 주행 제어 명령어 익히기 DriveWrite (200, 200) DriveWrite 명령어 첫번째 모터의 파워값
-255 ~ 255 사이의 값 두번째 모터의 파워값 -255 ~ 255 사이의 값

9 기본 주행 제어 명령어 익히기 DriveWrite 명령어 설명 첫번째 모터값 (Left Power) 두번째 모터값
Left 값과 Right 파워 값은 -255 에서 255 사이의 아무 값이나 사용 가능 설명 첫번째 모터값 (Left Power) 두번째 모터값 (Right Power) 최대 속도 전진 255 보통 속도 전진 200 정지 후진 -200 최대속도 후진 -255 좌회전 우회전

10 기본 전진 패턴 void setup() { } void loop() DriveWrite(200, 200) Delay(1000)
양쪽의 모터를 같은 방향으로 회전시킴 void setup() { } void loop() DriveWrite(200, 200) Delay(1000)

11 기본 주행 패턴 1초간 전진하고 1초간 후진, 1초간 회전을 반복합니다. void setup() { } void loop()
DriveWrite(200, 200) Delay(1000) DriveWrite(-200, -200) DriveWrite(-200, 200)

12 기본 주행 패턴 건전지 홀더를 장착하고, 로봇이 스스로 움직이도록 합니다.
프로그램이 실행되고 나면, USB 전원 케이블을 빼도 프로그램이 지워지지 않고 SPL-Duino 보드에 남아 있게 됩니다. 건전지 홀더를 연결하면, 전원이 켜지는 순간 SPL-Duino 보드에 저장되어 있는 프로그램이 자동으로 실행되게 됩니다.

13 실습: 컵 주행 미션 다음과 같이 종이컵을 배치합니다. 종이컵 로봇 출발 위치 로봇 도착 위치
출발위치에서 로봇을 출발시켜, 두 개의 종이컵을 건드리지 않고 빠져나가서 목적지에 도착하는 미션을 모둠별로 수행하여 순위를 정해 봅니다. (미션 수행 시간: 50분)

14 실습: 컵 주행 미션 다음과 같이 미션을 수행합니다. 난이도가 낮은 미션 난이도가 보통인 미션

15 실습: 로봇 댄스 모둠별로 좋아하는 음악을 선택한 후, 해당 음악에 맞추어 로봇이 움직이도록 로봇 주행 프로그램을 작성해 봅니다.

16 키패드 로봇 조종기

17 키패드 함수 라이브러리 불러오기 #include <AnalogKeyPad.h> void setup() { } void loop() a0 = KeyPad(0) PrintLine(a0) Delay(100) • 새로운 스크립트 파일을 생 성합니다. • 프로그램 상단에 #include <AnalogKeyPad.h> 를 추가합 니다. • KeyPad 함수를 활용합니다.

18 키패드로 로봇 조종기 만들기 #include <AnalogKeyPad.h> void setup() { }
void loop() a0 = KeyPad(0) if (a0 == 1) DriveWrite(0, 200) else if (a0 == 2) DriveWrite(200, 200) else if (a0 == 3) DriveWrite(0, 0) } else if (a0 == 4) { DriveWrite(200, 0) } else if (a0 == 5) DriveWrite(-200, -200) Delay(100)

19 장애물 감지 로봇

20 장애물 회피 로봇 아날로그 PSD 거리센서 - 적외선을 이용하여 대상물까지의 거리를 측정하여 값으로 변환
- 측정값은 0 ~ 1023 사이의 값으로 읽혀짐 - 10cm ~ 80cm 사이의 거리를 측정합니다.

21 장애물 회피 로봇 아날로그 PSD 센서 장착하기 PSD 거리 센서를 로봇 앞에 고정시켜 줍니다.

22 장애물 회피 로봇 장애물을 만나면 로봇이 멈추도록 합니다. void setup() { } void loop()
a0 = AnalogRead(0) if (a0 > 300) DriveWrite(0, 0) else DriveWrite(200, 200) Delay(100)

23 장애물 회피 로봇 장애물을 만나면 로봇이 1초간 후진하도록 기능을 수정 합니다. void loop() {
a0 = AnalogRead(0) if (a0 > 300) DriveWrite(-200, -200) Delay(1000) } else DriveWrite(200, 200) Delay(100)

24 장애물 회피 로봇 장애물을 만나면 로봇이 1초간 후진, 1초간 회전하도록 기능을 수정 합니다. void loop() {
a0 = AnalogRead(0) if (a0 > 300) DriveWrite(-200, -200) Delay(1000) DriveWrite(0, 200) } else DriveWrite(200, 200) Delay(100)


Download ppt "아두이노 프로그래밍 4일차 – Part1 모바일 로봇 강사: 김영준 목원대학교 겸임교수"

Similar presentations


Ads by Google