STM32学习笔记———几种简单传感器的数据读取

这篇具有很好参考价值的文章主要介绍了STM32学习笔记———几种简单传感器的数据读取。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

引言

传感器正如计算机的眼睛。从广义上讲,传感器就是一种能感知外界信息,并将这些信息按照一定规律转换成可用的电信号或其他形式的输出信号的装置,达到对信息的存储,传输,控制的目的。本文着重分析如何通过单片机分析电信号时序图实现对传感器的控制与传感器采集信息的读取

一.HC-SR04超声波测距模块

STM32学习笔记———几种简单传感器的数据读取

VCC引脚:接5V电源

GND引脚:接地线

TRIG:触发信号引脚,单片机给超声波模块一个信号,超声波信号就会工作

ECHO引脚:回声信号 引脚,当超声波模块已经测距成功后,通过该引脚告诉单片机当前超声波传播距离

STM32学习笔记———几种简单传感器的数据读取

从时序图可以分析出,未开始工作时,触发信号与输出回响信号均处于低电平,随后触发信号引脚发出一段时间为10微秒的高电平后拉低,表示通信开始,随后模块内部将发出超声播脉冲,当回响信号引脚接收到超声波脉冲后,,将输出一段时间的高电平,通过检测高电平时间既可以得出检测距离三.距离计算

超声波在空气中传播的速度约为三百四十米每秒,超声波模块测距误差约为3mm,于此可得计算公式如下:

STM32学习笔记———几种简单传感器的数据读取

该公式表明,该模块的最短测距时间单位为9微秒,距离单位为3mm

四.代码

STM32学习笔记———几种简单传感器的数据读取

二.DHT11温湿度传感器

一.模块简介

STM32学习笔记———几种简单传感器的数据读取

二.时序图

1.

DATA引脚用于微处理器与DHT11之间的通讯与同步,采用单总线数据格式,一次通信时间4ms左右,数据分为整数部分和小数部分,具体格式在下面说明。

一次完整的数据传输为40bit,高位先出。

数据格式:

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

数据传输正确时校验和数据等于”8bit湿度整数数据,8bit湿度小数数据,8bit温度整数数据,8bit温度小数数据”之和的末八位

  1. 通信过程

通信开始

STM32学习笔记———几种简单传感器的数据读取

数据判断

STM32学习笔记———几种简单传感器的数据读取
STM32学习笔记———几种简单传感器的数据读取

三.具体代码

STM32学习笔记———几种简单传感器的数据读取

三.红外

一.红外线

红外线是波长介于微波与可见光之间的电磁波,波长在760纳米到1毫米之间,是波形比红光长的非可见光。自然界中一切物体都在不断辐射红外线。当然,虽然都是在辐射红外线,但不同的物体辐射的强度是不一样的,正是利用了这一点将红外线运用到实际开发之中

1.红外发射管

红外发射管很常用,在我们的遥控器上都可以看到,它类似发光二极管,但是它发射出来的是红外光,是我们肉眼所看不到的。我们学过发光二极管的亮度会随着电流的增大而增加,同样的道理,红外发射管发射红外线的强度也会随着电流的增大而增强

2.红外接收管

红外接收管内部是一个具有红外光敏感特征的 PN 节,属于光敏二极管,但是它只对红外光有反应。无红外光时,光敏管不导通,有红外光时,光敏管导通形成光电流,并且在一定范围内电流随着红外光的强度的增强而增大

二.红外遥控技术

远程遥控技术又称为遥控技术,是指实现对被控目标的遥远控制,在工业控制、航空航天、家电领域应用广泛。

红外遥控是一种无线、非接触控制技术,具有抗干扰能力强,信息传输可靠,功耗低,成本低,易实现等显著优点,被诸多电子设备特别是家用电器广泛采用,并越来越多的应用到计算机和手机系统中。

随着家用电器、视听产品的普及,红外线遥控器已被广泛使用在各种类型的家电产品上(如遥控开关、智能开关等)。其具有体积小、抗干扰能力强、功耗低、功能强、成本低等特点,在工业设备中也得到广泛应用。一般而言,一个通用的红外遥控系统由发射和接收两大部分组成

2.基本原理

通常红外遥控为了提高抗干扰性能和降低电源消耗,红外遥控器常用载波的方式传送二进制编码,常用的载波频率为38KHz,这是由发射端所使用的455KHz晶振来决定的。在发射端要对晶振进行整数分频,分频系数一般取12,所以455KHz÷12≈37.9KHz≈38KHz。也有一些遥控系统采用36KHz、40 KHz、56 KHz等,一般由发射端晶振的振荡频率来决定。所以,通常的红外遥控器是将遥控信号(二进制脉冲码)调制在38KHz的载波上,经缓冲放大后送至红外发光二极管,转化为红外信号发射出去的。

STM32学习笔记———几种简单传感器的数据读取

二进制脉冲码的形式有多种,其中最为常用的是PWM码(脉冲宽度调制码)和PPM码(脉冲位置调制码,脉冲串之间的时间间隔来实现信号调制)。如果要开发红外接收设备,一定要知道红外遥控器的编码方式和载波频率,我们才可以选取一体化红外接收头和制定解码方案

红外遥控的发射电路是采用红外发光二极管来发出经过调制的红外光波;红外接收电路由红外接收二极管、三极管或硅光电池组成,它们将红外发射器发射的红外光转换为相应的电信号,再送后置放大器。

发射端

一般由指令键(或操作杆)、指令编码系统、调制电路、驱动电路、发射电路等几部分组成。当按下指令键或推动操作杆时,指令编码电路产生所需的指令编码信号,指令编码信号对载波进行调制,再由驱动电路进行功率放大后由发射电路向外发射经调制定的指令编码信号。

接收端

一般由接收电路、放大电路、调制电路、指令译码电路、驱动电路、执行电路(机构)等几部分组成。接收电路将发射器发出的已调制的编码指令信号接收下来,并进行放大后送解调电路,解调电路将已调制的指令编码信号解调出来,即还原为编码信号。指令译码器将编码指令信号进行译码,最后由驱动电路来驱动执行电路实现各种指令的操作控制。

3、编码格式

现有的红外遥控包括两种方式:PWM(脉冲宽度调制)和PPM(脉冲位置调制)。

  两种形式编码的代表分别为NEC 和PHILIPS 的RC-5、RC-6 以及将来的RC-7。

  PWM(脉冲宽度调制):以发射红外载波的占空比代表“0”和“1”。为了节省能量,一般情况下,发射红外载波的时间固定,通过改变不发射载波的时间来改变占空比。例如常用的电视遥控器,使用NEC upd6121,其“0”为载波发射0.56ms,不发射0.56ms;其“1”为载波发射0.56ms,不发射1.68ms;此外,为了解码的方便,还有引导码,upd6121 的引导码为载波发射9ms,不发射4.5ms。upd6121 总共的编码长度为108ms。

  但并不是所有的编码器都是如此,比如TOSHIBA 的TC9012,其引导码为载波发射4.5ms,不发射4.5ms,其“0”为载波发射0.52ms,不发射0.52ms,其“1”为载波发射0.52ms,不发射1.04ms。

  PPM(脉冲位置调制):以发射载波的位置表示“0”和“1”。从发射载波到不发射载波为“0”,从不发射载波到发射载波为“1”。其发射载波和不发射载波的时间相同,都为0.68ms,也就是每位的时间是固定的。

  通过以上对编码的分析,可以得出以某种固定格式的“0”和“1”去学习红外,是很有可能不成功的。即市面上所宣传的可以学习64 位、128 位必然是不可靠的。

  另外,由于空调的状态远多于电视、音像,并且没有一个标准,所以各厂家都按自己的格式去做一个,造成差异更大。比如:美的的遥控器采用PWM 编码,码长120ms 左右;新科的遥控器也采用PWM 编码,码长500ms 左右。如此大的差异,如果按“位”的概念来讲,应该是多少位呢?64?128?显然都不可能包含如此长短不一的编码。

对于电视、音响等,一般使用专用的遥控芯片,比nec,philips,toshiba,sanyo,mitsubish,pana sonic 的芯片,其编码格式固定,一个键只有一个编码,学习比较容易。

  而空调不一样,各家空调厂商都是按自己的要求用cpu 做遥控芯片,编码形式就有很多种。比如可能没有引导码(电视音响类都有)、校验方式取累加和(电视音响类一般取反码)等。因为空调的状态多,必须一次发送完毕,有制冷、温度、风速、自动、定时、加湿、制热等,所以编码很长,并且同一个按键,在不同状态下发送的编码不一样,造成学习上的困难。

红外遥控器的编码格式通常有两种格式:NEC 和RC5。

4、NEC协议

1.NEC 格式的特征:

● 使用38 kHz 载波频率

● 引导码间隔是9 ms + 4.5 ms

● 使用16 位客户代码

● 使用8 位数据代码和8 位取反的数据代码

2.NEC时序图

STM32学习笔记———几种简单传感器的数据读取

*码+反码=225

三.NEC协议具体代码

由于红外数据的随机产生,一般需要把红外接收函数放在外部中断函数中,外部中断设置为下降沿触发,表示开始接收到红外线数据文章来源地址https://www.toymoban.com/news/detail-422336.html

STM32学习笔记———几种简单传感器的数据读取

到了这里,关于STM32学习笔记———几种简单传感器的数据读取的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • STM32学习笔记(三)丨中断系统丨EXTI外部中断(对射式红外传感器计次、旋转编码器计次)

    ​  本次课程采用单片机型号为STM32F103C8T6。 ​  课程链接:江科大自化协 STM32入门教程   往期笔记链接:   STM32学习笔记(一)丨建立工程丨GPIO 通用输入输出   STM32学习笔记(二)丨STM32程序调试丨OLED的使用   本篇文章的内容我愿称之为 史诗级副本 (感觉

    2024年02月16日
    浏览(47)
  • STM32 F103C8T6学习笔记13:IIC通信—AHT10温湿度传感器模块

    今日学习一下这款AHT10 温湿度传感器模块,给我的OLED手环添加上测温湿度的功能。 文章提供源码、测试工程下载、测试效果图。 目录 AHT10温湿度传感器: 特性: 连接方式: 适用场所范围: 程序设计: 设计目标:  程序设计注意点: AHT10代码:  主函数代码: 测试效果:

    2024年02月11日
    浏览(47)
  • STM32学习记录——光敏传感器的使用

    文章目录 前言 一、学习目的 二、模块介绍 三、代码记录 总结        只做 学习记录 ,记录自己如何从零学会使用一个模块,仅仅只是会用,缺乏专业知识。如果需要了解更多原理,可以从我推荐的技术大佬的文章中获取。        我的学习目的就是通过STM32的ADC功能,学

    2024年02月07日
    浏览(65)
  • STM32学习记录——声音传感器的使用

    文章目录 前言 一、学习目的 二、模块介绍 三、代码记录 今天记录的是声音传感器模块的学习        我的学习目的是学会使用声音传感器模块,并通过检测声音的有无控制LED的亮灭。我使用的是STM32F103C8T6核心板上的自带LED,引脚是PC13。        我用的是上图所示的声音传

    2024年02月16日
    浏览(39)
  • STM32学习记录——烟雾传感器的使用

    文章目录 前言 一、学习目的 二、模块介绍 三、代码记录 总结        这次记录一下烟雾传感器的学习,由于烟雾传感器的资料比较杂,算法比较多,对我来说也比较难,所以我的代码中算法部分是不太具有参考价值,但是也可以做到随烟雾浓度的变化数值呈线性相关,以

    2024年02月09日
    浏览(38)
  • HX711压力传感器学习(STM32)

    目录 原理图:​ 引脚介绍: HX711介绍工作原理: 程序讲解: 整套工程: VCC和GND引脚分别为HX711芯片的电源输入端口。 VCC引脚是连接到5V或3.3V的正电源,GND引脚是连接到地的负电源。 DOUT是HX711芯片的数据输出端口,它输出经过A/D转换处理后的24位数据。 SCK是HX711芯片的时钟输

    2024年02月05日
    浏览(56)
  • HX711压力传感器学习一(STM32)

    目录 原理图:​ 引脚介绍: HX711介绍工作原理: 程序讲解: 整套工程: VCC和GND引脚分别为HX711芯片的电源输入端口。 VCC引脚是连接到5V或3.3V的正电源,GND引脚是连接到地的负电源。 DOUT是HX711芯片的数据输出端口,它输出经过A/D转换处理后的24位数据。 SCK是HX711芯片的时钟输

    2024年02月16日
    浏览(48)
  • STM32 手势识别传感器模块(PAJ7620)学习

    目录 模块介绍: 基本部分: 引脚配置: 工作原理: 展示部分: 代码部分展示(在正点的基础上加了一个读手势去控制舵机): 视频展示: 基本部分: 手势模块搭载的芯片是PAJ7620,无论是正点原子的还是别的手势模块的底层是一致的,甚至代码也是通用的。 芯片内部集成了

    2024年02月07日
    浏览(48)
  • TCP透传数据至Onenet平台(简单用STM32上传采集的传感器数据)

    主页点击控制台  点击全部产品服务,再点击多协议接入  选择TCP透传,点击添加产品      点击确定,然后选择立即添加设备  点击添加设备  随便起个设备名称,这里的鉴权信息等下要用来作为登录设备用,点击添加  添加数据流模板,就是绑定上传的数据      这里我

    2024年02月05日
    浏览(46)
  • STM32学习记录——蓝牙发送数据(手机显示传感器数据)

    文章目录 前言 一、学习目的 二、代码记录         将数据通过蓝牙发送到手机上,是学生学习单片机的必备技能之一,它可以将手机作为简单的上位机,从而使数据直观地展现出来。        蓝牙的初始化、蓝牙接受数据以及蓝牙简单应用的介绍和代码记录,可以看一看下

    2024年02月07日
    浏览(42)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包