基于51单片机的宠物自动喂食语音播报,有实物

1. 51仿真:

 LCD第一屏显示食物重量,当前时间,温湿度。第二屏显示喂食时间,第三屏显示喂食重量。可通过点击查看喂食时间翻转屏幕显示。

点击查看喂食时间后,显示喂食时间,可以设置三个时间,再点击设置,可以设置喂食时间。

 主程序片段:

void main()
{unsigned int count,dj_count;short temperature;//温度short humidity;//湿度bit flag = 0;lcd_init();//1602初始化Timer_Init();//定时器初始化To_Zero();//找回零点lcd_write_str(0,0,"W:  .   kg T:  C");//第一行显示的内容lcd_write_str(0,1,"  :  :     H:  %");//第二行显示的内容while(1){keyscan();//按键扫描if(count++>=50 && setN == 0 && see_nz == 0)//延时一段时间,进入下面函数{count=0;get_weight();//获取重量RH();//读取温湿度humidity = U8RH_data_H;temperature = U8T_data_H;display_weight();//显示重量display_time();//显示时间lcd_write_char(13,0,temperature/10+0x30);//显示温度lcd_write_char(14,0,temperature%10+0x30);lcd_write_char(13,1,humidity/10+0x30);//显示湿度lcd_write_char(14,1,humidity%10+0x30);if((shi == n1_shi && fen == n1_fen && miao == n1_miao)||(shi == n2_shi && fen == n2_fen && miao == n2_miao)||(shi == n3_shi && fen == n3_fen && miao == n3_miao)){//三个喂食时间,任意一个时间到,则开启电机if(weight < food_weight)open_flag = 1;//必须小于设定重量,才能开启}if(open_flag==1)//电机标志位开启{if(dj_count++ > 100)//喂食完成,关闭电机{dj_count = 0;//电机延时清零open_flag = 0;//开启电机标志位清零flag = 0; //电机反转标志清零MotorStop();//关闭电机}   if(dj_count < 50)//计数值小于50,电机正转{MotorCW();//电机正转}else//等于或超过50{if(weight >= food_weight)//投食重量达标后,开启电机反转标志{flag = 1;}if(flag == 1)//重量达标电机反转MotorCCW();elsedj_count = 50;//重量不达标,电机不动作,dj_count赋值为50}}	}}
}

2. 实物制作

lcd原理图:

重量传感器使用hx711:

语音模块使用WT588D:

3. 整理资料:

需要资料或者事物的加🐧qq🐧: 2711326046

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/641336.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

zigbee cc2530的室内/矿井等定位系统RSSI原理

1. 定位节点软件设计流程 2. 硬件设计 cc2530 最小系统 3. 上位机 c# 设计上位机&#xff0c;通过串口连接协调器节点&#xff0c;传输数据到pc上位机&#xff0c;显示节点坐标信息 4. 实物效果 需要4个节点&#xff0c;其中一个协调器&#xff0c;两个路由器作为参考节点&a…

Nexus自定义健康检查地址

项目需要对Nexus进行健康检查&#xff0c;甲方自定义了接口返回的数据。基于此&#xff0c;准备在Nexus里面开发一个接口。在本项目中使用的Nexus版本号为3.63.0-01&#xff0c;通过查询资料以及对代码的拜读&#xff0c;明确需要修改nexus-base这个包。需要修改的文件截图如下…

2024统计建模:大数据与人工智能时代的统计研究

文章目录 题目解读你需要具备的知识点课题推荐视频分析 题目解读 主要做的是“大数据”与“人工智能”。 其中“大数据”所涉及的的第一个就是大量的数据&#xff0c;数据从哪里来&#xff1f;拿到数据后&#xff0c;我们需要做基本的数据分析&#xff0c;如何对大量的数据进…

大型网站系统架构演化实例_6.使用分布式文件系统和分布式数据库系统

1.使用分布式文件系统和分布式数据库系统 任何强大的单一服务器都满足不了大型网站持续增长的业务需求。数据库经过读写分离后&#xff0c;从一台服务器拆分成两台服务器&#xff0c;但是随着网站业务的发展依然不能满足需求&#xff0c;这时需要使用分布式数据库。文件系统也一…

汇编语言——输入八进制数,存入BX中

文章目录 输入5位以内的八进制数&#xff0c;存入BX中输入6位以内的八进制数&#xff0c;存入BX中 输入5位以内的八进制数&#xff0c;存入BX中 bx为16位的寄存器。 5位以内的八进制数最多是15位二进制&#xff0c;bx最高位默认为0&#xff0c;不输出 只输出bx的5位8进制数 …

【Java框架】SpringBoot(一)基本入门

目录 SpringBoot介绍Spring Boot的诞生SpringBoot特点Spring和Spring Boot的关系Spring Boot的优点和缺点Spring Boot优点Spring Boot缺点 快速创建Spring Boot项目 IDEA创建SpringBoot工程1.打开IDEA&#xff0c;选择Spring Initlializr2.选择SpringBoot版本和初始化依赖3.更改…

微服务:Nacos注册中心

个人简介&#xff1a;Java领域新星创作者&#xff1b;阿里云技术博主、星级博主、专家博主&#xff1b;正在Java学习的路上摸爬滚打&#xff0c;记录学习的过程~ 个人主页&#xff1a;.29.的博客 学习社区&#xff1a;进去逛一逛~ Nacos注册中心 一、服务注册与发现1.启动Nacos…

视频教程下载:ChatGPT驱动的SEO、网络营销、生产力提升

用户遇到的一个常见问题是在ChatGPT对话过程中难以保持清晰的目的和专注。这可能导致互动无效和浪费时间。这门课程将教给各种创意人士——艺术家、制造者、博主、讲师和内容创作者——如何制定理想的提示配方&#xff0c;从而产生更有成效的对话和更高的回报。 这是一门关于如…

计算机网络【CN】Ch4 网络层

总结 一台主机可以有多个IP地址&#xff0c;但是必须属于多个逻辑网络【不同的网络号】。 解决IP地址耗尽&#xff1a; IP地址结构&#xff1a; 划分子网&#xff1a;&#x1d43c;&#x1d443;地址<网络号>,<子网号>,<主机号> CIDR&#xff1a;IP地址{&…

linux 守护进程的实现

文章目录 1. 守护进程及实现步骤2. 使用fork 方式创建守护进程3. 使用daemon 函数创建 1. 守护进程及实现步骤 特点&#xff1a; 长期运行&#xff1a;守护进程是一种生存期很长的一种进程&#xff0c;它们一般在系统启动时开始运行&#xff0c;除非强行终止&#xff0c;否则…

Day 31 贪心算法理论基础 455.分发饼干 376. 摆动序列 53. 最大子序和

贪心算法理论基础 ​ 贪心算法的本质&#xff1a;选择每一个阶段的局部最优&#xff0c;从而达到系统的整体最优&#xff1b; ​ 贪心的套路就是没有套路&#xff0c;最好的策略就是举反例&#xff0c;因为大多数时候并不要求严格证明&#xff0c;只需要得到普遍性结论即可&a…

echart-better基于最新的echarts5.5标题旋转功能

使用教程以及相关的echarts-better最新的包在这里&#xff1a;https://edu.csdn.net/course/detail/24569 echarts在侧边竖向展示标题&#xff0c;以及次标题 主标题和次标题进行旋转&#xff0c;适用于移动端或其他场景。