【正点原子STM32MP257连载】第四章 ATK-DLMP257B功能测试 #ADC测试 #DHT11测试

1)实验平台:正点原子ATK-DLMP257B开发板

2)浏览产品:https://www.alientek.com/Product_Details/135.html

3)全套实验源码+手册+视频下载:正点原子资料下载中心

文章目录

  • [第四章 ATK-DLMP257B功能测试](#第四章 ATK-DLMP257B功能测试)
    • [4.24 ADC测试](#4.24 ADC测试)
    • [4.25 DHT11测试](#4.25 DHT11测试)

第四章 ATK-DLMP257B功能测试

4.24 ADC测试

  注意:ADC 的采集电压绝对值最大是1.8V,请不要超过1.8V,否则可能对芯片造成损坏。

  ATK-DLMP257B底板上有一个可调电位器,方便用户测试,位置如下图所示。

图 4.24 1 开发板ADC 位置

  使用下面的指令来获取ADC1 采样的数据,这里读出里出来的值是原始值raw_value。

c# 复制代码
cat /sys/bus/iio/devices/iio:device0/in_voltage15_raw


图 4.24 2 查看raw 的值

  实际电压值(mV)=in_voltage1_raw * in_voltage_scale。

  其中in_voltage_scale为ADC比例文件(分辨率),单位为mV,可以通过下面的指令获取,此值跟参考电压有关。

c# 复制代码
cat /sys/bus/iio/devices/iio:device0/in_voltage_scale


图 4.24 3 查看scale 值

  那么此时ADC1实际电压值为1008* 0.439453125≈442.9mV。调节电位计RP_ADC可以调节ADC电压。

4.25 DHT11测试

  DHT11 简介:

  DHT11 是一款温湿度一体化的数字传感器。该传感器包括一个电阻式测湿元件和一个NTC 测温元件,并与一个高性能8 位单片机相连接。通过单片机等微处理器简单的电路连接就能够实时的采集本地湿度和温度。DHT11 与单片机之间能采用简单的单总线进行通信,仅仅需要一个I/O 口。传感器内部湿度和温度数据40Bit 的数据一次性传给单片机,数据采用校验和方式进行校验,有效的保证数据传输的准确性。DHT11 功耗很低,5V 电源电压下,工作平均最大电流0.5mA。正点原子也提供了Linux 下的驱动,方便大家测试与学习。程序仅供参考。

  此实验需要准备DHT11 模块,可在天猫正点原子旗舰店购买。

图 4.25 1 DHT11 模块

  正点原子淘宝DHT11 的技术参数如下:

  工作电压范围:3.3V-5.5V

  工作电流:平均0.5mA

  输出:单总线数字信号

  测量范围:湿度2090%RH,温度050℃

  精度:湿度±5%,温度±2℃

  分辨率:湿度1%,温度1℃

  DHT11 模块的管脚排列如下图,下图为正面视图,有孔的一面为正面。


图 4.25 2 DHT11 正视图与底视图

  ATK-DLMP257B开发板的左上角,也就是USB接口和RS232接口之间留出了一个单排圆孔母座4Pin的座子,可以用于连接DHT11。根据丝印可知DHT11正面有孔的一面朝向开发板外侧。注意不要插错方向。

图 4.25 3 DHT11连接示意图

  因为DS18B20 与DHT11驱动加载可能有先后顺序,所以它们在驱动注册时申请同一个管脚时会有一个驱动加载失败。所以我们可以在文件系统命令行下重新加载对应的驱动即可!

  使用DHT11 模块时,先卸载DS18B20 的驱动,再重新加载DHT11 的驱动。

c# 复制代码
rmmod ds18b20	 	//卸载DS18B20 的驱动
rmmod dht11	 		//卸载DHT11 的驱动
modprobe dht11 		//安装DHT11 的驱动

  使用下面的指令获取DHT11 模块的数据。如下图:前两位数字是湿度数据,后面两位是温度数据,如若获取到只有三位数据或者两位数据,请自行根据所在环境判断,或者修改驱动来改写打印的格式即可。驱动仅供参考。

c# 复制代码
cat /sys/class/misc/dht11/value


图 4.25 4 读取DHT11 的数据

  上面读出来的数据是99%RH,25℃。

相关推荐
coward917 分钟前
全志和瑞芯微平台反编译设备树
linux·嵌入式硬件
zbyyd8 分钟前
Linux驱动开发:Misc混杂设备与设备树实战
linux·驱动开发
业余程序员plus25 分钟前
RDMA-Verbs-软件架构(二)
linux·rdma·rocev2·mlx5·verbs·uverbs·libibverbs
坤坤子吖1 小时前
Linux 线程同步与互斥——条件变量与线程同步
linux·开发语言·c++·笔记·学习
潜创微科技1 小时前
CH591:成本优化的青稞 RISC-V 无线 MCU
c语言·单片机·risc-v·低延迟·沁恒·青稞
深圳海导科技1 小时前
深圳海导科技navynav|小型RTK数传电台:高精度定位场景下的枢纽
单片机·嵌入式硬件
张文君1 小时前
vmware克隆后ubuntu26.04 ip怎么更改
linux·运维·服务器
2402_882893861 小时前
Linux进程控制(上):fork、写时拷贝、进程终止与进程等待,一篇吃透!
linux·进程·fork·写时拷贝
番茄灭世神2 小时前
PN学堂GD32课程第15篇——HardFault异常
c语言·单片机·嵌入式
创界工坊工作室2 小时前
49-基于单片机的火警报警器设计
stm32·单片机·嵌入式硬件·51单片机·proteus