由于交通量的巨大增加,道路事故成为人们关注的问题。事故的主要原因是由于夜间司机的困倦。疲劳和嗜睡是高速公路上重大事故的一些主要原因。解决此问题的唯一方法是检测困倦并提醒驾驶员。
因此,在这个项目中,我们考虑使用 arduino nano、眨眼传感器和射频收发器模块为驾驶员构建驾驶员 嗜睡检测和警报系统。该系统的基本目的是使用眨眼传感器跟踪驾驶员的眼球运动,如果驾驶员感到困倦,则系统将使用响亮的蜂鸣器警报触发警告消息。
构建困倦探测器所需的材料
arduino纳米
眨眼传感器
射频收发模块
hd12e & hd12d 集成电路
蜂鸣器
9v电池
12v直流电源
眨眼传感器
眨眼传感器用于检测眨眼,使用它我们还可以检测驾驶员在驾驶时的嗜睡等活动。它基于红外 led 技术工作。它包含一个红外发射器和一个接收器 led,用于检测眨眼。简单红外传感器的工作原理如下图所示:
如上图所示,红外传感器由两个元件组成:作为源的红外发射器和作为接收器的红外接收器。红外源包括 ir led,红外检测器包括光电二极管。红外源发射的能量被物体反射并回落到红外探测器上。当 ir led 发出的光落在接收器上时,光电二极管的电阻会显着下降。该光接收器与电位器相连,形成分压电路,当检测到闪烁活动时,该电路会提供可变的模拟输出。
当入射辐射更多地作用在光电二极管上时,串联电阻器/电位器上的电压降会很高。在只是运算放大器或 运算放大器的比较器 ic 中,比较参考模拟电压和实际输出电压。如果电阻串联到光电二极管的电压大于参考电压,则比较器的输出为高电平,否则为低电平。由于比较器的输出连接到 led,因此当传感器检测到某些活动(例如眨眼)时,它会发光。可以根据环境条件通过调节电位器来调节阈值电压。
眨眼传感器技术规格
工作电压:5v dc
输出:ttl(5v/0v)
用于连接的板载 3 针接头
红外线技术
433 mhz 射频收发器模块
rf 代表射频。相应的频率范围在 30 khz 和 300 ghz 之间变化。这里我们使用的是 433 mhz 射频收发器模块。该 射频模块 包括一个 433 mhz射频发射器 和射频接收器。发射器/接收器 (tx/rx) 对的工作频率为 433 mhz。射频发射器接收串行数据并通过其天线通过射频无线传输。发射的数据由工作在与发射器相同频率的射频接收器接收。
射频发射器
rf 发射器模块使用幅移键控(ask),工作频率为 433mhz。发射器模块接受串行数据输入并通过射频传输该信号。然后,接收器模块以无线方式接收传输的信号。
接地:发射机接地。连接到地平面
数据:串行数据输入引脚
vcc:电源电压;5v
ant:天线输出引脚
射频接收器
rf 接收器模块接收数据并将其发送到数据 output 引脚。微控制器可以对输出数据进行解码以进行进一步操作。
接地:接收器接地。连接到地平面
数据:串行数据输出引脚
vcc:电源电压;5v
ant:天线输出引脚
驾驶员睡意检测器电路图
驾驶员睡意检测器由射频发射器和接收器部分组成。发射器部分由一个射频发射器和眨眼传感器组成,接收器端使用带有射频接收器的 arduino uno 进行数据处理。我们之前使用与 arduino 相同的 433 mhz 射频模块来构建项目,如 arduino rc 船、手势控制机器人等。发射器和接收器部分的电路图如下所示。
发射端
如图所示,首先将 9v dc 电池使用 7805 稳压器降压至 5v dc,然后将 5v dc 电源提供给 eye blink sensor 和 rf transmitter。眨眼传感器的输出引脚被馈送到射频发射器,以将其无线传输到接收器端。
接收端
如图所示,在接收器端,rf 接收器连接到 arduino 的 5v dc 电源。arduino 由外部 12v 直流电源供电。rf 接收器的输出被馈送到 arduino 模拟引脚。如图所示,蜂鸣器连接到 arduino 的数字引脚。
为嗜睡检测编程 arduino nano
在发送端和接收端都成功连接硬件后,现在是时候将代码上传到连接到接收端的 arduino nano。此完整代码在文档末尾给出。首先,让我们逐步理解下面的代码:
首先,需要声明所需的变量,如下所示。
整数标志=0;诠释 t1=0;诠释 t2=0;
在setup()中,进行了所有初始化,包括串行端口初始化和引脚声明,如下所示。
无效设置(){ 序列号.开始(9600); pinmode(2,输出);}
rf 接收器的串行数据输出从模拟引脚a0读取并存储在变量中,如图所示。要检查参考值,我们可以使用串行监视器查看它。
int x=analogread(a0); 序列号.println(x);
确定参考值后,编写 if-else 语句来检测睡意。如下代码所示,millis()函数用于了解眨眼发生的持续时间。如果它大于该值,则它会发出蜂鸣声以提醒驾驶员。在我们的例子中,持续时间为 1000 毫秒或 1 秒。
如果(x400 && 标志==1){ 标志=0; t2=毫秒(); 序列号.println(t2-t1); 如果((t2-t1)>1000){ 数字写入(2,高); serial.println(警报!!!!!!!!!!!!!!!!!!); 延迟(2000); 数字写入(2,低); } 别的; }}
嗜睡检测仪测试
将程序成功上传到 arduino 后,现在是时候测试其工作了。首先打开发射器和接收器两侧的电源。确保两端都通电。戴上带有眨眼传感器的太阳镜并尝试正常眨眼,传感器上应该有一个 led 发光。如果不是,则尝试改变电位器以改变灵敏度,直到它成功检测到眨眼。检测成功后,通过延迟闪烁来尝试睡意,它应该通过蜂鸣器发出哔哔声。
代码
整数标志=0;
诠释 t1=0;诠释 t2=0;无效设置(){ 序列号.开始(9600); pinmode(2,输出);}无效循环(){ int x=analogread(a0); //serial.println(x); 如果(x400 && 标志==1) { 标志=0; t2=毫秒(); 序列号.println(t2-t1); 如果((t2-t1)>1000) { 数字写入(2,高); serial.println(alert2!!!!!!!!!!!!!!!); 延迟(2000); 数字写入(2,低); } 别的; }}
为什么选择GaN晶体管?MASTERGAN1来告诉你答案
九月销量曝光,纯电动车PK混合动力车谁才是主宰
捷豹XJR575:全新捷豹旗舰轿车,百公里加速仅4.4秒
首个IPO技术的自动驾驶或落户Quanergy公司
热点 | 特朗普欲对越南加征关税,电子制造业“零关税”红利将消失?
基于Arduino的驾驶员嗜睡检测和警报系统设计
意法半导体推出全新开发框架,更快速简单地实现物联网传感器
华为方舟编译器获多硬件平台支持,未来RISC-V芯片或也支持
LG成功生产关键OLED材料 以减少对进口依赖
腾讯智能下棋机器人机械手装置专利
手机应放在哪里以减少手机辐射
电能表实际运行环境的仿真校验方法
奥克斯积极拥抱电商 空调类销售第一
音响线材怎么选
AMD 面向高性能工业自动化、机器视觉与边缘应用扩展锐龙嵌入式处理器系列
光绘工艺(六) --光绘系统的技术指标
TE设计开发针对开放式计算平台项目V2的新型电源解决方案
新型STPOWER SLLIMM大功率器件内置了功率和智能控制功能
有人在密谋「克隆地球」?
比亚迪将推出基于指纹识别技术的触控芯片