单片机开发|基于单片机的婴儿睡眠监测系统设计

这篇具有很好参考价值的文章主要介绍了单片机开发|基于单片机的婴儿睡眠监测系统设计。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

作者简介:全栈开发工程,从事Java、Python、前端、小程序方面的开发和研究,对大数据应用与开发比较感兴趣,

主要内容:Java项目、前端项目、Python项目、小程序开发、大数据项目、单片机

收藏点赞不迷路  关注作者有好处

文末获取源码 

感谢您的关注,请收藏以免忘记,点赞以示鼓励,评论给以建议,爱你哟

项目编号:BS-DPJ-003

前言:

婴儿一天中的大多数时间都处于睡眠状态,如何对婴儿进行睡眠监测、及时安抚婴儿,以及如何解决婴儿的尿湿问题,这些都是新妈妈们最关心的问题。大部分的家庭都会选择方便的纸尿裤,但是纸尿裤不仅价格昂贵,而且吸水性很强,如果不及时更换,很可能会长出红疹等皮肤疾病,对婴儿的身体也是有威胁的;婴儿醒了就会大哭,家长没有及时的听见,造成婴儿很长一段时间没有人照料。所以,为婴儿设计一个适合婴儿的睡眠监测系统,对于新手家长来说是很有帮助的。本论文采用STC89C52单片机为核心,采用声控、语音播报、湿度采集电路采集各种场景的数据,并通过 LED灯光、语音播报等方式来实现对幼儿进行实时监测。

一,环境介绍

语言环境:C语言开发

开发技术:51单片机;声音控制电路;语音播报;湿度采集;液晶显示

二,项目简介

睡眠是人体的一个重要的生理过程,其质量的高低直接关系到人体的健康。在医学上,人们对睡眠的结构和过程的认识,主要是通过多导睡眠记录仪和多通道睡眠描记法来实现。具体来说,就是使用脑电图(EEG)来监测睡眠者的脑波,来预测睡眠状况。但是,由于医疗器械和技术都以医院、科研院所为主,其普及程度受到高昂的费用限制。近年来,随着传感技术的飞速发展,微型探测器的研制也在不断地进步。目前,最常见的是使用体动记录仪进行监测,通常使用三个方向的传感器来获取人体各个部分的动作,如 Fitbit、 JawboneUP、 WakeMate、 YawnLog等都是目前市场上使用的一种便携式智能手机。分析软件可以根据采集到的信息,对人体的能量消耗、睡眠质量、唤醒时间、睡眠效率等进行分析。

与此同时,一大批以智能手机为基础的睡眠管理软件(SleepAsAndroid、 Sleep Cycle),通过调用智能硬件中的加速传感器,对睡眠行为进行记录,从而达到了只需使用智能硬件就能够监测睡眠质量的目的。然而,这种类型的传感器仍然有一些缺陷,如:行为识别不清楚,错误识别率高。

现在的社会,工作压力越来越大,女人要同时兼顾工作与家庭,特别是刚做母亲的,要照顾婴儿,又要操持家务,这让新妈妈很是焦头烂额。婴儿一天中的大多数时间都是在睡觉,如何监测婴儿的睡眠,如何安抚婴儿,如何解决婴儿的尿湿问题,这些都是忙碌的新妈妈们所关心的问题。大部分的家庭都会选择用便携的纸尿裤,但是纸尿裤不仅价格昂贵,而且吸水性很强,如果不及时更换,很可能会引起婴儿的皮肤起疹子。纯棉纸尿裤既卫生又舒服,又要及时更换,目前市场上的尿液湿度测试设备大都是单一的,容易造成漏报。所以在婴儿睡觉的时候,要想知道婴儿有没有尿床,这对于新手家长来说也是非常重要的。

本论文主要针对以单片机为核心的婴儿睡眠监测系统进行了设计。当婴儿在睡眠中被监测,当婴儿被尿湿或者因为需要照料而哭泣时,就会发出警报。

首先,在参考了有关的数据之后,确定了整个方案和功能,并按照设计的要求,完成了电路的设计和硬件的构建,然后编写了单片机的控制软件,最后进行了实际的焊接和试验。

该系统主要包括:51单片机最小系统, LED指示灯,ULN2003驱动步进电机,功能按键,WT588D播放,声音采集模块,湿度检测, LCD显示当前信息和状况,声音传感器检测婴儿哭闹,湿度传感器检测婴儿尿床,检测尿床, LED灯亮,声音播报。具体是这样的:

1)查阅有关数据,了解51微处理器的基本原理;

2)了解51微处理器在婴儿睡眠监测中的应用;

3)完成了以单片机为核心的婴儿睡眠监测系统的电路设计;

4)用 C语言进行有关的控制;

5)对程序进行调试,使之符合设计要求;

6)焊接一块用于检测和分析婴儿睡眠监测系统的硬件电路;

7)完成毕业设计报告。

2.1 系统总体框图

此方案的整体设计方框图见图2-1。

单片机开发|基于单片机的婴儿睡眠监测系统设计,单片机设计,单片机,嵌入式硬件,婴儿睡眠监测,单片机设计

图2-1 系统框图

图2-1是本系统的系统配置,从图中可以看出,它包括九个部件:

1)微处理器:

由于STC89C52是一种低功耗,高性能的COMS8位单片机,它的系统中有8 K的可编程 Flash内存。该系统以STC89C52系列微处理器为核心,根据采集到的数据进行相应的数据处理和控制。

2)声控电路:

本系统主要用于采集超过某一特定数值分贝的声音,以满足起动步进电动机的要求。

3)湿度度采集电路:

本电路主要完成对各温度的测量,并将其送至单片机进行处理。

4)语音采集电路:

该线路用于判断婴儿是否在哭泣。

5)步进电机:

此模块可实现婴儿床的晃动。

6)LED灯:

在这个系统中, LED灯会及时发光,可以让保姆们及时地照看婴儿,查看婴儿有没有尿床。

7)语音播报:

WT588D在这个系统中会自动报警,提醒保姆注意婴儿有没有尿床,并能及时的哄婴儿入睡。

8)LCD1602模块:

本系统采用杜邦线路与单片机连接,由单片机采集相关的信号,并将其传输至液晶显示器,以提高其亮度。

9)系统供电电路:为报警系统的工作提供稳定的直流稳压电源。

2.2 系统功能设计

在系统启动后,将会针对以下情况进行相应的处理:

1.每当婴儿号角哭泣时,电机由音响控制回路自动摇摆,语音模组会自动播放轻歌,以安抚婴儿的心情;

2.语音控制模块能够实时获取婴儿的哭闹情况;

3.每当儿童小便造成棉被湿时,由湿度传感器发出的信号触发自动警报,语音提示是否尿床, LED灯点亮;

4.采用ULN2003驱动步进电动机,在需要哄婴儿的时候,可以控制马达左右转动,让婴儿安静。

5.按键用于进行3种不同的设定,便于对各种情况进行快速的处理。

三,系统展示

整体展示

单片机开发|基于单片机的婴儿睡眠监测系统设计,单片机设计,单片机,嵌入式硬件,婴儿睡眠监测,单片机设计

系统测试:湿度检测器检测到婴儿尿床会进行语音播报+LCD灯闪烁展示

单片机开发|基于单片机的婴儿睡眠监测系统设计,单片机设计,单片机,嵌入式硬件,婴儿睡眠监测,单片机设计

四,核心代码展示

#include <reg52.h>			 //调用单片机头文件
#include <intrins.h>
#include "lcd1602.h"
#include "StepMotor.h"

#define uchar unsigned char  //无符号字符型 宏定义	变量范围0~255
#define uint  unsigned int	 //无符号整型 宏定义	变量范围0~65535

#include "WT588D.h"

//按键引脚定义
sbit KEY1 = P3^5;
sbit KEY2 = P3^6;
sbit KEY3 = P3^7;

sbit ShiDu = P1^0;//湿度传感器
sbit LED = P1^1;
sbit Voice = P1^2;//声音传感器

bit openFlag = 0;//电机开启标志 
bit Mode = 0;//0是自动模式,1是手动模式

uint DJ_TIME = 0;//电机开启时间

/*********************定时器1初始化******************/
void time_init()	  
{
	TMOD |= 0X10;	  
  TH1=0x4c;//50ms
  TL1=0x00; 	
	ET1 = 1;
	TR1 = 1;//开启定时
	EA  = 1;	 	  //开总中断
}

void keyscan()
{
		if(KEY1 == 0)//切换键按下
		{
				delay_ms(10);
				if(KEY1 == 0)
				{
						while(!KEY1);//等待按键松开
						Mode = !Mode;
            if(Mode==0)lcd_write_str(0, 1, "MODE: ZIDONG    ");			
            else lcd_write_str(0, 1, "MODE: SHOUDONG  ");	
            openFlag = 0;					
				}
		}
    if(Mode==1)//手动模式
		{
				if(KEY2 == 0)//手动开关键按下
				{
						delay_ms(10);
						if(KEY2 == 0)
						{
								while(!KEY2);
						
								openFlag = 1;
						}
				}
				if(KEY3 == 0)//手动开关键按下
				{
						delay_ms(10);
						if(KEY3 == 0)
						{
								while(!KEY3);
						
								openFlag = 0;
						}
				}
		}
}

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();//电机停止
				}
		}
}

void main()
{
	  uint sy_count1 = 0;
	  uint sy_count2 = 0;
	  uint yuyin = 0;
	  bit flag = 0;
	
		time_init();//定时器初始化
		lcd_init();//1602初始化
		lcd_write_str(0, 0, "STATE: CLOSE    ");
    lcd_write_str(0, 1, "MODE: ZIDONG    ");

		while(1)
		{
			  keyscan();
			  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, "STATE: OPEN ");
						motoRotate(); 
				}else 
				{
					  lcd_write_str(0, 0, "STATE: CLOSE");
						MotorStop();//电机关闭
				}
			  
			  delay_ms(1);
		}
}


void zd1() interrupt 3
{
	  static uchar cnt1=0;
		TH1=0x4c;//50ms
		TL1=0x00; 
	
		if(cnt1++ >= 20)//1s
		{
				cnt1 = 0;
        if(DJ_TIME > 0)
				{
						DJ_TIME--;
				}
				else
				{
						if(Mode == 0)openFlag=0;
				}
		}
}

#include <reg52.h>
#include <intrins.h>
#include "lcd1602.h"

sbit RS = P2^5;//数据命令引脚
sbit RW = P2^6;//读写引脚
sbit E = P2^7;//使能引脚

#define DataPort P0//1602并行通信口

void delay_ms(unsigned int ms)//延时毫秒函数
{
	unsigned char i, j;
		do
		{
				_nop_();
				i = 2;
				j = 199;
				do
				{
					while (--j);
				} while (--i);
		}while(--ms);
}

void lcd_clear(void)//清屏函数
{
     lcd_write_com(0x01);
		delay_ms(5);
}

void lcd_write_com(unsigned char byte)//写命令
{
		RS = 0;
	  RW = 0;
	  E = 1;
	  DataPort = byte;
	  _nop_();
	  _nop_();
	  delay_ms(1);
	  E = 0; 
}

void lcd_write_data(unsigned char byte)//写数据
{
	  RS = 1;
	  RW = 0;
	  E = 1;
	  DataPort = byte;
	  _nop_();
	  _nop_();
	  delay_ms(1);
	  E = 0;
}

void lcd_init()//1602初始化
{
	  delay_ms(5);
	  lcd_write_com(0x38);//设置16*2显示,5*7点阵,8位数据接口
	  delay_ms(5);
	  lcd_write_com(0x38);//设置16*2显示,5*7点阵,8位数据接口
	  delay_ms(5);
	  lcd_write_com(0x38);//设置16*2显示,5*7点阵,8位数据接口
	  delay_ms(5);
	  lcd_write_com(0x08); //关闭显示
	  delay_ms(5);
	  lcd_write_com(0x01);//清屏指令
	  delay_ms(5);
	  lcd_write_com(0x06);
	  delay_ms(5);
	  lcd_write_com(0x0c);
	  delay_ms(5);
	  
}

void lcd_write_char(unsigned char x,unsigned char y,unsigned char byte)//在某一位置显示一字符
{
	  if(0 == y)
		{
			lcd_write_com(0x80 + x);//第一行
		}
	  else if(1 == y)
		{
			lcd_write_com(0x80 + 0x40 + x);//第二行
		}
		lcd_write_data(byte);//显示数据
}

void lcd_write_str(unsigned char x, unsigned char y, unsigned char *s)//在某一位置显示一字符串
{
	 if(0 == y)
		{
			lcd_write_com(0x80 + x);//第一行
		}
	  else
		{
			lcd_write_com(0x80 + 0x40 + x);//第二行
		}
		
		while(*s)//判断是否检测到结尾符 
		{
			lcd_write_data(*s);//显示数据
			s++;//指针加1 
		}
		
}



五,项目总结

本论文采用了信息学习法、文献研究法、经验法等多种研究方法,包括:

(1)信息学习法:了解和实践婴儿的睡眠监测功能,并结合当前的实际情况,进行婴儿的睡眠监测系统的开发。

(2)文献调研:收集了国内外有关婴儿睡眠监测设计的研究成果,并对其进行了梳理,并对其进行了系统的需求分析。

(3)经验方法:在进行系统设计时,常常会出现代码错误等问题。文章来源地址https://www.toymoban.com/news/detail-685231.html

到了这里,关于单片机开发|基于单片机的婴儿睡眠监测系统设计的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于单片机智能液位水位监测控制系统设计

    ** 单片机设计介绍, 基于单片机智能液位水位监测控制系统设计   基于单片机的智能液位水位监测控制系统可以用来检测和控制液位的高低,并可以用于水泵的控制和自动化水位控制。 该系统主要由单片机、液位传感器、继电器、液晶显示屏等组成。 液位传感器可以通过

    2024年02月05日
    浏览(33)
  • 基于单片机的胎压监测系统的设计

    收藏和点赞,您的关注是我创作的动力   本文以STC89C52单片机为控制核心,通过气压传感器模块对汽车各轮胎的胎压进行实时数据的采集与处理,利用2.4G ZigBee无线模块反馈给单片机进行数据处理和判断,当汽车胎压高于和低于系统设定的阙值时,时钟DS1302进行时间记录,

    2024年02月05日
    浏览(33)
  • 基于单片机的温室环境数据监测系统的设计

    收藏和点赞,您的关注是我创作的动力   与农业发达国家相比,我国的农业科技方面还处于刚刚起步的状态,多数自动化农业设备仍然使用在科研方。目前在温室环境数据监测方面,自动化设备比较落后。本文介绍了以STM32F103RCT6微控制器为核心,结合多种外设进行设计的温

    2024年03月21日
    浏览(31)
  • 基于单片机的厨房安全监测系统的设计与实现

     功能介绍  以STM32/51单片机作为主控系统;  OLED液晶显示当前检测的气体浓度,温度,是否有火等信息;  按键可以设置温度上限、可燃气体浓度上限;  当温度超过我们设置自动开启风扇进行降温;  当检测到天然气泄露后蜂鸣器进行声光报警,并且舵机进行控制模拟关

    2024年02月15日
    浏览(29)
  • 基于51单片机的温度检测监测报警系统设计

    前些天发现了十分不错的人工智能学习网站,通俗易懂,风趣幽默,没有广告,分享给大家,大家可以自行看看。(点击跳转人工智能学习资料) 微信公众号:创享日记 发生:单片机温度检测 获取原理图源文件+程序源文件+仿真源文件+报告+相关资料 基于51单片机的温

    2024年02月13日
    浏览(37)
  • 论文选题分享及思路(二)《基于51单片机环境监测系统》

    题目《基于51单片机环境监测系统》, 其设计硬件组成:51单片机最小系统+LCD1602液晶显示+MQ-7一氧化碳传感器+DHT11温湿度传感器+GP2Y1010AU0F粉尘传感器+ADC0832模数转换芯片+AT24C02存储芯片+蜂鸣器+LED灯+按键设置。 本论文设计了一种基于51单片机的环境监测系统,该系统能够实时

    2024年02月22日
    浏览(35)
  • 基于51单片机的MQ-5天然气监测报警系统设计

    基于51单片机的天然气监测报警系统设计 基于51单片机的MQ-5天然气监测报警系统设计 仿真图:proteus8.9以上 程序代码:KEIL4/KEIL5 原理图:AD 设计编号:A0008 结合实际情况,基于51单片机设计一个天然气监测报警统设计。该系统应满足的功能要求为: 实物功能: 本设计由51单片机

    2024年01月17日
    浏览(40)
  • 基于STM32单片机的智能家居环境监测与控制系统设计

    基于STM32单片机的智能家居环境监测与控制系统设计 摘要 :随着物联网技术的不断发展,智能家居环境监测与控制系统的应用越来越广泛。本文设计了一种基于STM32单片机的智能家居环境监测与控制系统,该系统能够实时监测环境中的温湿度和天然气浓度,并将数据显示在

    2024年04月25日
    浏览(34)
  • 毕业设计——基于STM32单片机的绿植养护系统(物联网、智能家居、手机APP控制、自动监测土壤湿度)

    本工程包括一下功能:1、环境温湿度监测                                     2、土壤湿度监测                                     3、环境可燃气体浓度监测                                     4、RTC万年历功能                                     5、数据

    2024年02月15日
    浏览(55)
  • 【毕业设计】16-基于单片机的酒精浓度监测系统设计(原理图+仿真+源代码+实物图+答辩论文+答辩PPT)

    包含此题目毕业设计全套资料: 1.原理图工程 2.源代码工程 3.仿真工程 4.实物焊接过程图+实物图 5.详细设计文档,22518字 6.答辩PPT 主要内容: 理解并掌握单片机的基本知识;了解STC89C52单片机的工作原理和基本结构;设计基于单片机的具有酒精浓度检测功能的电路;制作具有

    2024年02月03日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包