다운로드 교육자료 문제해결 레퍼런스 구입방법

교육 자료 : C 언어 : 말판 이동하기 #2 (~인 동안 반복)

얼음 나라
햄스터 로봇이 펭귄 친구를 만나러 얼음 나라에 갔습니다. 얼음 나라는 길이 얼음으로 되어 있어서 너무 미끄럽습니다. 길 위에서는 방향을 바꿀 수 없어요. 벽이 나타날 때까지 계속 앞으로 미끄러져 이동하다가 벽을 잡고 방향을 바꾸어야 합니다. 아래 그림에서 햄스터 로봇이 펭귄 앞까지 이동하려면 어떻게 움직여야 할지 생각해 봅시다. 도착 지점으로 이동한 후에는 펭귄 친구와 얘기할 수 있도록 햄스터 로봇이 펭귄 방향을 바라보아야 합니다.

말판 내려 받기 PDF PPT

햄스터 로봇이 아직 너무 어려서 그림으로 그려진 벽은 알 수가 없으니 말판 위에 벽을 세워 놓아야 합니다. 그림의 손과 방향을 맞추어 손을 올려놓도록 합시다.

#include "roboid.h"

int can_move_forward(void) {
    return (hamster_left_proximity() < 40 && hamster_right_proximity() < 40) ? 1 : 0;
}

int main(int argc, char *argv[]) {
    hamster_create();

    while(can_move_forward()) {
        hamster_board_forward();
    }
    hamster_board_left();

    dispose_all(); // 통신 연결을 종료하고 메모리를 해제한다.

    return 0;
}

두 번째 펭귄 친구도 찾아 봅시다.

#include "roboid.h"

int can_move_forward(void) {
    return (hamster_left_proximity() < 40 && hamster_right_proximity() < 40) ? 1 : 0;
}

int main(int argc, char *argv[]) {
    int i;

    hamster_create();

    for(i = 0; i < 2; ++i) {
        while(can_move_forward()) {
            hamster_board_forward();
        }
        hamster_board_left();
    }

    dispose_all(); // 통신 연결을 종료하고 메모리를 해제한다.

    return 0;
}

세 번째 펭귄 친구도 찾아 봅시다.

#include "roboid.h"

int can_move_forward(void) {
    return (hamster_left_proximity() < 40 && hamster_right_proximity() < 40) ? 1 : 0;
}

int main(int argc, char *argv[]) {
    int i;

    hamster_create();

    for(i = 0; i < 4; ++i) {
        while(can_move_forward()) {
            hamster_board_forward();
        }
        hamster_board_right();
    }

    dispose_all(); // 통신 연결을 종료하고 메모리를 해제한다.

    return 0;
}

네 번째 펭귄 친구도 찾아 봅시다.

#include "roboid.h"

int can_move_forward(void) {
    return (hamster_left_proximity() < 40 && hamster_right_proximity() < 40) ? 1 : 0;
}

int main(int argc, char *argv[]) {
    int i;

    hamster_create();

    while(can_move_forward()) {
        hamster_board_forward();
    }
    hamster_board_right();
    hamster_board_right();
    for(i = 0; i < 2; ++i) {
        while(can_move_forward()) {
            hamster_board_forward();
        }
        hamster_board_right();
    }

    dispose_all(); // 통신 연결을 종료하고 메모리를 해제한다.

    return 0;
}
목차
수업 준비
  1. 하드웨어 살펴보기
  2. 햄스터 · 햄스터S · USB 동글 PDF · PPT
  3. 소프트웨어 설치
  4. PDF · PPT
  5. 로봇과 컴퓨터 연결
  6. PDF · PPT
  7. 예제 프로젝트 실행
  8. PDF · PPT
기초
  1. 새 프로젝트 만들기
  2. 클라우드 컴퓨터 환경에서 작업하기 (선택 사항)
  3. 말판 이동하기 #1 (순차, 횟수 반복)
  4. 이동하고 회전하기
  5. LED 켜고 소리 내기
  6. 순서대로, 반복하여 명령하기
  7. 키보드 이벤트
  8. 근접 센서 사용하기
  9. 말판 이동하기 #2 (~인 동안 반복)
  10. 바닥 센서 사용하기
  11. 밝기 센서와 가속도 센서 사용하기
  12. 브레이튼버그의 로봇
심화
  1. 보드 게임 만들기
  2. 센서 한 개를 사용한 라인 트레이서
  3. 센서 두 개를 사용한 라인 트레이서
  4. 햄스터 친구 따라가기 (2인 1조)
  5. 여러 대의 햄스터 로봇 제어하기 (선택 사항)
  6. 벽 따라가기
  7. 로봇 청소기 흉내 내기
  8. 라인 트레이서 교차로 주행하기
  9. 미로 탈출
확장 키트
  1. 조립하기
  2. 핀/소켓 배치 살펴보기
  3. 디지털 입력 - 버튼을 누르면 삐 소리가 나요
  4. 디지털 출력 - 어두우면 LED 불이 켜져요
  5. 디지털 출력 - 반짝반짝 LED를 깜박여요
  6. 디지털 출력 - 기울이는 방향으로 LED가 켜져요
  7. 아날로그 입력 - 포텐셔미터를 돌리면 음 높이가 달라져요
  8. 아날로그 입력 - 뜨겁지 않게 해주세요
  9. 아날로그 입력 - 빛을 따라 움직여요
  10. PWM 출력 - LED 불이 부드럽게 밝아졌다 어두워져요
  11. PWM 출력 - LED 촛불이 바람에 흔들려요
  12. 아날로그 서보 출력 - 햄스터 로봇에게 꼬리가 생겼어요
고급
  1. 행위 기반의 로봇 제어
  2. 경로 탐색
  3. 자리 바꾸기
Copyright 로봇SW교육원 All rights reserved.
어려운 일이 있으면 광운대학교 로봇학부 박광현 교수(akaii@kw.ac.kr)에게 연락하세요.