16

K_b0KBsM · 5月6日 · 广东

创客项目秀 | 基于Seeed XIAO 的智能宠物猫砂盆

今天小编给大家带来的项目是来自国内的Maker制作的智能宠物猫砂盆,通过记录宠物进入猫砂盆排便的次数来提前预知猫咪的健康状况。
39c064e5b23c671396c54ca0371e596.png

材料清单

硬件列表

  • Seeed Studio Seeed XIAO BLE nRF52840 Sense
  • Seeed Studio Grove-超声波模块
  • Seeed Studio Grove - 4 位数字显示
  • Seeed Studio Seeeduino XIAO 扩展板
  • Seeed Studio Grove - 通用 4 针带扣 5 厘米电缆(5 件装)

软件列表

  • Arduino IDE

项目制作背景

作为新上任的铲屎官,我需要格外关注宠物的健康状况,防止因为自己的疏忽而导致宠物生病。因此我想通过观察猫咪进入猫砂盆的次数来判断给他准备的食物或者喂养方式是否有问题。由于工作的原因我不能和他在一起一整天,所以我想做一个项目来监控他的乱扔垃圾行为,并记录数据供我下班回家时查看。

所以,在这个项目中,我在猫砂盆里放了一个 Grove 超声波距离传感器,每次我的猫进入猫砂盆时,它都会检测到它,并且检测结果可以计数并记录在 Grove-4 位显示器上。

一只正常的 3 个月大的猫每天会有 2-6 次排泄。否则,它可能会出现腹泻或便秘。如果是这样,我需要改变他的饮食或补充一些益生菌。

宠物总是给我们带来无尽的快乐,所以关注它们的身心健康非常重要,让它们能和我们在一起的时间更长。

步骤一,搭建开发环境

根据您的操作系统下载并安装最新版本的Arduino IDE
3ca257679c2215ea3497f6ad4959443.jpg

启动Arduino应用程序
将 Seeed Studio XIAO nRF52840 (Sense) 板包添加到您的 Arduino IDE
导航到“文件>首选项”,然后 使用以下 URL 填写 “ 其他 Boards 管理器 URL ”: https://files.seeedstudio.com...

47fb034f9907d03ba8051daff5e621b.jpg

导航到 工具 > 板 >板管理器...,在搜索框中输入关键字“Seeed NRF52”,选择所需的开发板的最新版本,然后安装它。您可以同时安装两者。
006d26f61ad4c72907f84e7b7b796fd.jpg

选择您的主板和端口
安装板包后,导航到工具 > 板 并选择所需的板,继续选择“Seeed XIAO nRF52840 Sense”。现在我们已经完成了针对Arduino IDE的Seeed Studio XIAO nRF52840(Sense)的设置。
c58fd7b54f1fc63951d65b79d52dc86.jpg

导航到文件 > 示例 > 01.basics > Blink示例
736140b395b62f490cd93fbcaf401ee.jpg

单击“上传”按钮,将 Blink 示例代码上传到开发板
4eeae196fdf3c73375b8731aa82a03c.jpg

上传后,您将看到内置的红色 LED 闪烁,每次闪烁之间有 1 秒的延迟。这意味着连接成功,现在您可以使用 Seeed Studio XIAO nRF52840 (Sense) 探索更多项目!

从 Github 下载 UltrasonicRanger 库
https://github.com/Seeed-Stud...

下载 Grove-4 位显示库和 TimerOne 库。
https://github.com/SeeedStudi...

https://code.google.com/p/ard...

步骤二,硬件设置

使用以下引脚原理图连接扩展板上的 XIAO 和其余接口。
50b6c9ba3276db2969607a3b98e4580.jpg

代码如下

#include "TM1637.h"
#include <Ultrasonic.h>

Ultrasonic ultrasonic(7); //define pin
const int CLK = 5;//define pin
const int DIO = 4;//define pin
TM1637 tm1637(CLK, DIO);//define pin

boolean catIn = false;
boolean catOut = false;
float counterCatIn = 0;



void setup()
{
  Serial.begin(9600);
  tm1637.init();
  tm1637.set(BRIGHT_TYPICAL);

}
void loop()
{
  long RangeInCentimeters;
  RangeInCentimeters = ultrasonic.MeasureInInches(); // two measurements should keep an interval
  if (RangeInCentimeters < 20) {
    catIn = true;
    //Serial.println("cat in");
    delay(1000);
  } else {
    catOut = true;
    //Serial.println("cat out");
    delay(1000);
  }
  //counter
  if (catIn == true && catOut == true) {
    counterCatIn = counterCatIn + 0.5;
    Serial.println("your cat go in litter box");
    Serial.println(counterCatIn);
    tm1637.displayNum(counterCatIn);    
    delay(2000);

    delay(500);
    catIn = false;
    catOut = false;
  }
  //print

}
推荐阅读
关注数
1443
内容数
17
深度服务产业的国际化双创平台
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息