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

교육 자료 : C 언어 : 말판 이동하기 #1 (순차, 횟수 반복)

동굴 탐험 (순차)
햄스터 로봇이 길을 떠나 동굴 속을 탐험하려고 합니다. 동굴 속에는 햄스터가 좋아하는 해바라기 씨가 가득한 보물 상자가 있습니다. 아래 그림에서 햄스터 로봇이 보물 상자 앞까지 이동하려면 어떻게 움직여야 할지 생각해 봅시다. 도착 지점으로 이동한 후에는 보물 상자를 열 수 있도록 햄스터 로봇이 보물 상자 방향을 바라보아야 합니다.

말판 내려 받기 PDF PPT

다음 함수들을 사용하면 말판 위에서 이동하거나 회전할 수 있습니다.

햄스터 로봇을 말판의 출발 위치에 방향을 맞추어 올려놓고 보물 상자 앞까지 이동시켜 봅시다.

#include "roboid.h"

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

    hamster_board_forward();
    hamster_board_right();
    hamster_board_forward();
    hamster_board_forward();

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

    return 0;
}

두 번째 동굴도 탐험해 봅시다.

#include "roboid.h"

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

    hamster_board_forward();
    hamster_board_forward();
    hamster_board_right();
    hamster_board_forward();
    hamster_board_forward();
    hamster_board_right();
    hamster_board_forward();
    hamster_board_forward();

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

    return 0;
}

세 번째 동굴도 탐험해 봅시다.

#include "roboid.h"

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

    hamster_board_forward();
    hamster_board_right();
    hamster_board_forward();
    hamster_board_left();
    hamster_board_forward();
    hamster_board_right();
    hamster_board_forward();
    hamster_board_left();

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

    return 0;
}
우물 찾기 (횟수 반복)
햄스터 로봇이 목이 마릅니다. 숲 속 우물을 향해 달려가야 합니다. 아래 그림에서 햄스터 로봇이 우물 앞까지 이동하려면 어떻게 움직여야 할지 생각해 봅시다. 도착 지점으로 이동한 후에는 햄스터 로봇이 물을 마실 수 있도록 우물 방향을 바라보아야 합니다.

말판 내려 받기 PDF PPT

#include "roboid.h"

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

    hamster_create();

    hamster_board_left();
    for(i = 0; i < 3; ++i) {
        hamster_board_forward();
    }
    hamster_board_right();

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

    return 0;
}

두 번째 우물도 찾아 봅시다.

#include "roboid.h"

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

    hamster_create();

    hamster_board_forward();
    hamster_board_right();
    for(i = 0; i < 3; ++i) {
        hamster_board_forward();
    }

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

    return 0;
}

세 번째 우물도 찾아 봅시다.

#include "roboid.h"

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

    hamster_create();

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

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

    return 0;
}

네 번째 우물도 찾아 봅시다.

#include "roboid.h"

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

    hamster_create();

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

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

    return 0;
}

다섯 번째 우물도 찾아 봅시다.

#include "roboid.h"

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

    hamster_create();

    for(i = 0; i < 3; ++i) {
        hamster_board_forward();
    }
    hamster_board_right();
    for(i = 0; i < 3; ++i) {
        hamster_board_forward();
    }
    hamster_board_left();

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

    return 0;
}

여섯 번째 우물도 찾아 봅시다.

#include "roboid.h"

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

    hamster_create();

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

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

    return 0;
}

일곱 번째 우물도 찾아 봅시다.

#include "roboid.h"

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

    hamster_create();

    for(i = 0; i < 3; ++i) {
        for(j = 0; j < 3; ++j) {
            hamster_board_forward();
        }
        hamster_board_right();
    }

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

    return 0;
}

여덟 번째 우물도 찾아 봅시다.

#include "roboid.h"

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

    hamster_create();

    for(i = 0; i < 2; ++i) {
        for(j = 0; j < 2; ++j) {
            hamster_board_forward();
            hamster_board_right();
            hamster_board_forward();
        }
        hamster_board_left();
    }
    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)에게 연락하세요.