#第八届立创电赛#瑞萨RA-猫咪智能饮水机
简介
猫咪智能饮水机 WIFI自动受时,智能出水,炫彩灯光,缺水警报,WiFi控制等,功能强大
简介:猫咪智能饮水机 WIFI自动受时,智能出水,炫彩灯光,缺水警报,WiFi控制等,功能强大开源协议
:Public Domain
描述
项目功能介绍
1.开机通过WIFI自动受时。(已上传视频)
1.每小时闹钟一次,开启水泵换水并根据温度(是否大于30度)控制打开时间,30s,60s。(闹钟每小时0分开启,已调通就不录制视频了)
2.检测到猫咪经过,水泵自动开启一段时间。(已上传视频)
3.自定义炫彩RGB。(已上传视频)
4.检测水槽是否有水,若缺水蜂鸣器警报并关闭RGB灯光。(已上传视频)
5.检测电池电压,若电池电量不足时蜂鸣器发出间歇警报并关闭RGB灯光。(效果和缺水类似,但是警报声不同,等电池缺电有点难,所以不录制了)
6.可通过电池供电,也可以通过TYPE-C供电(同时也能给电池充电)。(已上传图片)
7.板载串口调试接口,也可以通过SWD调试。(已上传图片)
8.WiFi控制水泵开启。
9.可以扩展触摸按键开启水泵。
(已上传4个视频)
众所周知猫咪总是不喜欢喝自己碗里的水,就想给自己的猫咪做一个智能饮水机。淘宝上一搜发现智能猫咪饮水机价格普遍溢价太高,就想自己做一个。
于是便在拼夕夕找了个便宜的饮水机改造,非常便宜十来块拿下,此刻便拥有了水槽和USB水泵。正好借此次机会白嫖元器件,制作一个功能更强的智能饮水机。
项目结构
实物外观
电路板实物图
温湿度、人体感应、OLED模块
智能饮水机正面
智能饮水机侧面(充电接口)
硬件电路
1.MCU核心电路
R7FA2E1A72DFL芯片特性:
- 48MHz Arm® Cortex®-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电路(可换成蓝牙)
ESP8266购买时最好买带有AT固件的,没有的话需要自己下载
3.液位检测传感器、人体感应传感器、温湿度传感器、OLED模块
液位传感器
人体感应传感器
响应速度快、静态功耗小、灵敏度高、体积小巧简单安装,已装好透镜和焊接好排针,配上电源,无需调试
特点说明:
1、本产品输出的高电平时间可调,2.5秒到1小时,出厂时设定的输出时间是2.5秒,如需要更改,可更改一个贴片电阻
2、封锁时间,2秒,不可调节
3、出厂定义为可重复触发,无法变更
4、本模块的供电压是3.3V到15V,极限电压是2.8V到18V5模块输出时序是:上电后输出高电平2秒,然后变成低电平进入待机状态。若更改延时时间,模块上电输出高电平的时间会相应增长,可理解为上电后进入正常工作状态的启动时间会增长6、装上光敏原价后,白天不工作,晚上工作,不装光敏元件,全天工作(默认是没有安装光敏元件的)7、此模块很灵敏,注意安装位置,尽量避开热源辐射源(出风口/阳直)
8、本模块灵敏度可调,需更改一个贴片电阻
温湿度传感器(注意引脚顺序)
1、湿度测量范围:0~100%RH
2、湿度测量精度:±3%RH
3、温度测量范围:-40~125℃
4、温度测量精度:±0.3℃
5、工作电压:2.4~5.5VDC(宽电压)
6、I2C接口输出
0.96寸 OLED模块(注意引脚顺序)
1、高分辨率:128*64
2、超广可视角度:大于160°
3、超低功耗:正常显示时0.06W
4、宽供电范围:直流3.3V-5V
5、工业级:工作温度范围-30C~70C
6、体积小:27mm*27mm*2mm
7、通信方式:IIC
8:、亮度、对比度可以通过程序指令控制
9:、使用寿命不少于16000小时
10、OLED屏幕内部驱动芯片:SSD1306
4.水泵电路
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电路
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传输)
6.串口调试电路
默认直接连接到RA MCU上,接上跳线可以用于烧录和调试ESP8266
Type-C接入可用于打印调试信息,如上图日期显示
7.电池电量检测
18650锂电池的上限和下限电压分别为4.2V和2.75V。
18650锂电池单节标称电压一般为:3.6V 或3.7V。
18650锂电池最小放电终止电压一般为: 2.75V ,低于这个电压容易导致电池容量严重下降乃至报废。大部分锂电池放电不能将空载电压放到3.2V以下的,否则过度放电会损害电池。
程序里我们设置电池电压小于3.6V时发出警报并关闭水泵和RGB。
8.电源电路(锂电池充放电保护,升压,LDO)
(最好先焊接电源模块调试好5V输出后再焊接其他模块模块)
最大充电电流:1000mA
充电截止电压:4.2V
电池过放保护电压:2.4V
最大输出电流:2A (建议1A内使用)
输出电压:4~12V
type-c电源输入,红灯常亮,说明在充电。充满电后蓝灯亮起。当输入端有电源时,从电源输入端获得电流,如果没有接电源,从电池获得电流,电池电压低于2.4V时,自动关闭输出。第一次接入电池时,可能无电压输出,需要在电源输入端上电激活保护电路。当使用手机充电器供电时,必须要能输出1A以上,否则可能会不能正常充电。
软件代码
copy工程的要注意更改WiFi账号和密码
代码工程详情请看附件
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中编写
评论