# 用树莓派改造猫厕所：智能通风，告别异味

- URL: https://wuming.si/blog/3437/
- Author: Aaron
- Published: 2021-10-25
- Language: zh-Hans
- Categories: Uncategorized
- Originally published at: https://blog.wo.ai/archives/3437

之前我们有介绍过「激光逗猫神器」来增加猫主子的运动量。今天要介绍的项目则可以解决铲屎官们痛点之一：猫主子粑粑的气味问题。每次铲屎的时候，猫砂的气味就会飘散出来，那是一种巨酸爽的味道。

这个猫咪个智能厕所使用一块树莓派就能将猫砂盆改造成自动通风的猫厕，每当猫主子「出恭」完毕，它就能自行启动风扇，进行散味。

硬件组成

组件清单如下：

树莓派 Zero W

80mm×80mm 风扇（CPU散热器）

12V 电源

1 截空调通风管

PIR 运动传感器（热释电传感器）若干

1k 欧姆电阻若干

三极管

1 个降压-升压变换器

这些硬件的总成本在 400 元左右。其中，10 美元的树莓派 Zero W 是整个装置的核心，用于控制电路什么时候运行。

作者表示，树莓派也可以用更便宜的树莓派 Pico 来代替（5美元），但他想了解自家猫咪的具体拉粑粑时间……因此选择了贵一点的树莓派 Zero W，可以远程登录查看数据。

风扇用于散味，空调通风管则用于排气。

PIR（红外）运动传感器，则用来检测猫咪什么时候进猫砂盆、什么时候出去，以决定风扇通风的时间。

此外，还需要一个降压-升压变换器（此处用了汽车 USB 充电器代替），因为风扇的供电电压需要达到 12V，但树莓派的额定运行电压却在 5V。

同时，树莓派的输出电压只有 3.3V，因此在树莓派输出 3.3V 信号的时候，还需要一个三极管来控制 12V 电路的开启和关闭。

整体搭建电路图如下（其中333Ω的电阻，由3个1kΩ的电阻并联获得）：

图中，PIR 指运动传感器，Pz 指树莓派（输出通过 333 欧姆电阻与三极管相连），fan 指风扇，而风扇和树莓派之间的就是三极管。

至于图中的 5V 电压，可以直接用降压变换器，也可以对汽车 USB 充电器进行一个改装：先将它拆开，再把充电器的金属尖端用电线焊接替代，最后连接到主电路中。

到这里，硬件部分的组装就已经完成，搭建到猫砂盆上方后，看起来是这个样子的：

再用胶带或者热熔胶枪组装起来就行。

当然，这也只是完成硬件部分的制作，软件上还需要对树莓派进行设置。

软件和程序的安装

首先，需要给树莓派的SD卡安装系统，然后连接电源启动等。

再就可以开始部署程序了。由于作者想记录猫咪的拉粑粑时间，因此还安装了 Python 和数据库 MariaDB：

sudo apt install mariadb-server-10.0 python3-pip pip3 install mariadb

除了数据库以外，还需要一个可以控制树莓派 GPIO引脚的 Python 库 GPIO ZERO（GPIO 引脚指图中这部分）：

sudo apt install python3-gpiozero

安装后，就可以运行主要的程序了，这部分的原理，是在传感器触发后，将风扇启动10分钟：

FAN_ON_DURATION = 10 * 60 # 10 min outpin = LED(22) pir = MotionSensor(27, sample_rate=1) # I used the GPIO pin 27 while True: pir.wait_for_motion() outpin.on() time.sleep(FAN_ON_DURATION) outpin.off()

同时，作者还希望能在整个系统启动时，自动运行程序，因此还写了另一个文件，将它命名为.service，确保它在 mysqld 启动后就能运行：

[Unit] Description=Motion detection service for cat litter After=mysqld.service [Service] ExecStart=/usr/bin/python3 -u motion_detection.py WorkingDirectory=/home/pi/ StandardOutput=append:/home/pi/execution.log StandardError=append:/home/pi/execution.log Restart=alwaysUser=pi [Install] WantedBy=multi-user.target

放进/etc/systemd/system文件夹，并允许跟随系统启动：

sudo systemctl enable .service

完成！现在软件部分也搞定了，可以愉快地给自家猫用上了，据作者表示，打开风扇时，即使站在旁边，也基本闻不到味道。

解决更多铲屎官难题

这个智能“无臭”猫砂盆的作者，目前在硅谷工作，自我介绍是一名“攻城狮”。

事实上，作者自己家里就有猫，还是两只：

除了这个猫砂盆，作者此前还自己做过家用版大数据处理平台、以及树莓派运行的GPS跟踪器。作者表示，下一步计划研发一个新的装置，阻止猫咪到桌上和自己抢饭。

GitHub：

https://github.com/xinixgit/rpi/tree/main/pi-cat-litter

参考链接：

https://xinxindai.medium.com/build-a-ventilated-cat-litter-box-with-pi-zero-ce943d55b446
