亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

树莓派仓鼠健身追踪器:激光断束传感器记录每日运动量

项目缘起

好奇仓鼠一天跑多远?我们 9 岁的女儿发起了这个项目,结果既惊人又有洞察。结合树莓派、激光断束传感器和简单脚本,你可以轻松测量宠物的行进距离和速度。

所需材料

步骤 1:测量原理

系统通过检测跑轮每圈旋转工作。轮上贴一小块反射目标,每圈反射一次激光束。树莓派计数这些事件,计算距离(轮周长)和速度,并流式传输到实时仪表盘,每天早上可查看。

步骤 2:硬件搭建

Adafruit 激光断束传感器紧凑且无需在轮上加额外重量——对 2 盎司侏儒仓鼠至关重要。它在单一外壳内集成发射和接收。光束被目标遮挡时,传感器输出信号。

安全提示: 切勿将激光直射生活区或仓鼠眼睛。光束可损伤视力。

步骤 3:软件设置

使用 Initial State 实时仪表盘可视化数据。按 快速入门指引 在树莓派安装 Initial State streamer。

新建 Python 文件如 hamster_fitness.py,粘贴以下代码:

import time
import initialstate
from gpiozero import Button

# 替换为你的 Client Key
client_key = "PUT YOUR CLIENT KEY HERE"
bucket_name = "Hamster Fitness Tracker"

# 在指定 bucket 创建新数据流
stream = initialstate.Stream.create(bucket_name, client_key)

# 设置传感器引脚(将 17 改为你选的 GPIO)
sensor = Button(17)

# 计算轮周长(示例:半径 10 cm)
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 的新 bucket,后续所有数据点存入其中。仪表盘实时更新,让你即时洞察毛茸茸朋友的活动量。

有了这套装置,你会发现即使你睡着时,毛茸茸的小家伙也在疯狂奔跑!

制造工艺

  1. 树莓派+$5 I²C传感器打造温度记录仪
  2. 树莓派与 Python 构建远程温度传感器:分步实战指南
  3. 树莓派自制气象站:每日邮件推送温湿雨数据
  4. 树莓派 GPIO 直连 DS1820 单总线温度传感器指南
  5. 树莓派 3 接 HC‑SR04 超声波测距传感器完全指南
  6. 树莓派 Home Assistant 安全监控:PIR 运动检测、报警面板与视频抓拍
  7. 打造低成本家庭无线传感器网络:Arduino + 树莓派 + Xively 物联网平台
  8. 树莓派 PIR 运动传感器控制 LED 实战指南
  9. 树莓派低成本土壤湿度传感器:智能灌溉 DIY 指南
  10. 树莓派仓鼠健身追踪器:激光断束传感器记录每日运动量
  11. 树莓派读取线性霍尔传感器:Java 指南与 ADC0832 深度解析
  12. 树莓派多传感器温度光照监测系统:DS18B20 实战构建