IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 51单片机 智能婴儿监护系统 -> 正文阅读

[嵌入式]51单片机 智能婴儿监护系统

成果展示

系统演示

1、整体设计框架

2、电路设计

3、程序流程设计

主程序:

void main()
{
	  uint sy_count1 = 0;
	  uint sy_count2 = 0;
	  uint yuyin = 0;
	  bit flag = 0;
	  char xdata SEND_BUF[]="心率:000,温度:00.0C\r\n";
	
		time_init();//定时器初始化
		lcd_init();//1602初始化
		lcd_write_str(0, 0, "   CLOSE   00.0C");
    lcd_write_str(0, 1, "MS: ZIDONG   000");
    uart_init(9600);
		while(1)
		{
			  keyscan();
			  if(setn == 0)
				{
						if(Mode == 0)//在自动模式下
						{
								if(Voice == 0)//检测到有声音
								{
										if(sy_count1++ > 10)//检测哭声是否延续
										{
												DJ_TIME = 60;//电机开启时间1分钟
												openFlag = 1;//电机开启
												sy_count1 = 0;
												if(ShiDu==0)Line_1A(1);//播放歌曲
										}
								}
								else
								{
										if(sy_count2++ > 200)
										{
												sy_count2 = 0;
												sy_count1 = 0;
										}
								}
						}
						if(ShiDu==1)//检测到尿不湿湿了
						{
								LED = 0;
								if(flag == 0)//只播放一次
								{
										flag = 1;
										Line_1A(0);//播报
										yuyin = 0;
								}
								if(flag==1)
								{
										if(yuyin++ > 400)
										{
												yuyin = 0;
												Line_1A(0);//播报
										}
								}
						}
						else
						{
								LED = 1;flag = 0;
						}
						if(openFlag==1)//电机开启
						{
								lcd_write_str(0, 0, "    OPEN");
								motoRotate(); 
						}else 
						{
								lcd_write_str(0, 0, "   CLOSE");
								MotorStop();//点击关闭
						}
						rountine();
						//显示心率值体温值
						lcd_write_char(13,1,heartrate/100+'0');
						lcd_write_char(14,1,heartrate%100/10+'0');
						lcd_write_char(15,1,heartrate%10+'0');
						lcd_write_char(11,0,temperature/100+'0');
						lcd_write_char(12,0,temperature%100/10+'0');
						lcd_write_char(14,0,temperature%10+'0');
						SEND_BUF[5]=heartrate/100+'0';
					  SEND_BUF[6]=heartrate%100/10+'0';
					  SEND_BUF[7]=heartrate%10+'0';
					  SEND_BUF[14]=temperature/100+'0';
					  SEND_BUF[15]=temperature%100/10+'0';
					  SEND_BUF[17]=temperature%10+'0';
						if(((heartrate<=heartrateMin||heartrate>=heartrateMax)&&heartrate!=0)||(temperature>=temperatureMax))//心率或体温超过上下限
						BEEP = 0;
						else 
						BEEP = 1;
						if(sendFlag==1)
						{
								sendFlag = 0;
							  uart_send(SEND_BUF,0xFF);//串口发送
						}
			  }
			  delay_ms(1);
		}
}

4、功能介绍

4.1元件组成

?

?4.2婴儿哭闹

实现效果:

婴儿哭闹演示

设计思路:

程序详情:

void motoRotate()//电机处理
{
	  static uint djcount=0;
	  static bit flag = 0;

	  if(flag == 0)
		{
			  djcount++;
				if(djcount < 30)
				{
						MotorCW();//正转
				}
				else
				{
						if(djcount < 130)
						{
								MotorStop();//电机停止
						}
						else
						{
								flag = 1;
							  djcount = 130;
						}
				}
		}
    else
		{
			  djcount--;
				if(djcount > 100)
				{
						MotorCCW();//电机反转
				}
				else
				{
					  if(djcount<=0){flag = 0;djcount=0;}
						MotorStop();//电机停止
				}
		}
}

?4.3尿床检测

实现效果:

尿床演示

设计思路:

程序详情:?

						if(ShiDu==1)//检测到尿不湿湿了
						{
								LED = 0;
								if(flag == 0)//只播报一次
								{
										flag = 1;
										Line_1A(0);//播报
										yuyin = 0;
								}
								if(flag==1)
								{
										if(yuyin++ > 400)
										{
												yuyin = 0;
												Line_1A(0);//播报
										}
								}
						}

4.4体温和心率检测

实现效果:

心率检测演示

设计思路:

?程序详情:

//显示心率和体温值
						lcd_write_char(13,1,heartrate/100+'0');
						lcd_write_char(14,1,heartrate%100/10+'0');
						lcd_write_char(15,1,heartrate%10+'0');
						lcd_write_char(11,0,temperature/100+'0');
						lcd_write_char(12,0,temperature%100/10+'0');
						lcd_write_char(14,0,temperature%10+'0');
						SEND_BUF[5]=heartrate/100+'0';
					  SEND_BUF[6]=heartrate%100/10+'0';
					  SEND_BUF[7]=heartrate%10+'0';
					  SEND_BUF[14]=temperature/100+'0';
					  SEND_BUF[15]=temperature%100/10+'0';
					  SEND_BUF[17]=temperature%10+'0';
						if(((heartrate<=heartrateMin||heartrate>=heartrateMax)&&heartrate!=0)||(temperature>=temperatureMax))//心率或体温超过上下限
						BEEP = 0;
						else 
						BEEP = 1;
						if(sendFlag==1)
						{
								sendFlag = 0;
							  uart_send(SEND_BUF,0xFF);//串口发送
						}

5.相关技术

元件清单:

模块名称
声音采集TELESKY 声音传感器模块
温度检测DS18B20
心率检测PulseSensor脉搏心率传感器
湿度检测CON4
蓝牙传输HC05
步进电机CON5
比较器LM393
单片机ST89C52
液晶LCD1602

开发环境:

用途名称
程序编写Keil uVision4
原理图设计Altium Designer
电路仿真设计Proteus8.6
  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-04-28 12:02:29  更:2022-04-28 12:02:47 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/30 1:01:30-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码