Skip to content

활동

정밀 만보계

중급 | MakeCode, Python | LED, 가속도 센서 | 곱셈, 상품 디자인, 성능 평가 도구, 센서, 인체, 측정, 힘과 운동

1단계: 만들어 보세요.

프로젝트 소개

마이크로비트 만보계를 자신의 걷기 스타일에 맞추어 더 정확하게 만들 수 있습니다.

신발에 붙인 micro:bit

학습 내용

  • micro:bit 로 가속도 데이터를 수집하는 방법
  • 걸음 수를 올릴 때 기준이 되는 센서 감지 기준값을 설정하는 방법

설명

  • 만보계 프로젝트저전력 만보계 프로젝트에서는 ‘흔들림’ 을 감지해서 걸음수를 카운트 합니다. '흔들림' 은 가속도 센서로부터 읽어들인 값들을 통해서 판단됩니다.
  • 걸음을 걸을때마다 정확하게 ‘흔들림’ 동작이 감지되지 않거나 걸음을 걷지 않아도 흔들림 동작이 감지되면서, 걸음 수를 정확하게 셀 수 없는 경우가 발생한다는 것을 알아낼 수 있습니다.
  • 이번 프로그램에서는 더 정확하게 걸음 수를 세는 만보계를 만들기 위해서, ‘흔들림’ 감지 기능을 사용하는 대신에, 가속도 센서로부터 읽어들인 데이터를 사용해서 한 걸음을 걸었는지를 판단한 후, steps 변수에 저장된 값을 1 만큼 증가시킵니다.
  • 가속도 센서값이 1500 보다 크다(>)면, steps 변수에 저장된 값을 1 만큼 증가시키고, 저장되어있는 값을 LED 화면으로 출력합니다. 1500 은 기준값 입니다. – 걸음 수로 계산할지 말지를 판단하는 기준이 되는 기준값으로 임계값, 문턱값이라고 부르기도 합니다.
  • 1500 값을 자신의 발 걸음에 더 적당한 값으로 바꿀 수 있습니다. – 하지만 자신의 발 걸음에 적당한 값을 먼저 찾아내야 합니다. '흔들림' 으로 인식하는 기준값을 그대로 사용할 수도 있습니다.
  • 어떤 상황에 더 정확하게 기준값을 맞추는 것을 보정(calibration)이라고 합니다. "더 수정하다"라는 의미의 한문 단어입니다.
  • micro:bit 가 전혀 움직이지 않더라도, 가속도 센서로 읽혀지는 가속도 값은 1000 정도가 됩니다. 왜냐하면, 지구 중력에 의해서 micro:bit 가 땅 방향으로 당겨지는 중력(Earth's gravity) 가속도가 있기 때문입니다.

준비물

  • micro:bit (또는 MakeCode 시뮬레이터)
  • MakeCode 또는 Python 편집기
  • AAA 배터리 팩 (옵션)
  • 신발이나 다리에 micro:bit 를 붙이는데 사용할 수 있는 적당한 물건 - 실, 벨크로 등.

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

1from microbit import *
2steps=0
3
4while True:
5    if accelerometer.get_y() > 1500:
6        steps += 1
7        display.scroll(steps)
8

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

  • 프로그램을 수정해서 배터리를 더 오래 사용할 수 있도록 바꿔보세요. A 버튼을 누를 때에만 걸음 수가 출력되도록 하는 방법도 가능합니다.
  • B 버튼을 누르면, 걸음 횟수를 0 으로 초기화 할 수 있도록 바꿔 보세요.
  • 걸음 횟수를 측정한 후, micro:bit 를 이용해서 자신이 이동한 거리를 계산해 보세요. 걸음 횟수에 한 걸음 만큼의 길이를 곱하면 됩니다.
  • 가속도 센서는 3 축 방향으로 가속도를 측정할 수 있습니다. X축, Y축, Z축 방향으로 가속도 측정이 가능합니다. 가속도를 측정하는 기준 축을 지정할 수 있기 때문에, 다리나 신발이 올라가는 방향으로 기준 축을 골라 사용할 수 있습니다.
X축 (왼쪽-오른쪽 방향), Y축 (앞-뒤 방향), Z축 (위-아래 방향) 에 대한 그림