当前位置: 首页 > wzjs >正文

济南手工网站建设免费宣传网站

济南手工网站建设,免费宣传网站,核酸造假7人枪毙,小程序商家宠物喂食器 一、功能设计二、元器件选型三、UI设计四、原理图设计五、源代码设计六、成品展示 实物链接:https://m.tb.cn/h.5iCUX6H?tkPL65WXCEipQ CZ3457 一、功能设计 1、设计一个触摸屏作为人机交互 2、通过触摸屏设置时间定时喂食喂水通风 3、获取当前水槽的…

宠物喂食器

  • 一、功能设计
  • 二、元器件选型
  • 三、UI设计
  • 四、原理图设计
  • 五、源代码设计
  • 六、成品展示

实物链接:https://m.tb.cn/h.5iCUX6H?tk=PL65WXCEipQ CZ3457
在这里插入图片描述

一、功能设计

1、设计一个触摸屏作为人机交互
2、通过触摸屏设置时间定时喂食喂水通风
3、获取当前水槽的水位并显示
4、获取环境温湿度并显示

二、元器件选型

1、触摸屏采用2.8寸电阻触摸屏
2、单片机采用STM32F407ZGT6
3、喂水使用直流水泵
4、喂食使用舵机
5、通风使用风扇
6、控制开关使用继电器
7、温湿度获取使用DHT11
8、水位检测使用水位传感器

三、UI设计

1、UI使用LVGL
2、UI设计环境使用SquareLine Studio
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
3、生成代码导入到vsCode进行仿真运行,编译比较快
在这里插入图片描述

4、调试UI界面比较满意后导入UI代码到keil5下载到单片机运行

在这里插入图片描述

四、原理图设计

1、STM32F407ZGT6最小系统设计
在这里插入图片描述

在这里插入图片描述

2、继电器控制电路设计

3、水泵和舵机电路设计

五、源代码设计

1、移植正点原子LVGL最小工程
在这里插入图片描述

2、导入生成的UI代码

在这里插入图片描述

3、编写IO控制程序,舵机控制程序,系统时间、定时喂食喂水程序、事件记录程序

void scan_timeout(void)
{int32_t remain_time[SCAN_TIME_NUM];static int32_t p_time = 0x7fffffff;static uint8_t p_num;TimeTypeDef remain_time_min = {0};char sprbuff[64];int32_t n_num = 0;char buff[SCAN_TIME_NUM][8] = {"喂食","喂食","喂水","喂水","通风","通风"};char * pbuf = NULL;get_sys_date_time();//获取系统时间remain_time[0] = time_compare(&System.para.systime,&System.para.feed.time1     );//计算时间差remain_time[1] = time_compare(&System.para.systime,&System.para.feed.time2     );//计算时间差remain_time[2] = time_compare(&System.para.systime,&System.para.feedwater.time1);//计算时间差remain_time[3] = time_compare(&System.para.systime,&System.para.feedwater.time2);//计算时间差remain_time[4] = time_compare(&System.para.systime,&System.para.ventilate.time1);//计算时间差remain_time[5] = time_compare(&System.para.systime,&System.para.ventilate.time2);//计算时间差for(int i=0; i<SCAN_TIME_NUM; i++) //看看时间差哪个短 找到最短那个任务优先执行{if(p_time > remain_time[i]  && remain_time[i] >= 0){remain_time_min.hour = remain_time[i] / 3600;remain_time_min.min = remain_time[i] % 3600 /60;remain_time_min.sec = remain_time[i] % 60;p_time = remain_time[i];pbuf = buff[i];p_num = i;if(p_time == 0)p_time = 0x7fffffff;printf("i = %d, remain_time[i]=%d\r\n",i,remain_time[i]);}if(remain_time[i] < 0){n_num ++;}}if(n_num != SCAN_TIME_NUM)  //今天任务做完了吗? 哦 没有就进去{if(p_time < 30)  //如果距离任务还不到 XXX秒了,就进来运行任务{switch(p_num){case 0:sprintf(sprbuff,"喂食时间到! %02d:%02d", System.para.feed.time1.hour,System.para.feed.time1.min);SW1_ON();break;case 1:sprintf(sprbuff,"喂食时间到! %02d:%02d", System.para.feed.time2.hour,System.para.feed.time2.min);SW1_ON();break;case 2:sprintf(sprbuff,"喂水时间到! %02d:%02d", System.para.feedwater.time1.hour,System.para.feedwater.time1.min);SW2_ON();break;case 3:sprintf(sprbuff,"喂水时间到! %02d:%02d", System.para.feedwater.time2.hour,System.para.feedwater.time2.min);SW2_ON();break;case 4:sprintf(sprbuff,"通风时间到! %02d:%02d", System.para.ventilate.time1.hour,System.para.ventilate.time1.min);SW3_ON();break;case 5:sprintf(sprbuff,"通风时间到! %02d:%02d", System.para.ventilate.time2.hour,System.para.ventilate.time2.min);SW3_ON();break;}lv_label_set_text(ui_MainInfoLabel7,sprbuff);}else if(pbuf != NULL){sprintf(sprbuff,"主线任务 - %s %02d:%02d:%02d",pbuf,remain_time_min.hour,remain_time_min.min,remain_time_min.sec);printf("%s\r\n",sprbuff);lv_label_set_text(ui_MainInfoLabel7,sprbuff);switch_all_off();}}else{lv_label_set_text(ui_MainInfoLabel7,"今日暂无任务");}
}

六、成品展示

**加粗样式**
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

http://www.dtcms.com/wzjs/286050.html

相关文章:

  • 建免费的网站吗网站快速收录
  • axure做购物网站大数据分析网站
  • 手机网站优势烘焙甜点培训学校
  • 网站建设运营预算明细seo查询工具有哪些
  • 网站建设 通讯员最近一周国内热点新闻
  • 公司申请网站建设申请理由发布软文广告
  • 青岛做门户网站公司哪里搜索引擎优化好
  • 织梦的官方网站北京正规seo搜索引擎优化价格
  • 怎么给网站做超链接百度导航如何设置公司地址
  • 怎么把asp网站改成php域名注册 万网
  • 做艺术品拍卖的网站百度推广落地页
  • 鹤壁网站建设中国推广网
  • 网站初期做几个比较好色盲测试图片60张
  • 静海网站建设微信小程序开发费用一览表
  • 怎么做的360网站打不开百度推广一年多少钱
  • 会计上网站建设做什么费用磁力帝
  • 长春建站模板评测搜外友链
  • 亚马逊做超链接的网站百度主页面
  • 找论文的免费网站企业推广平台有哪些
  • php做的网站首页是什么文件软文发布平台排名
  • 广州专业网页制作seo网站排名推广
  • 电子商务平台网站建设方式沈阳网站建设公司
  • 微起点网站怎么设置的黄页网站推广服务
  • 村级网站建设 不断增强创建网址链接
  • 国外b2b网站大全广西网络优化seo
  • 重庆建网站公司深圳百度seo优化
  • 用dw做的网站怎样弄上网上天猫seo搜索优化
  • 北京网站关键词优化公查排名的软件有哪些
  • 简述建设政府门户网站原因全球最大的磁力搜索引擎
  • 网站免费推广计划南昌seo