隆太威电子网欢迎您!
新闻资讯

基于瑞萨RA MCU自制猫咪智能饮水机方案

作者:    发布时间:2026-03-11 14:01:29    浏览量:

以下文章来源于立创商城,作者立创商城

项目功能介绍

开机通过WIFI自动受时。

每小时闹钟一次,开启水泵换水并根据温度(是否大于30度)控制打开时间,30s,60s。(闹钟每小时0分开启,已调通)

检测到猫咪经过,水泵自动开启一段时间。

自定义炫彩RGB。

检测水槽是否有水,若缺水蜂鸣器警报并关闭RGB灯光。

检测电池电压,若电池电量不足时蜂鸣器发出间歇警报并关闭RGB灯光。(效果和缺水类似,但是警报声不同)

可通过电池供电,也可以通过TYPE-C供电(同时也能给电池充电)。

板载串口调试接口,也可以通过SWD调试。

WiFi控制水泵开启。

可以扩展触摸按键开启水泵。

众所周知猫咪总是不喜欢喝自己碗里的水,就想给自己的猫咪做一个智能饮水机。网上上一搜发现智能猫咪饮水机价格普遍溢价太高,就想自己做一个。

于是便在网上找了个便宜的饮水机改造,非常便宜十来块拿下,此刻便拥有了水槽和USB水泵。正好借此次机会获得元器件,制作一个功能更强的智能饮水机。

项目结构

7ffe3e6c-1849-11f1-90a1-92fbcf53809c.png

实物外观

80b6006a-1849-11f1-90a1-92fbcf53809c.jpg

电路板实物图

81125fa4-1849-11f1-90a1-92fbcf53809c.jpg

温湿度、人体感应、OLED模块

816e7bd6-1849-11f1-90a1-92fbcf53809c.jpg

智能饮水机正面

81c8bf2e-1849-11f1-90a1-92fbcf53809c.png

智能饮水机侧面(充电接口)

硬件电路

1.MCU核心电路

82de267e-1849-11f1-90a1-92fbcf53809c.png

8336405c-1849-11f1-90a1-92fbcf53809c.png

#R7FA2E1A72DFL芯片特性:

48MHz ArmCortex-M23

64kB的闪存以及16kB SRAM

4kB数据闪存,提供与EEPROM类似的数据存储功能

1.6V-5.5V的宽工作电压范围

增强型电容式触摸感应单元(CTSU)

12位ADC,LPACMP,温度传感器

32位通用PWM定时器,16位通用PWM定时器,低功耗异步通用定时器

实时时钟

SCI(UART、简单SPI、简单I2C)

独立的SPI接口/I2C多主接口

安全功能

加密功能

2.WIFI电路(可换成蓝牙)

83e7cc00-1849-11f1-90a1-92fbcf53809c.png

ESP8266购买时最好买带有AT固件的,没有的话需要自己下载

8442ee14-1849-11f1-90a1-92fbcf53809c.png

3.液位检测传感器、人体感应传感器、

温湿度传感器、OLED模块

84f17cfe-1849-11f1-90a1-92fbcf53809c.png

液位传感器

854dd472-1849-11f1-90a1-92fbcf53809c.png

人体感应传感器

85a9f93c-1849-11f1-90a1-92fbcf53809c.png

响应速度快、静态功耗小、灵敏度高、体积小巧简单安装,已装好透镜和焊接好排针,配上电源,无需调试。

#特点说明:

本产品输出的高电平时间可调,2.5秒到1小时,出厂时设定的输出时间是2.5秒,如需要更改,可更改一个贴片电阻

封锁时间,2秒,不可调节

出厂定义为可重复触发,无法变更

本模块的供电压是3.3V到15V,极限电压是2.8V到18V5模块输出时序是:上电后输出高电平2秒,然后变成低电平进入待机状态。若更改延时时间,模块上电输出高电平的时间会相应增长,可理解为上电后进入正常工作状态的启动时间会增长

装上光敏原价后,白天不工作,晚上工作,不装光敏元件,全天工作(默认是没有安装光敏元件的)

此模块很灵敏,注意安装位置,尽量避开热源辐射源(出风口/阳直)

本模块灵敏度可调,需更改一个贴片电阻

温湿度传感器(注意引脚顺序)

86023d7c-1849-11f1-90a1-92fbcf53809c.png

湿度测量范围:0~100%RH

湿度测量精度:±3%RH

温度测量范围:-40~125℃

温度测量精度:±0.3℃

工作电压:2.4~5.5VDC(宽电压)

I2C接口输出

0.96寸OLED模块(注意引脚顺序)

86bbe5e2-1849-11f1-90a1-92fbcf53809c.png

高分辨率:128*64

超广可视角度:大于160°

超低功耗:正常显示时0.06W

宽供电范围:直流3.3V-5V

工业级:工作温度范围-30C~70C

体积小:27mm*27mm*2mm

通信方式:IIC

亮度、对比度可以通过程序指令控制

使用寿命不少于16000小时

1OLED屏幕内部驱动芯片:SSD1306

4.水泵电路

876c74fc-1849-11f1-90a1-92fbcf53809c.png

87c59f5a-1849-11f1-90a1-92fbcf53809c.png

P111输出高电平时,水泵开启(LED2亮):

左右滑动查看完整内容

R_IOPORT_PinWrite(&g_ioport_ctrl,WaterPump,BSP_IO_LEVEL_HIGH);//开启水泵
R_IOPORT_PinWrite(&g_ioport_ctrl,WaterPump,BSP_IO_LEVEL_LOW);//关闭水泵

5.蜂鸣器、RBG电路

88786c34-1849-11f1-90a1-92fbcf53809c.png

88d54d50-1849-11f1-90a1-92fbcf53809c.png

P104输出高电平时,蜂鸣器发声:

左右滑动查看完整内容

R_IOPORT_PinWrite(&g_ioport_ctrl,Buzzer,BSP_IO_LEVEL_HIGH);//开启蜂鸣器
R_IOPORT_PinWrite(&g_ioport_ctrl,Buzzer,BSP_IO_LEVEL_LOW);//关闭蜂鸣器

WS2812b核心显示代码:

左右滑动查看完整内容

setPixelColor(i, green, red, blue);//第几个WS2812B 颜色值(通过SPI传输)

892d0cb6-1849-11f1-90a1-92fbcf53809c.png

89899170-1849-11f1-90a1-92fbcf53809c.png

6.串口调试电路

8a39faf6-1849-11f1-90a1-92fbcf53809c.png

8a92c35c-1849-11f1-90a1-92fbcf53809c.png

8af3d6ba-1849-11f1-90a1-92fbcf53809c.png

默认直接连接到RA MCU上,接上跳线可以用于烧录和调试ESP8266。

8b5029f6-1849-11f1-90a1-92fbcf53809c.png

Type-C接入可用于打印调试信息,如上图日期显示。

7.电池电量检测

8c025b9e-1849-11f1-90a1-92fbcf53809c.png

18650锂电池的上限和下限电压分别为4.2V和2.75V。

18650锂电池单节标称电压一般为:3.6V或3.7V。

18650锂电池最小放电终止电压一般为:2.75V ,低于这个电压容易导致电池容量严重下降乃至报废。大部分锂电池放电不能将空载电压放到3.2V以下的,否则过度放电会损害电池。

程序里我们设置电池电压小于3.6V时发出警报并关闭水泵和RGB。

8.电源电路(锂电池充放电保护,升压,LDO)

8cb44f34-1849-11f1-90a1-92fbcf53809c.png

8d0c293e-1849-11f1-90a1-92fbcf53809c.png

最好先焊接电源模块调试好5V输出后再焊接其他模块模块

最大充电电流:1000mA

充电截止电压:4.2V

电池过放保护电压:2.4V

最大输出电流:2A(建议1A内使用)

输出电压:4~12V

type-c电源输入,红灯常亮,说明在充电。充满电后蓝灯亮起。当输入端有电源时,从电源输入端获得电流,如果没有接电源,从电池获得电流,电池电压低于2.4V时,自动关闭输出。第一次接入电池时,可能无电压输出,需要在电源输入端上电激活保护电路。当使用手机充电器供电时,必须要能输出1A以上,否则可能会不能正常充电。

软件代码

copy工程的要注意更改WiFi账号和密码

代码工程详情点击文末“阅读原文”查看。

8dc8b608-1849-11f1-90a1-92fbcf53809c.png

ESP8266初始化及相关代码在:

ESP8266.c与ESP8266.h

OLED初始化及相关代码在:

oled.c、oled.h、oledfont.h

SHT30初始化及相关代码在:

sht3x.c与sht3x.h

WS2812B初始化及相关代码在:

ws2812b.c与ws2812b.h

主程序在hal_entry.c中编写