News Download Tutorial FAQ Reference Buy

확장 키트 : 뜨겁지 않게 해주세요

개요
온도가 높으면 빨간색으로, 온도가 낮으면 파란색으로, 보통이면 노란색으로 햄스터 로봇의 LED 불을 표시해 봅시다.
필요한 부품
1 킬로오옴(kΩ) 저항 온도 센서 (서미스터) 종이컵
x 1
x 1
x 1
부품 연결

   

코드 작성
설명

스크래치
엔트리
파이썬
from roboid.hamster import *

robot = Hamster()

robot.write(Hamster.IO_MODE_A, Hamster.IO_MODE_ADC)
while True:
    temperature = robot.read(Hamster.INPUT_A)
    print temperature
    if temperature > 135:
        robot.write(Hamster.LEFT_LED, Hamster.LED_RED)
        robot.write(Hamster.RIGHT_LED, Hamster.LED_RED)
    elif temperature < 120:
        robot.write(Hamster.LEFT_LED, Hamster.LED_BLUE)
        robot.write(Hamster.RIGHT_LED, Hamster.LED_BLUE)
    else:
        robot.write(Hamster.LEFT_LED, Hamster.LED_YELLOW)
        robot.write(Hamster.RIGHT_LED, Hamster.LED_YELLOW)
자바스크립트
var hamster = Hamster.create();

hamster.ioModeA(Hamster.IO_MODE_ANALOG_INPUT);

function execute() {
    var temperature = hamster.inputA();
    console.log(temperature);
    if(temperature > 135) {
        hamster.leds(Hamster.LED_RED, Hamster.LED_RED);
    } else if(temperature < 120) {
        hamster.leds(Hamster.LED_BLUE, Hamster.LED_BLUE);
    } else {
        hamster.leds(Hamster.LED_YELLOW, Hamster.LED_YELLOW);
    }
}
C 언어
#include "hamster.h"

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

    int temperature;

    hamster_create();

    hamster_write(HAMSTER_IO_MODE_A, HAMSTER_IO_MODE_ADC);
    while(1) {
        temperature = hamster_read(HAMSTER_INPUT_A);
        printf("%d\n", temperature);
        if(temperature > 135) {
            hamster_write(HAMSTER_LEFT_LED, HAMSTER_LED_RED);
            hamster_write(HAMSTER_RIGHT_LED, HAMSTER_LED_RED);
        } else if(temperature < 120) {
            hamster_write(HAMSTER_LEFT_LED, HAMSTER_LED_BLUE);
            hamster_write(HAMSTER_RIGHT_LED, HAMSTER_LED_BLUE);
        } else {
            hamster_write(HAMSTER_LEFT_LED, HAMSTER_LED_YELLOW);
            hamster_write(HAMSTER_RIGHT_LED, HAMSTER_LED_YELLOW);
        }
    }
    return 0;
}
자바
import roboid.hamster.Hamster;

public class Test {

    public static void main(String[] args) {

        Hamster robot = new Hamster();

        robot.write(Hamster.IO_MODE_A, Hamster.IO_MODE_ADC);

        int temperature;
        while(true) {
            temperature = robot.read(Hamster.INPUT_A);
            System.out.println(String.valueOf(temperature));
            if(temperature > 135) {
                robot.write(Hamster.LEFT_LED, Hamster.LED_RED);
                robot.write(Hamster.RIGHT_LED, Hamster.LED_RED);
            } else if(temperature < 120) {
                robot.write(Hamster.LEFT_LED, Hamster.LED_BLUE);
                robot.write(Hamster.RIGHT_LED, Hamster.LED_BLUE);
            } else {
                robot.write(Hamster.LEFT_LED, Hamster.LED_YELLOW);
                robot.write(Hamster.RIGHT_LED, Hamster.LED_YELLOW);
            }
        }
    }
}
추가 활동
포트 B에 연결하는 방법

   
목차
수업 준비
  1. 조립하기
  2. 핀/소켓 배치 살펴보기
기초
  1. 디지털 입력 - 버튼을 누르면 삐 소리가 나요
  2. 디지털 출력 - 어두우면 LED 불이 켜져요
  3. 디지털 출력 - 반짝반짝 LED를 깜박여요
  4. 디지털 출력 - 기울이는 방향으로 LED가 켜져요
  5. 아날로그 입력 (ADC) - 포텐셔미터를 돌리면 음 높이가 달라져요
  6. 아날로그 입력 (ADC) - 뜨겁지 않게 해주세요
  7. 아날로그 입력 (ADC) - 빛을 따라 움직여요
  8. PWM 출력 - LED 불이 부드럽게 밝아졌다 어두워져요
  9. PWM 출력 - LED 촛불이 바람에 흔들려요
  10. 아날로그 서보 출력 - 햄스터 로봇에게 꼬리가 생겼어요
응용
Copyright Robot Software Education Institute. All rights reserved.
Please contact prof. Kwang-Hyun Park (akaii@kw.ac.kr) if you have any problem.