Skip to content

활동

최고-최저 온도계

중급 | MakeCode, Python | LED, 버튼, 온도 센서 | 날씨 & 기후, 반복 실행, 변수, 센서, 온도, 조건/관계 연산자, 측정

1단계: 만들어 보세요.

프로젝트 소개

micro:bit 에 프로그램을 업로드해서 최고 온도와 최저 온도를 추적해 보세요.

다음 동영상을 통해 만들고 프로그래밍하는 방법을 살펴보세요.:

소개

프로그래밍 가이드

설명

  • 온도계 프로젝트에서와 같이, 이번 프로젝트에서도 온도 센서를 사용합니다. micro:bit 의 CPU (central processing unit) 에 들어있는 온도 선서를 이용해서 °C (섭씨) 온도를 측정합니다.
  • 이 프로그램은 3 개의 변수를 사용해서 최고 온도와 최저 온도를 기록합니다.: currentTemp 변수에는 현재 온도를 기록하고, max 변수에는 최고 온도를 기록하고, min에는 최저 온도를 기록합니다.
  • 프로그램이 시작되면 3 개의 변수에 모두 같은 값이 저장됩니다.; 무한 반복 실행 (forever) 루프를 사용해서 2초 마다 온도를 측정하고, 그 이전까지 max, min 변수에 저장되어있는 값과 비교합니다.
  • 측정한 온도가 min 변수에 저장되어있는 값보다 작으면 (<) , min 변수에 저장되어있는 값을 측정한 온도 값으로 바꿉니다.
  • 측정한 온도가 max 변수에 저장되어있는 값보다 크면 (>)max 변수에 저장되어있는 값을 측정한 온도 값으로 바꿉니다.
  • 프로그램은 무한 반복 실행되면서, 온도를 측정할 때마다 LED 화면에 점(.)을 한 번씩 출력하기 때문에, 온도계가 정상적으로 작동하고 있다는 것을 알 수 있습니다.
  • A 버튼을 누르면 측정했던 온도들 중에서 최저 온도를 출력해 보여주고, B버튼을 누르면 최고 온도를 출력해 보여줍니다.
  • 이 micro:bit 최고-최저 온도계를 24시간 동안 작동시키면, 매일 매일 같은 시간에 최고-최저 온도를 기록하고 매일 매일의 최고-최저 온도 변화를 차트로 그릴 수도 있습니다. 온도를 기록한 후에는 리셋을 해야 최고-최저 온도를 정확하게 기록할 수 있습니다.

준비물

  • micro:bit (또는 MakeCode 시뮬레이터)
  • MakeCode 또는 Python 편집기
  • AAA 배터리 팩 (옵션)
  • 온도가 빨리 변하는 것을 확인해 보고 싶은 경우에는 뜨겁거나 차가운 물건이 더 필요합니다. - micro:bit 를 집 밖으로 가져가도 됩니다. (옵션)
  • 매일 매일 최고-최저 온도를 체크해서 차트로 그릴 수 있는 모눈 종이 (옵션)

2단계: 프로그래밍 해보세요.

1from microbit import *
2
3currentTemp = temperature()
4max = currentTemp
5min = currentTemp
6
7while True:
8    display.show('.')
9    currentTemp = temperature()
10    if currentTemp < min:
11        min = currentTemp
12    elif currentTemp > max:
13        max = currentTemp
14    if button_a.was_pressed():
15        display.scroll(min)
16    if button_b.was_pressed():
17        display.scroll(max)
18    sleep(1000)
19    display.clear()
20    sleep(1000)
21

3단계: 더 좋게 만들어 보세요.

  • 다른 온도계로 측정한 온도와 비교해 보세요. micro:bit 가 얼마나 정확할까요? micro:bit 주변의 공기 온도를 측정하기 위해서 프로그램을 수정할 필요가 있을까요? 어떻게 할 수 있을까요?
  • 온도를 ℉ (화씨) 온도로 변환해 출력보세요.
  • 무선 라디오 기능을 이용해서 측정한 온도를 다른 micro:bit 로 전송해 보세요.