目录

1、数字量输出类型传感器

2、数字量输入类型传感器

3、模拟量电压类型传感器

4、模拟量电流类型传感器

5、协议类型传感器


 机缘巧合在网上认识一位12岁小同志,从零开始系统辅导其创客开发思维和技巧。

项目专栏:https://blog.csdn.net/m0_38106923/category_11097422.html


传感器检测现实物体的状态并转换输出为电信号,这个电信号可以是:电压、电流、脉冲等多样形式。

根据这些输出类型可以将传感器进行分类,主要包括:数字量输出类型传感器、数字量输入类型传感器、模拟量电压类型传感器、模拟量电流类型传感器和协议类型传感器

注:本文侧重应用,较为复杂的驱动原理将会在之后的项目中讲解。

1、数字量输出类型传感器

数字量输出类型传感器输出高、低电平信号表示检测状态。例如,人体传感器当有人经过时,数据端口会输出高电平,无人时输出低电平。

驱动数字量输出类型传感器,需要将控制器端口配置为数字输入模式,检测传感器输出电压的变化,驱动按键元器件也是这样的原理。

2、数字量输入类型传感器

数字量输入类型传感器需要控制器输出高、低电平实现开关控制。例如:LED灯,控制器输出3.3V~5V高电平则LED熄灭,控制器输出低电平则LED点亮。

驱动数字量输入类型传感器,需要将控制器端口配置为数字输出模式,输出满足驱动能力的高、低电平,即可实现驱动。

3、模拟量电压类型传感器

模拟量电压类型传感器会随着被检测物体状态变化,输出规定范围内的模拟电压。例如:电容式土壤湿度传感器,随着土壤湿度的变化,会输出0~3V的电压,将土壤湿度传感器插入干燥的沙土,输出约为3V电压,插入湿润的沙土输出约为1.5V左右电压,插入非常潮湿输出约为0V电压。

驱动模拟量电压类型传感器,需要将控制器端口配置为ADC模式,采集传感器输出的模拟电压数据。

4、模拟量电流类型传感器

模拟量电流类型传感器会随着被检测物体状态变化,输出规定范围内的模拟电流。例如:4~20mA电流型温度传感器,假设该温度传感器检测温度范围为:-200~500℃,则当温度为-200℃时,传感器输出电流约为0mA,温度为500℃时,传感器输出电流约为20mA。

需要注意,绝大多数控制器是无法直接输入电流信号的,需要将模拟电流信号转换为合适范围的模拟电压信号,将控制器端口配置为ADC模式,采集传感器输出的模拟电压数据。

5、协议类型传感器

以上四种类型传感器可直接采集输出的电信号,开发者需要再进行转换方可得到感知结果。

协议类型传感器在采集数据后,将电信号直接转换为数据结果,存入寄存器中,开发者无需自己再编程转换,只需要读取通信总线,按照相关协议访问寄存器即可读取结果。

常用的协议类型传感器主要包括:UART通信总线、I2C通信总线、SPI通信总线这三种。

协议类型传感器深究较为复杂,考虑到创客基础较为薄弱,建议先应用实践,熟练使用后再深究原理。

5.1、UART通信总线

通用异步收发器(Universal Asynchronous Receiver/Transmitter), 通常称作UART。UART是一种通用串行数据总线,用于异步通信,该总线双向通信,可以实现全双工的发送和接收

UART通信需要连接三个接口,如下所示:

  • TXD:数据发送端口;
  • RXD:数据接收端口;
  • GND:电源地。

连线时需要将控制器TXD、RXD和传感器TXD、RXD交叉连接,连线效果如下所示:

例如: HuskyLens AI视觉传感器,基于UART通信,连线效果如下所示:

连线成功后即可使用控制器驱动HuskyLens AI视觉传感器。

5.2、I2C通信总线

I2C总线(Inter-Integrated Circuit)是一种简单、双向二线制同步串行总线,只需要两根线即可实现数据通信,如下所示:

  • SDA:串行数据线,实现数据通信;
  • SCL:串行时钟线,实现时序同步。

连线时需要将控制器SDA、SCL和传感器SDA、SCL对应连接,连线效果如下所示:

例如,驱动BH1750环境光传感器,需要将控制器SDA、SCL和环境光传感器SDA、SCL对应连接。

连线成功后即可使用控制器驱动环境光传感器。

5.3、SPI通信总线

SPI是串行外设接口(Serial Peripheral Interface)的缩写。是一种高速的,全双工,同步的通信总线。它以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,需要至少4根线,事实上3根也可以(单向传输时),如下所示:

  • SDI/MISO:主设备数据输入,从设备数据输出;
  • SDO/MOSI:主设备数据输出,从设备数据输入;
  • SCLK:时钟信号,由主设备产生;
  • CS/SS:片选,从设备使能信号,由主设备控制。

连线时需要将控制器SDI/MISO、SDO/MOSI、SCLK和传感器SDI/MISO、SDO/MOSI、SCLK对应连接,主设备CS/SS和从设备CS/SS分别对应连接,连线效果如下所示:

例如,驱动ADXL345三轴加速度传感器,将控制器SDI/MISO、SDO/MOSI、SCLK、CS/SS和三轴加速度传感器SDI/MISO、SDO/MOSI、SCLK、CS/SS对应连接

连线成功后即可使用控制器驱动三轴加速度传感器。

和12岁小同志搞创客开发:如何驱动各类型传感器?相关推荐

  1. 和12岁小同志搞创客开发:手撕代码,做一款遥控灯

    机缘巧合在网上认识一位12岁小同志,从零开始系统辅导其创客开发思维和技巧. 项目专栏:https://blog.csdn.net/m0_38106923/category_11097422.html ...

  2. 和12岁小同志搞创客开发:手撕代码,做一款数字骰子

    机缘巧合在网上认识一位12岁小同志,从零开始系统辅导其创客开发思维和技巧. 项目专栏:https://blog.csdn.net/m0_38106923/category_11097422.html ...

  3. 和12岁小同志搞创客开发:手撕代码,做一款密室自动门

    机缘巧合在网上认识一位12岁小同志,从零开始系统辅导其创客开发思维和技巧. 项目专栏:https://blog.csdn.net/m0_38106923/category_11097422.html ...

  4. 和12岁小同志搞创客开发:手撕代码,做一款亮度可调节灯

    目录 1.PWM呼吸灯 2.亮度可调节灯 机缘巧合在网上认识一位12岁小同志,从零开始系统辅导其创客开发思维和技巧. 项目专栏:https://blog.csdn.net/m0_38106923/ca ...

  5. 和12岁小同志搞创客开发:手撕代码,做一款声控灯

    机缘巧合在网上认识一位12岁小同志,从零开始系统辅导其创客开发思维和技巧. 项目专栏:https://blog.csdn.net/m0_38106923/category_11097422.html ...

  6. 和12岁小同志搞创客开发:手撕代码,做一款人体感应灯

    目录 1.传感器原理 2.代码实践 机缘巧合在网上认识一位12岁小同志,从零开始系统辅导其创客开发思维和技巧. 项目专栏:https://blog.csdn.net/m0_38106923/categ ...

  7. 和12岁小同志搞创客开发:如何驱动红外遥控器?

    目录 1.红外遥控器通信原理 2.NEC协议 3.实践 机缘巧合在网上认识一位12岁小同志,从零开始系统辅导其创客开发思维和技巧. 项目专栏:https://blog.csdn.net/m0_3810 ...

  8. 和12岁小同志搞创客开发:手撕代码,做一款温湿度检测器

    机缘巧合在网上认识一位12岁小同志,从零开始系统辅导其创客开发思维和技巧. 项目专栏:https://blog.csdn.net/m0_38106923/category_11097422.html ...

  9. 和12岁小同志搞创客开发:手撕代码,做一款火焰报警器

    机缘巧合在网上认识一位12岁小同志,从零开始系统辅导其创客开发思维和技巧. 项目专栏:https://blog.csdn.net/m0_38106923/category_11097422.html ...

  10. 和12岁小同志搞创客开发:手撕代码,做一款节拍电子鼓

    机缘巧合在网上认识一位12岁小同志,从零开始系统辅导其创客开发思维和技巧. 项目专栏:https://blog.csdn.net/m0_38106923/category_11097422.html ...

最新文章

  1. 搭建lamp环境QA
  2. 最新CAX/EDA/CFD/GIS/光学/化工/液压软件资源网
  3. ASP.NET验证控件之RequiredFieldValidator
  4. Tkinter的Toplevel组件
  5. QT的QStack类的使用
  6. Java学生管理系统(数组版)
  7. iPhone iPad下载NBA2K22苹果版下载
  8. 猫和老鼠服务器维修有问题,猫和老鼠手游:被救救我困扰了一整局 大佬:这是天使的副作用!...
  9. Rails Controller中的concerns测试编写
  10. 那些年的成长,爱情的总结
  11. 钢条切割(记忆型递归)dp
  12. matlab中 rgb2gray() 函数 具体实现
  13. Unity WebGL 实现中文IME输入
  14. PythonThinking_FOR、IF以及while
  15. 详解Unity中的Nav Mesh新特性|导航寻路系统 (二)
  16. 图纸格式dwg批转pdf如何操作
  17. HTML5-页面加载动画
  18. SkinMagic、Skin++和VCLSkins皮肤库的使用
  19. 同一局域网不同网段ip实现通信
  20. 四国外交官变身天猫双11“首席惊喜官”,给剁手党们送快递

热门文章

  1. Python 列表List 的使用
  2. Fragment 中使用 getLayoutInflater() 的问题
  3. 2022-2028年中国废矿物油行业市场研究及前瞻分析报告
  4. MySQL重置root用户密码的方法
  5. 2022-2028年中国动力电池回收行业投资分析及前景预测报告
  6. MySQL 学习笔记(18)— 索引的分类、创建、查看、删除等
  7. PyCharm中Directory与Python package的区别
  8. Bootstrap 栅格系统 理解与总结
  9. 深度学习 vs 机器学习 vs 模式识别
  10. 【SVN多用户开发】代码冲突解决办法