嵌入式系统综合实验一_第1页
嵌入式系统综合实验一_第2页
嵌入式系统综合实验一_第3页
嵌入式系统综合实验一_第4页
嵌入式系统综合实验一_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

千里之行,始于足下让知识带有温度。第第2页/共2页精品文档推荐嵌入式系统综合实验一

试验名称:姓名:学号:

线

P.1

试验报告

课程名称:嵌入式系统设计指导教师:马永昌成果:________________

试验名称:综合试验一dht11和人体感应传感器试验类型:验证型同组同学姓名:孙凡原一、试验目的和要求(必填)二、试验内容和原理(必填)三、主要仪器设备(必填)四、操作办法和试验步骤五、试验数据记录和处理六、试验结果与分析(必填)七、研究、心得

一、试验目的和要求

1.把握字符设备驱动程序的基本结构和开发办法

2.把握用户空间调用设备驱动的办法

3.把握用户和内核的交互

二、试验内容和原理

1.编写温湿度传感器DHT11驱动,传输打印温湿度信息

2.编写人体感应传感器驱动,控制LED灯亮灭

原理:

温湿度传感器DHT11:

1.引脚图

实际使用传感器没有NC引脚2.数据采集a.数据总时序

用户主机发送一次开头信号后,DHT11从低功耗模式转换到高速模式,待主机开头信号结束后,DHT11发

专业:测控技术与仪器

姓名:颜睿学号:3130103850

日期:2022.4.28

地点:创客空间

装订线送响应信号,送出40bit的数据,幵触发一次信采集。

b.主机发送起始信号

衔接DHT11的DATA引脚的I/O口输出低电平,且低电平保持时光不能小于18ms,然后等待DHT11作出应答信号。

c.检测从机应答信号

DHT11的DATA引脚检测到外部信号有低电平常,等待外部信号低电平结束,延迟后DHT11的DATA引脚处于输出状态,输出80微秒的低电平作为应答信号,紧接着输出80微秒的高电平通知外设预备接收数据。

d.接收数据

(1)数据判定规章

位数据“0”的格式为:50微秒的低电平和26-28微秒的高电平,位数据“1”的格式为:50微秒的低电平加70微秒的高电平。

接收数据时可以先等待低电平过去,即等待数据线拉高,再延时60us,由于60us大于28us且小于70us,再检测此时数据线是否为高,假如为高,则数据判定为1,否则为0。

装订线

(2)数据格式

一次传送40位数据,高位先出

8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据+8bit校验位。

(3)数据校正

推断“8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据”的结果是否等于8bit校验位。假如等于则数据接收正确,否则应当放弃这一次的数据,重新接收。

人体感应传感器

HCSR-501:

1、全自动感应:人进入其感应范围则输出高电平,人离开感应范围则自动延时关闭高电平,输出低电平

2、光敏控制(可挑选,出厂时未设)可设置光敏控制,白天或光芒强时不感应。

3、温度补偿(可挑选,出厂时未设):在夏天当环境温度上升至30~32℃,探测距离稍变短,温度补偿可作一定的性能补偿。

4、两种触发方式:(可跳线挑选)

a、不行重复触发方式:即感应输出高电平后,延时时光段一结束,输出将自动从高电平变成低电平;

b、可重复触发方式:即感应输出高电平后,在延时时光段内,假如有人体在其感应范围活动,其输出将向来保持高电平,直到人离开后才延时将高电平变为低电平(感应模块检测到人体的每一次活动后会自动顺延一个延时时光段,并且以最后一次活动的时光为延时时光的起始点)。

5、具有感应封锁时光(默认设置:2.5S封锁时光):感应模块在每一次感应输出后(高电平变成低电平),可以紧跟着设置一个封锁时光段,在此时光段内感应器不接受任何感应信号。此功能可以实现“感应输出时光”和“封锁时光”两者的间隔工作,可应用于间隔探测产品;同时此功能可有效抑制负载切换过程中产生的各种干扰。(此时光可设置在零点几秒—几十秒钟)。

6、工作电压范围宽:默认工作电压DC4.5V-20V。

7、微功耗:静态电流

#include

#include

#include

#include

#include

#include

#include

#include

structgpio_config

{

intbutton_num;

intout_num;

intled_num;

intled1_num;

inthumidity;

inttemperature;

};

intmain(intargc,char**argv)

{

intfd;

floath;

floatt;

structgpio_configconfig;

config.button_num=26;//人体感应传感器引脚

装订线config.led_num=3;//led引脚

config.out_num=5;//dht11引脚

config.led1_num=6;//未使用

config.humidity=0;//湿度

config.temperature=0;//温度

fd=open("/dev/Demo",O_RDWR);

if(fd<0){

perror("/dev/Demo");

exit(0);

}

ioctl(fd,0,//分配引脚传入内核态

while(1)

{

ioctl(fd,1,//启动驱动举行数据采集

h=(float)config.humidity/256;

t=(float)config.temperature/256;

printf("humidity:%0.2f%rh\n",h);

printf("temperature:%0.2fC\n",t);

sleep(0.5);

}

close(fd);

return0;

}

3.makefile修改

a用户程序makefile

更改gcc路径为本机路径:

CC:=/home/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-gccb.驱动程序makefile

修改linux文件夹路径KERNELDIR:=/home/linux/

4.硬件接线

装订线

5.编译加载运行

a.环境变量

b.编译

c.拷贝

d.加载运行

装订线六、试验结果与分析

人体传感器有反应,led灯亮

试验

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论