LED 켜고 앞으로 이동하기
햄스터 로봇이 양쪽 LED를 파란색으로 켜고 앞으로 이동하게 해봅시다.
var hamster = Hamster.create();
hamster.leds(Hamster.LED_BLUE, Hamster.LED_BLUE); // 왼쪽 LED와 오른쪽 LED를 파란색으로 켠다.
hamster.wheels(30); // 앞으로 이동한다.
파란색에 해당하는 숫자를 입력해도 됩니다.
var hamster = Hamster.create();
hamster.leds(1, 1); // 왼쪽 LED와 오른쪽 LED를 파란색으로 켠다.
hamster.wheels(30); // 앞으로 이동한다.
햄스터 로봇의 LED는 7가지 색상을 표현할 수 있으며, LED를 끄기 위해서는 Hamster.LED_OFF 또는 0을 입력하면 됩니다.
LED 색상 |
숫자 |
설명 |
Hamster.LED_OFF |
0 |
LED를 끈다. |
Hamster.LED_BLUE |
1 |
LED를 파란색으로 켠다. (R: 0, G: 0, B: 255) |
Hamster.LED_GREEN |
2 |
LED를 초록색으로 켠다. (R: 0, G: 255, B: 0) |
Hamster.LED_CYAN |
3 |
LED를 하늘색으로 켠다. (R: 0, G: 255, B: 255) |
Hamster.LED_RED |
4 |
LED를 빨간색으로 켠다. (R: 255, G: 0, B: 0) |
Hamster.LED_MAGENTA |
5 |
LED를 보라색으로 켠다. (R: 255, G: 0, B: 255) |
Hamster.LED_YELLOW |
6 |
LED를 노란색으로 켠다. (R: 255, G: 255, B: 0) |
Hamster.LED_WHITE |
7 |
LED를 하얀색으로 켠다. (R: 255, G: 255, B: 255) |
색상을 하나만 입력하면 양쪽 LED를 같은 색상으로 설정합니다.
var hamster = Hamster.create();
hamster.leds(Hamster.LED_BLUE); // 양쪽 LED를 파란색으로 켠다.
양쪽 LED를 다양한 색상으로 켜고 앞으로 이동하게 해봅시다.
LED 켜고 제자리 돌기
회전하는 방향으로 한쪽 LED만 초록색으로 켜고 제자리에서 돌게 해봅시다.
var hamster = Hamster.create();
hamster.leds(Hamster.LED_GREEN, Hamster.LED_OFF); // 왼쪽 LED를 초록색으로 켜고 오른쪽 LED를 끈다.
hamster.wheels(-30, 30); // 제자리에서 왼쪽으로 돈다.
색상에 해당하는 숫자를 입력해도 됩니다.
var hamster = Hamster.create();
hamster.leds(2, 0); // 왼쪽 LED를 초록색으로 켜고 오른쪽 LED를 끈다.
hamster.wheels(-30, 30); // 제자리에서 왼쪽으로 돈다.
왼쪽 LED 또는 오른쪽 LED, 하나의 값만 설정하기 위해서는 leftLed() 또는 rightLed() 메소드를 사용하여도 됩니다.
var hamster = Hamster.create();
hamster.leftLed(Hamster.LED_CYAN); // 왼쪽 LED를 하늘색으로 켠다.
hamster.wheels(-30, 30); // 제자리에서 왼쪽으로 돈다.
|
var hamster = Hamster.create();
hamster.rightLed(Hamster.LED_RED); // 오른쪽 LED를 빨간색으로 켠다.
hamster.wheels(30, -30); // 제자리에서 오른쪽으로 돈다.
|
한쪽 LED를 다양한 색상으로 켜고 제자리에서 왼쪽 또는 오른쪽으로 돌게 해봅시다.
소리 내며 뒤로 이동하기
햄스터 로봇이 소리를 내면서 뒤로 이동하게 해봅시다.
버저 소리의 음 높이를 주파수[Hz]로 입력하면 됩니다.
var hamster = Hamster.create();
hamster.buzzer(1000); // 버저 소리의 음 높이를 1000 Hz로 설정한다.
hamster.wheels(-30); // 뒤로 이동한다.
버저 소리의 음 높이는 소수점 둘째 자리까지 입력할 수 있으며,
버저 소리를 끄기 위해서는 0을 입력하면 됩니다.
var hamster = Hamster.create();
hamster.buzzer(261.63); // 버저 소리의 음 높이를 261.63 Hz로 설정한다.
hamster.wheels(-30); // 뒤로 이동한다.
다양한 음 높이로 소리를 내면서 뒤로 이동하게 해봅시다.
청력 테스트
햄스터 로봇의 버저 소리는 0 ~ 167772.15 Hz까지 입력할 수 있는데,
나이에 따라 사람이 들을 수 있는 최고 음의 높이가 다릅니다.
버저 소리의 음 높이를 다양하게 변경하면서 자신이 얼마나 높은 주파수의 음까지 들을 수 있는지 측정해 봅시다.
나이 |
최고 가청 주파수 |
보청기 필요 |
8000 Hz |
50대 이후 |
10000 Hz |
40대 정도 |
12000 Hz |
30대 정도 |
14100 Hz |
20대 후반 |
14900 Hz |
20대 중반 |
15800 Hz |
20대 초반 |
16700 Hz |
10대 후반 |
17700 Hz |
10대 초반 |
18800 Hz |
10대 이하 |
19900 Hz |
동물 수준 |
21100 Hz |
정확한 음정 내기
buzzer() 메소드를 사용한 경우에는 연속적인 주파수의 음을 낼 수 있지만
소수점 둘째 자리까지밖에 입력할 수 없다는 한계가 있습니다.
좀 더 정확한 음을 내보도록 합시다.
오차 0.01% 이하의 정확한 음정을 낼 수 있습니다.
소리를 끄기 위해서는 Hamster.NOTE_OFF 또는 0을 입력하면 됩니다.
var hamster = Hamster.create();
hamster.note(Hamster.NOTE_C_4); // 4옥타브 도 음을 소리낸다.
4옥타브 도 음에 해당하는 숫자를 입력해도 됩니다.
var hamster = Hamster.create();
hamster.note(40); // 4옥타브 도 음을 소리낸다.
유효한 값은 1 ~ 88이며 피아노의 88 건반에 해당합니다.
다양한 음을 소리내면서 햄스터 로봇이 이동하거나 회전하게 해봅시다.
음 높이 |
숫자 |
설명 |
Hamster.NOTE_OFF |
0 |
소리를 끈다. |
Hamster.NOTE_A_0 |
1 |
0번째 옥타브의 라 음 |
Hamster.NOTE_A_SHARP_0 |
2 |
0번째 옥타브의 라# 음 |
Hamster.NOTE_B_FLAT_0 |
2 |
0번째 옥타브의 시b 음 |
Hamster.NOTE_B_0 |
3 |
0번째 옥타브의 시 음 |
Hamster.NOTE_C_1 |
4 |
1번째 옥타브의 도 음 |
Hamster.NOTE_C_SHARP_1 |
5 |
1번째 옥타브의 도# 음 |
Hamster.NOTE_D_FLAT_1 |
5 |
1번째 옥타브의 레b 음 |
Hamster.NOTE_D_1 |
6 |
1번째 옥타브의 레 음 |
Hamster.NOTE_D_SHARP_1 |
7 |
1번째 옥타브의 레# 음 |
Hamster.NOTE_E_FLAT_1 |
7 |
1번째 옥타브의 미b 음 |
Hamster.NOTE_E_1 |
8 |
1번째 옥타브의 미 음 |
Hamster.NOTE_F_1 |
9 |
1번째 옥타브의 파 음 |
Hamster.NOTE_F_SHARP_1 |
10 |
1번째 옥타브의 파# 음 |
Hamster.NOTE_G_FLAT_1 |
10 |
1번째 옥타브의 솔b 음 |
Hamster.NOTE_G_1 |
11 |
1번째 옥타브의 솔 음 |
Hamster.NOTE_G_SHARP_1 |
12 |
1번째 옥타브의 솔# 음 |
Hamster.NOTE_A_FLAT_1 |
12 |
1번째 옥타브의 라b 음 |
Hamster.NOTE_A_1 |
13 |
1번째 옥타브의 라 음 |
Hamster.NOTE_A_SHARP_1 |
14 |
1번째 옥타브의 라# 음 |
Hamster.NOTE_B_FLAT_1 |
14 |
1번째 옥타브의 시b 음 |
Hamster.NOTE_B_1 |
15 |
1번째 옥타브의 시 음 |
Hamster.NOTE_C_2 |
16 |
2번째 옥타브의 도 음 |
Hamster.NOTE_C_SHARP_2 |
17 |
2번째 옥타브의 도# 음 |
Hamster.NOTE_D_FLAT_2 |
17 |
2번째 옥타브의 레b 음 |
Hamster.NOTE_D_2 |
18 |
2번째 옥타브의 레 음 |
Hamster.NOTE_D_SHARP_2 |
19 |
2번째 옥타브의 레# 음 |
Hamster.NOTE_E_FLAT_2 |
19 |
2번째 옥타브의 미b 음 |
Hamster.NOTE_E_2 |
20 |
2번째 옥타브의 미 음 |
Hamster.NOTE_F_2 |
21 |
2번째 옥타브의 파 음 |
Hamster.NOTE_F_SHARP_2 |
22 |
2번째 옥타브의 파# 음 |
Hamster.NOTE_G_FLAT_2 |
22 |
2번째 옥타브의 솔b 음 |
Hamster.NOTE_G_2 |
23 |
2번째 옥타브의 솔 음 |
Hamster.NOTE_G_SHARP_2 |
24 |
2번째 옥타브의 솔# 음 |
Hamster.NOTE_A_FLAT_2 |
24 |
2번째 옥타브의 라b 음 |
Hamster.NOTE_A_2 |
25 |
2번째 옥타브의 라 음 |
Hamster.NOTE_A_SHARP_2 |
26 |
2번째 옥타브의 라# 음 |
Hamster.NOTE_B_FLAT_2 |
26 |
2번째 옥타브의 시b 음 |
Hamster.NOTE_B_2 |
27 |
2번째 옥타브의 시 음 |
Hamster.NOTE_C_3 |
28 |
3번째 옥타브의 도 음 |
Hamster.NOTE_C_SHARP_3 |
29 |
3번째 옥타브의 도# 음 |
Hamster.NOTE_D_FLAT_3 |
29 |
3번째 옥타브의 레b 음 |
Hamster.NOTE_D_3 |
30 |
3번째 옥타브의 레 음 |
Hamster.NOTE_D_SHARP_3 |
31 |
3번째 옥타브의 레# 음 |
Hamster.NOTE_E_FLAT_3 |
31 |
3번째 옥타브의 미b 음 |
Hamster.NOTE_E_3 |
32 |
3번째 옥타브의 미 음 |
Hamster.NOTE_F_3 |
33 |
3번째 옥타브의 파 음 |
Hamster.NOTE_F_SHARP_3 |
34 |
3번째 옥타브의 파# 음 |
Hamster.NOTE_G_FLAT_3 |
34 |
3번째 옥타브의 솔b 음 |
Hamster.NOTE_G_3 |
35 |
3번째 옥타브의 솔 음 |
Hamster.NOTE_G_SHARP_3 |
36 |
3번째 옥타브의 솔# 음 |
Hamster.NOTE_A_FLAT_3 |
36 |
3번째 옥타브의 라b 음 |
Hamster.NOTE_A_3 |
37 |
3번째 옥타브의 라 음 |
Hamster.NOTE_A_SHARP_3 |
38 |
3번째 옥타브의 라# 음 |
Hamster.NOTE_B_FLAT_3 |
38 |
3번째 옥타브의 시b 음 |
Hamster.NOTE_B_3 |
39 |
3번째 옥타브의 시 음 |
Hamster.NOTE_C_4 |
40 |
4번째 옥타브의 도 음 |
Hamster.NOTE_C_SHARP_4 |
41 |
4번째 옥타브의 도# 음 |
Hamster.NOTE_D_FLAT_4 |
41 |
4번째 옥타브의 레b 음 |
Hamster.NOTE_D_4 |
42 |
4번째 옥타브의 레 음 |
Hamster.NOTE_D_SHARP_4 |
43 |
4번째 옥타브의 레# 음 |
Hamster.NOTE_E_FLAT_4 |
43 |
4번째 옥타브의 미b 음 |
Hamster.NOTE_E_4 |
44 |
4번째 옥타브의 미 음 |
Hamster.NOTE_F_4 |
45 |
4번째 옥타브의 파 음 |
Hamster.NOTE_F_SHARP_4 |
46 |
4번째 옥타브의 파# 음 |
Hamster.NOTE_G_FLAT_4 |
46 |
4번째 옥타브의 솔b 음 |
Hamster.NOTE_G_4 |
47 |
4번째 옥타브의 솔 음 |
Hamster.NOTE_G_SHARP_4 |
48 |
4번째 옥타브의 솔# 음 |
Hamster.NOTE_A_FLAT_4 |
48 |
4번째 옥타브의 라b 음 |
Hamster.NOTE_A_4 |
49 |
4번째 옥타브의 라 음 |
Hamster.NOTE_A_SHARP_4 |
50 |
4번째 옥타브의 라# 음 |
Hamster.NOTE_B_FLAT_4 |
50 |
4번째 옥타브의 시b 음 |
Hamster.NOTE_B_4 |
51 |
4번째 옥타브의 시 음 |
Hamster.NOTE_C_5 |
52 |
5번째 옥타브의 도 음 |
Hamster.NOTE_C_SHARP_5 |
53 |
5번째 옥타브의 도# 음 |
Hamster.NOTE_D_FLAT_5 |
53 |
5번째 옥타브의 레b 음 |
Hamster.NOTE_D_5 |
54 |
5번째 옥타브의 레 음 |
Hamster.NOTE_D_SHARP_5 |
55 |
5번째 옥타브의 레# 음 |
Hamster.NOTE_E_FLAT_5 |
55 |
5번째 옥타브의 미b 음 |
Hamster.NOTE_E_5 |
56 |
5번째 옥타브의 미 음 |
Hamster.NOTE_F_5 |
57 |
5번째 옥타브의 파 음 |
Hamster.NOTE_F_SHARP_5 |
58 |
5번째 옥타브의 파# 음 |
Hamster.NOTE_G_FLAT_5 |
58 |
5번째 옥타브의 솔b 음 |
Hamster.NOTE_G_5 |
59 |
5번째 옥타브의 솔 음 |
Hamster.NOTE_G_SHARP_5 |
60 |
5번째 옥타브의 솔# 음 |
Hamster.NOTE_A_FLAT_5 |
60 |
5번째 옥타브의 라b 음 |
Hamster.NOTE_A_5 |
61 |
5번째 옥타브의 라 음 |
Hamster.NOTE_A_SHARP_5 |
62 |
5번째 옥타브의 라# 음 |
Hamster.NOTE_B_FLAT_5 |
62 |
5번째 옥타브의 시b 음 |
Hamster.NOTE_B_5 |
63 |
5번째 옥타브의 시 음 |
Hamster.NOTE_C_6 |
64 |
6번째 옥타브의 도 음 |
Hamster.NOTE_C_SHARP_6 |
65 |
6번째 옥타브의 도# 음 |
Hamster.NOTE_D_FLAT_6 |
65 |
6번째 옥타브의 레b 음 |
Hamster.NOTE_D_6 |
66 |
6번째 옥타브의 레 음 |
Hamster.NOTE_D_SHARP_6 |
67 |
6번째 옥타브의 레# 음 |
Hamster.NOTE_E_FLAT_6 |
67 |
6번째 옥타브의 미b 음 |
Hamster.NOTE_E_6 |
68 |
6번째 옥타브의 미 음 |
Hamster.NOTE_F_6 |
69 |
6번째 옥타브의 파 음 |
Hamster.NOTE_F_SHARP_6 |
70 |
6번째 옥타브의 파# 음 |
Hamster.NOTE_G_FLAT_6 |
70 |
6번째 옥타브의 솔b 음 |
Hamster.NOTE_G_6 |
71 |
6번째 옥타브의 솔 음 |
Hamster.NOTE_G_SHARP_6 |
72 |
6번째 옥타브의 솔# 음 |
Hamster.NOTE_A_FLAT_6 |
72 |
6번째 옥타브의 라b 음 |
Hamster.NOTE_A_6 |
73 |
6번째 옥타브의 라 음 |
Hamster.NOTE_A_SHARP_6 |
74 |
6번째 옥타브의 라# 음 |
Hamster.NOTE_B_FLAT_6 |
74 |
6번째 옥타브의 시b 음 |
Hamster.NOTE_B_6 |
75 |
6번째 옥타브의 시 음 |
Hamster.NOTE_C_7 |
76 |
7번째 옥타브의 도 음 |
Hamster.NOTE_C_SHARP_7 |
77 |
7번째 옥타브의 도# 음 |
Hamster.NOTE_D_FLAT_7 |
77 |
7번째 옥타브의 레b 음 |
Hamster.NOTE_D_7 |
78 |
7번째 옥타브의 레 음 |
Hamster.NOTE_D_SHARP_7 |
79 |
7번째 옥타브의 레# 음 |
Hamster.NOTE_E_FLAT_7 |
79 |
7번째 옥타브의 미b 음 |
Hamster.NOTE_E_7 |
80 |
7번째 옥타브의 미 음 |
Hamster.NOTE_F_7 |
81 |
7번째 옥타브의 파 음 |
Hamster.NOTE_F_SHARP_7 |
82 |
7번째 옥타브의 파# 음 |
Hamster.NOTE_G_FLAT_7 |
82 |
7번째 옥타브의 솔b 음 |
Hamster.NOTE_G_7 |
83 |
7번째 옥타브의 솔 음 |
Hamster.NOTE_G_SHARP_7 |
84 |
7번째 옥타브의 솔# 음 |
Hamster.NOTE_A_FLAT_7 |
84 |
7번째 옥타브의 라b 음 |
Hamster.NOTE_A_7 |
85 |
7번째 옥타브의 라 음 |
Hamster.NOTE_A_SHARP_7 |
86 |
7번째 옥타브의 라# 음 |
Hamster.NOTE_B_FLAT_7 |
86 |
7번째 옥타브의 시b 음 |
Hamster.NOTE_B_7 |
87 |
7번째 옥타브의 시 음 |
Hamster.NOTE_C_8 |
88 |
8번째 옥타브의 도 음 |
목차
수업 자료 내려 받기
- 원본 그림 2017.01.23 버전 (33.0 MB)
고급
- 행위 기반의 로봇 제어
- 경로 탐색
- 자리 바꾸기
Copyright 로봇SW교육원 All rights reserved.
어려운 일이 있으면 광운대학교 로봇학부 박광현 교수(
akaii@kw.ac.kr)에게 연락하세요.