Raspberry Pi 解答:我的仓鼠是懒惰还是超级运动员?

目前还没有读者喜欢这个。
Raspberry Pi 4 board

Raspberry Pi 基金会

去年,我把两只新的罗伯罗夫斯基仓鼠幼崽带回了家。当时它们看起来完全一样,所以我给它们都取名叫 Hamtaro。(快进到我拥有它们的 1.5 年,其中一只比另一只长得明显胖得多……所以我给它起了个绰号 Hamtaro Grande。)

在 Hamtaros 回家大约一周后,有一件事变得非常清楚——它们**一直**在跑。至少,当我试图在它们吱吱作响的轮子声中睡觉时,感觉就是这样。

好奇心驱使我开始 在互联网上研究我的仓鼠。为了证实我的怀疑,我读到罗伯罗夫斯基仓鼠尤其是在世界上最活跃的仓鼠品种之一,并且“平均每晚跑相当于四个人类马拉松的距离”。所以,这让我开始思考:我的罗伯罗夫斯基仓鼠真的有可能每晚跑相当于四个马拉松的仓鼠里程吗?如果它们真的跑了,那又意味着什么呢?我的意思是,马拉松的“仓鼠里程”究竟**是**什么?考虑到这些问题,我决定用一些公民科学来测试我的仓鼠。

以下是它的工作原理

改装仓鼠轮,以便安全追踪

幸运的是,我已经在 1 月份完成了改装我的轮子的工作。那时,我脑海中已经有了两个目标

  1. 消除持续不断的吱吱声,这种声音让我夜不能寐。(旨在使录像带平稳播放的滚珠轴承允许相对无摩擦的旋转——因此几乎是静音的。)
  2. 提供一个笼子外部的表面,以便在仓鼠无法触及的安全范围之外连接其他装置。(录像机磁头有一个可以通过笼子栅栏的轴,允许我将磁头本身安装在笼子外部。)

您可以在此处查看有关如何改装您自己的仓鼠轮的详细说明。

构建一个设备来记录仓鼠数据

hamstrometer 本质上只是一个以太网连接的计步器。我非常喜欢回收利用和开源,因此我个人选择尽可能在我的设计中选择开源解决方案和回收部件。如果您想构建自己的 hamstrometer,您可以从我的 GitHub 下载此电路的 Fritzing 模型。

这是我的零件清单

  • Raspberry Pi
  • Raspberry Pi 外围设备(为了减少浪费,我从 CRASH Space 垃圾箱中二手获得了所有这些设备):显示器、鼠标、以太网电缆、HDMI 电缆、电源线(从旧调制解调器上取下)、USB 电缆
  • 带背胶的面包板
  • 霍尔效应传感器
  • 稀土磁铁
  • LED(可选:用于通知和调试)
  • 跳线

电路中的主要功能发生在稀土磁铁和霍尔效应传感器之间。霍尔效应传感器可以感应磁场的存在,因此一旦我们将稀土磁铁安装到仓鼠轮上的录像机磁头的旋转部分,它们就能够计数旋转次数。

旋转数据的记录和任何额外的计算都由 Raspberry Pi 处理。在观察了我的仓鼠的行为后,我确定它们通常倾向于在很短的时间内多次在轮子上走动。因此,我决定以“冲刺”方式记录它们的数据。每当传感器感应到磁铁的存在时,它都认为这是一个新冲刺的开始。在最初通过之后,它每次连续感应到磁铁时,都会记录当前的时间戳。只要传感器感应到磁铁,它就会继续记录。如果五秒钟没有任何活动,它将终止冲刺并将冲刺数据记录到 SQLite 数据库中。

测量和计算距离

互联网上的说法是我的仓鼠平均每晚跑相当于四个马拉松的距离。因此,为了确定这是否属实,我们首先必须问自己:**四个马拉松的“仓鼠里程”是多少?**

为了确定这一点,我认为假设如果人类跑完一个人类大小的马拉松需要 X 个人类大小的步幅,那么仓鼠跑完一个“仓鼠马拉松”也必须需要 X 个仓鼠大小的步幅,这是公平的。

为了解决这个问题,我首先必须回答其他几个问题

问:仓鼠在一个轮子旋转中跑多远?

hamstrometer 正在记录轮子的旋转次数,因此我们需要确保我们正确地在轮子旋转次数和英尺之间进行转换。

我测量了我的仓鼠轮的直径,它是 0.5 英尺。

0.5 英尺 X PI = ~1.5 英尺

答:仓鼠在一个轮子旋转中跑的距离是 1.5 英尺

问:平均人类步幅有多长?

幸运的是,此数据在整个互联网上都很容易获得。我选择采用 2.2 英尺的值,因为这被引用为平均女性人类的步幅长度,而我的仓鼠是女士。

答:平均女性人类的步幅长度为 2.2 英尺。

问:平均罗伯罗夫斯基仓鼠的步幅有多长?

这个问题有点难弄清楚。互联网上似乎没有大量关于平均罗伯罗夫斯基雌性仓鼠步幅的现成数据。

我开始为测试构思想法,并在 Twitter 上抛出了一些想法,看看是否有任何想法能站得住脚。社区充满了建议!我们都来回讨论各种想法的优缺点、它们需要多少工作、它们可能有多准确以及我的仓鼠可能会对整个折磨有多恼火。

然后我们中的一个人提出了完美的想法


太棒了!

这不仅使我们能够非常清楚地看到仓鼠迈出的步子,而且对仓鼠的正常生活方式也是不引人注目的。

幸运的是,我的仓鼠笼子的底部是半透明塑料,因此不需要额外的玻璃板。用尺子、笔和一些胶带,我绘制并标记了世界上最先进的仓鼠步幅测量系统!

瞧!在拍摄了它们的视频并在慢动作中回放后,我能够获得几个仓鼠步幅的测量值,并取平均值。



照片由 Michelle Leonhart 拍摄。 CC BY-SA 4.0

答:我的罗伯罗夫斯基仓鼠的平均步幅长度为 0.166 英尺。

问:一英里有多少人类步幅?

(5,280 英尺/英里)*(1 个人类步幅/2.2 英尺)= 2,400 个人类步幅/英里

答:一英里有 2,400 个人类步幅。

问:仓鼠走 2,400 步有多远?

(0.166 英尺/仓鼠步幅)*(2,400 步幅/英里)= 400 英尺/仓鼠英里

答:仓鼠在一英里内行进 400 英尺。

问:四个仓鼠马拉松有多长?

(400 英尺/仓鼠英里)*(26.2 英里/马拉松)= 10,487 英尺/仓鼠马拉松

(10,487 英尺/仓鼠马拉松)*(4 个马拉松)= 41,950 英尺/四个仓鼠马拉松

答:四个仓鼠马拉松长 41,950 英尺。

上传和跟踪数据

我一直在使用 ThingSpeak 来托管我的数据。ThingSpeak 是一个经济实惠的开源平台,用于托管您的 IoT 数据。有一个 API,您可以直接插入到您的项目中以上传您的数据、生成 CSV 文件并近乎实时地绘制您的数据。您可以在我的网站 此处 观看我的仓鼠的实时数据。

我为这个项目编写的代码是用 Python 编写的,数据库和表除外,它们由 SQLite 支持。您可以在 Github 上的此处 找到我为这个项目编写的代码,该代码在 GPL-3.0 许可证下可用。

分析数据

我连续跟踪了我的仓鼠的活动一个月,并且(剧透警告)

它们一次也没有达标。



照片由 Michelle Leonhart 拍摄。 CC BY-SA 4.0

哇。

也许是因为我的仓鼠变老了?也许家养的罗伯罗夫斯基仓鼠的表现不如野生的好?或者也许我的仓鼠只是……真的很懒?**或者也许互联网一直都在撒谎?!**

但实际上,我不应该对它们没有达到每天四个马拉松的标记感到如此失望。它们平均每天跑一到两个仓鼠马拉松,这相当于每天两到五英里的人类里程。对于一种最大长度约为两英寸的生物来说,这些数字已经相当令人印象深刻了。

GitHub | GPL-3.0 许可证

User profile image.
嗨!我是 Michelle Leonhart,一位居住在洛杉矶的软件工程师。当不为工作或娱乐编码时,您可以找到我与他人共同运营黑客空间 CRASH Space:一个旨在推广 STEAM* 教育的非营利组织,我对 STEAM* 教育充满热情。

12 条评论

从我在图片中看到的情况来看,您可能测量了“错误的步幅”。
步幅不应该是行走时两只成对的腿之间的距离,而不是像您测量的那样,前腿和后腿之间的距离吗?
好吧,如果我是对的,那么实际的步幅可能大约是您测量值的一半,因此 4 个马拉松可能仍在您的仓鼠女士们的掌握之中……

步幅测量值计算为单个脚的初始位置与该脚在一步之后的最终位置之间的距离。我认为您的困惑是因为在图像中,仓鼠右爪的前部恰好靠近仓鼠后爪后部的最终位置,而后爪是图像中正在测量的爪子。

回复 作者 Davide Repetto (未验证)

对于人类步幅,2.2 英尺(公制单位为 66 厘米)的值看起来像是一只脚的位置与另一只脚的位置之间的距离,也就是说,是您定义的步幅的一半。
我还猜测这是走路时的步幅长度。跑步时,步幅会明显更长。
将这两个影响结合在一起,您可能将马拉松中的步幅数高估了三到四倍。

回复 作者 mleonhart

非常吸引人的文章!当然,下一步只能是通过仓鼠轮为 Pi 供电(但可能需要几只额外的仓鼠,因为您的仓鼠显然很懒)。

我喜欢它!很棒的文章。

正是这类文章让我对 Opensource.com 的存在感到非常高兴。太棒了,Michelle。

我知道对于这类事情,他们通常使用体长作为比较器。也就是说,他们可能会使用人的平均身高与马拉松比赛距离的比率,而不是步幅长度,与仓鼠的平均长度与比赛距离的比率进行比较。当然,对于有明显尾巴的动物,尾巴将不包括在内,但仓鼠并没有真正明显的尾巴。

既然您显然在同一个笼子里养了多只仓鼠,您就不知道它们是否都同样活跃,还是只有一只在做大部分工作。
您可以给它们贴上唯一的 rfid 芯片,并在轮子附近放置一个 rfid 阅读器,以便能够分辨出哪只仓鼠目前正在使用它,

如果您可以实际通过仓鼠轮为 Pi 供电,那就太酷了!

如果一只仓鼠比另一只仓鼠胖,那么它也可能更慢。也许她可以从平均转速中区分出仓鼠。当然,可靠性较低,如果一只仓鼠出来而另一只仓鼠快速进入,可能会混淆数据,这很可能现在正在发生,因为步幅结束时间为 5 秒……但使用的材料更少。

回复 作者 JustNiz (未验证)

很棒的工作。我有一个问题,您为什么要测量仓鼠的步幅长度。计算旋转轮的周长并测量旋转次数并计算仓鼠跑过的距离有什么问题吗?

这是一篇非常酷的文章!我会用我的豚鼠做这个,但她只在被食物贿赂时才会移动。

Creative Commons License本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.