Skip to content

활동

Python 데이터 기록 및 수집 프로그램

고급 | Python | USB 인터페이스, 가속도 센서, 라디오 | 날씨 & 기후, 데이터 처리, 라디오 파, 센서, 에너지, 정보 다루기, 통계 & 그래프, 힘과 운동

1단계: 만들어 보세요.

프로젝트 소개

micro:bit 센서들을 통해 입력되는 데이터들을 기록하고 수집 할 수 있는, 무선 데이터 기록 및 수집 프로그램을 만들어 보세요.

micro:bit 의 가속도 센서로 측정할 수 있는 3축(X, Y, Z) 방향을 표시한 그림과 시간에 따라 변화한 값을 그린 차트 그림

설명

  • 신호 전송 프로그램을 micro:bit 에 업로드하고 배터리와 연결합니다. 움직임을 기록하고 분석하기 위해, (회전식 야채 물기 제거기 안 쪽 같이) 움직이는 물건에 micro:bit 를 붙이거나 micro:bit 를 움직일 준비를 합니다. 신호 전송 프로그램은 3축(X, Y, Z 축) 방향의 가속도 센서값을 읽어들인 후, 그 값을 무선 라디오를 통해 전송합니다.
  • USB 케이블을 사용해 micro:bit 와 컴퓨터를 연결한 후, Mu Python 앱을 사용해 신호 수신 프로그램을 업로드 합니다.
  • 신호 수신 프로그램은, 시리얼 통신 기능을 통해 수신된 가속도 센서 데이터를 컴퓨터로 전송합니다. Mu 편집기에서 ‘Plotter’ 버튼을 누르면, 실시간으로 측정되는 데이터들이 그래프 차트 형태로 화면에 보여지게 됩니다.
  • micro:bit 를 이리 저리 움직여, 3축(X, Y, Z) 방향으로 감지되는 값들의 변화를 살펴볼 수 있습니다. 신호 전송 마이크로비트를 던지거나, 야채 물기 제거기 같이 회전하는 통의 안 쪽에 넣고 돌려보세요.: 수신된 데이터 신호들은 어떻게 보일까요?
  • Mu 편집기는 수집된 데이터를 컴퓨터의 home 폴더에 CSV (쉼표로 구분해 작성한 값) 파일로 저장합니다. 'mu_code' 와 'data_capture' 폴더를 살펴보세요.
  • 스프레드시트 프로그램을 사용해서 CSV 파일을 열고, 데이터들을 분석할 수 있습니다. 스프레드시트 프로그램으로 파일을 열고 두 번째와 세 번째 컬럼(세로줄)을 삭제하면, 시간에 따라 변화는 Z축 방향으로의 가속도 값을 산점도 그래프 차트로 그려 시간에 따른 관계를 분석할 수도 있습니다.
micro:bit 가속도 센서를 통해 읽어들인 3축(X, Y, Z) 가속도 값으로 그래프 차트를 그린 스프레드시트 화면

준비물

  • micro:bit 2개와 배터리 팩 1개
  • 데이터를 수집하기 위해 필요한 노트북 또는 데스크탑 컴퓨터
  • Mu Python 편집기 앱: https://codewith.mu/
  • (옵션) 회전식 야채 물기 제거기

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

센서 / 신호 전송기

1from microbit import *
2import radio
3radio.config(group=99)
4radio.on()
5
6while True:
7    sleep(20)
8    radio.send(str(accelerometer.get_values()))
9

수신기 / 데이터 기록 및 수집기

1from microbit import *
2import radio
3radio.config(group=99)
4radio.on()
5
6while True:
7    message = radio.receive()
8    sleep(20)
9    print(message)
10

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

  • 이 방법을 사용해서 다른 micro:bit 에 연결된 센서에서 수집되는 데이터들을 무선으로 기록하고 수집해 보세요. 온도, 빛 밝기, 자기 방향이나 값 등을 기록하고 수집하는데 활용할 수 있습니다.
  • micro:bit 에 가해지는 힘과 관련한 물리학 실험을 해보세요. 회전식 야채 물기 제거기 (원심분리기) 같은 곳에 넣은 후, 데이터를 기록 수집하고 분석해 볼 수 있습니다. 어떤 결과를 얻을 수 있을까요? (micro:bit 에 내장되어있는 가속도 센서는, 중력가속도(g) 값의 2배 크기인, 최대 2g 까지만 가속도를 측정할 수 있습니다. – 회전 속도가 빨라지면, 그 최대값 보다 큰 값은 측정 할 수 없습니다.)