개요
확장 보드에 있는 빨간색 버튼을 누르면 햄스터 로봇이 소리를 내고 손을 떼면 소리를 멈추도록 해봅시다.
필요한 부품
220 오옴(Ω) 저항 |
|
x 1 |
- 220 오옴(Ω)의 저항은 띠의 색깔이 순서대로 빨간색, 빨간색, 갈색입니다.
- 220 오옴(Ω)의 저항은 확장 키트에 들어 있습니다.
- 저항값 읽는 방법
부품 연결
- 220 오옴(Ω) 저항을 B3-1과 B3-2에 꽂습니다.
저항은 방향성이 없기 때문에 방향을 맞추어 꽂을 필요는 없습니다.
- 확장 보드의 버튼은 포트 B와 연결되어 있기 때문에 버튼을 사용할 때는 포트 B를 다른 용도로 사용할 수 없습니다.
코드 작성
설명
- 포트 B의 모드를 디지털 입력으로 설정합니다.
- 버튼을 누르면 입력 B의 값이 0이 되고, 누르지 않으면 1이 됩니다.
스크래치
엔트리
파이썬
from roboid.hamster import *
robot = Hamster()
robot.write(Hamster.IO_MODE_B, Hamster.IO_MODE_DI)
while True:
if robot.read(Hamster.INPUT_B) == 0:
robot.write(Hamster.BUZZER, 1000)
else:
robot.write(Hamster.BUZZER, 0)
자바스크립트
var hamster = Hamster.create();
hamster.ioModeB(Hamster.IO_MODE_DIGITAL_INPUT);
function execute() {
if(hamster.inputB() == 0) {
hamster.buzzer(1000);
} else {
hamster.buzzer(0);
}
}
C 언어
#include "hamster.h"
int main(int argc, char *argv[]) {
hamster_create();
hamster_write(HAMSTER_IO_MODE_B, HAMSTER_IO_MODE_DI);
while(1) {
if(hamster_read(HAMSTER_INPUT_B) == 0)
hamster_write(HAMSTER_BUZZER, 1000);
else
hamster_write(HAMSTER_BUZZER, 0);
}
return 0;
}
자바
import roboid.hamster.Hamster;
public class Example {
public static void main(String[] args) {
Hamster robot = new Hamster();
robot.write(Hamster.IO_MODE_B, Hamster.IO_MODE_DI);
while(true) {
if(robot.read(Hamster.INPUT_B) == 0)
robot.write(Hamster.BUZZER, 1000);
else
robot.write(Hamster.BUZZER, 0);
}
}
}
추가 활동
- 확장 보드의 빨간색 버튼을 누르면 햄스터 로봇의 LED에 불이 켜지고 손을 떼면 꺼지도록 해봅시다.
- 햄스터 로봇이 앞으로 달려가다가 확장 보드의 빨간색 버튼을 누르면 정지하도록 해봅시다.
목차
Copyright Robot Software Education Institute. All rights reserved.
Please contact prof. Kwang-Hyun Park (
akaii@kw.ac.kr) if you have any problem.