라즈베리 파이 피트니스 트래커로 햄스터 일일 운동량 추적하기
개요
내 9살 딸이 이 프로젝트를 시작했고, 결과는 놀랍고 통찰력 있었습니다. 라즈베리 파이, 레이저 브레이크빔 센서, 간단한 스크립트를 결합해 반려동물의 이동 거리와 속도를 손쉽게 측정할 수 있습니다.
필요한 것들
- 인터넷 연결된 라즈베리 파이 (또는 모든 싱글보드 컴퓨터)
- 레이저 브레이크빔 센서 – Adafruit Laser Break-Beam Sensor
- 배선용 브레드보드 (Adafruit Pi 스타터 키트 포함)
- LED (선택 사항, 스타터 키트 포함)
- 풀업 저항 2개: 220Ω와 10kΩ (키트 포함)
- 메인 생활 공간 밖에서 돌아가는 러닝 휠이 있는 햄스터 케이지 – 레이저가 햄스터 눈에 닿지 않게 함. 예시 케이지
- 햄스터
1단계: 측정 개념
시스템은 휠의 완전 회전을 감지해 작동합니다. 휠의 작은 타겟이 레이저 빔을 회전당 한 번 반사합니다. 라즈베리 파이는 이 이벤트를 카운트하고 거리(휠 둘레)와 속도를 계산해 실시간 대시보드로 데이터를 스트리밍합니다. 매일 아침 확인 가능.
2단계: 하드웨어 설정
Adafruit 레이저 브레이크빔 센서는 컴팩트하고 휠에 추가 무게가 필요 없어 2온스 드워프 햄스터에 필수적입니다. 송신기와 수신기가 단일 하우징에 통합돼 있습니다. 타겟이 빔을 차단하면 센서가 신호를 출력합니다.
- 빨간 리드를 5V, 검은 리드를 접지, 파란 리드를 파이 GPIO 핀에 연결
- 센서 출력과 5V 사이에 10kΩ 풀업 저항 연결
- 동일 GPIO 핀에 LED(선택 사항) 연결로 시각적 확인; 직렬 저항(220Ω)으로 전류 제한
- 케이지 벽에 센서 장착, 빔이 햄스터 눈 영역을 향하지 않게 함. 휠이 케이지 안에 있으면 안전을 위해 자기 접점 스위치로 레이저 대체 가능
- 휠 림에 작은 마스킹 테이프 조각을 반사 타겟으로 부착. 레이저가 각 회전 시 이 타겟만 비추도록 정렬
안전 주의: 레이저를 생활 공간이나 햄스터 눈에 직접 비추지 마세요. 빔이 시력을 손상시킬 수 있습니다.
3단계: 소프트웨어 설정
데이터 시각화를 위해 Initial State의 실시간 대시보드 사용. 빠른 시작 지침 따라 파이에 Initial State 스트리머 설치.
새 파이썬 파일(예: hamster_fitness.py) 생성 후 다음 코드 붙여넣기:
import time
import initialstate
from gpiozero import Button
# 본인의 클라이언트 키로 교체
client_key = "PUT YOUR CLIENT KEY HERE"
bucket_name = "Hamster Fitness Tracker"
# 지정된 버킷에 새 스트림 생성
stream = initialstate.Stream.create(bucket_name, client_key)
# 센서 핀 설정 (17을 본인 GPIO로 변경)
sensor = Button(17)
# 휠 둘레 계산 (예: 반지름 10cm)
wheel_radius_cm = 10
circumference_cm = 2 * 3.14159 * wheel_radius_cm
rotations = 0
start_time = time.time()
while True:
sensor.wait_for_press()
rotations += 1
elapsed = time.time() - start_time
distance = rotations * circumference_cm
speed = distance / elapsed # cm/s
# Initial State로 데이터 전송
stream.publish({"rotations": rotations, "distance_cm": distance, "speed_cm_per_s": speed})
print(f"Rotations: {rotations}, Distance: {distance:.1f} cm, Speed: {speed:.2f} cm/s")
time.sleep(0.1) # 디바운스
스크립트 실행 시마다 본인 Initial State 계정 아래 Hamster Fitness Tracker라는 새 버킷이 생성되고 이후 모든 데이터 포인트가 저장됩니다. 대시보드가 실시간 업데이트되어 반려동물의 활동량을 즉각 확인할 수 있습니다.
이 설정으로 잠자는 동안에도 털복숭이 친구가 얼마나 활동적인지 알게 될 것입니다!