【雕爷学编程】 MicroPython动手做(34)——通用传感器的综合运用2

知识点:什么是掌控板?
掌控板是一块普及STEAM创客教育、人工智能教育、机器人编程教育的开源智能硬件。它集成ESP-32高性能双核芯片,支持WiFi和蓝牙双模通信,可作为物联网节点,实现物联网应用。同时掌控板上集成了OLED显示屏、RGB灯、加速度计、麦克风、光线传感器、蜂鸣器、按键开关、触摸开关、金手指外部拓展接口,支持图形化及MicroPython代码编程,可实现智能机器人、创客智造作品等智能控制类应用。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
1、什么是传感器?
传感器(英文名称:transducer/sensor)是一种检测装置,能感受到被测量的信息,并能将感受到的信息,按一定规律变换成为电信号或其他所需形式的信息输出,以满足信息的传输、处理、存储、显示、记录和控制等要求。

国家标准GB7665-87对传感器下的定义是:“能感受规定的被测量并按照一定的规律(数学函数法则)转换成可用信号的器件或装置,通常由敏感元件和转换元件组成”。

中国物联网校企联盟认为,传感器的存在和发展,让物体有了触觉、味觉和嗅觉等感官,让物体慢慢变得活了起来。”

“传感器”在新韦式大词典中定义为:“从一个系统接受功率,通常以另一种形式将功率送到第二个系统中的器件”。

物联网设备中那些常见的传感器见下图

【雕爷学编程】 MicroPython动手做(34)——通用传感器的综合运用2_第1张图片
2、在物联网架构中——各种传感器组成了基础的感知层

感知层包括了与环境交互的传感器,执行器和边缘设备等。感知层是物联网的皮肤和五官,用于识别物体、感知物体、采集信息、自动控制,比如装在空调上的温度传感器识别到了室内温度高于30度,把这个信息收集后,自动打开了空调进行制冷;这个层面涉及到的是各种识别技术、信息采集技术、控制技术。而且这些技术是交叉使用的的,各种感知有些是单一的,有些则是综合的,比如机器人就是整合了各种感知系统。 这一层最常见的就是各种传感器,用于替代或者延展人类的感官完成对物理世界的感知,也包括企业信息化过程中用到的RFID以及二维码技术。

【雕爷学编程】 MicroPython动手做(34)——通用传感器的综合运用2_第2张图片
3、传感器的特点与作用

传感器的特点
微型化、数字化、智能化、多功能化、系统化、网络化。它是实现自动检测和自动控制的首要环节。传感器的存在和发展,让物体有了触觉、味觉和嗅觉等感官,让物体慢慢变得活了起来。通常根据其基本感知功能分为热敏元件、光敏元件、气敏元件、力敏元件、磁敏元件、湿敏元件、声敏元件、放射线敏感元件、色敏元件和味敏元件等十大类。微型化是建立在微电子机械系统(MEMS)技术基础上的,已成功应用在硅器件上做成硅压力传感器(芯片级应用)。传感器不仅促进了传统产业的改造和更新换代,而且还可能建立新型工业,从而成为21世纪新的经济增长点。

传感器的作用
人们为了从外界获取信息,必须借助于感觉器官。而单靠人们自身的感觉器官,在研究自然现象和规律以及生产活动中它们的功能就远远不够了。为适应这种情况,就需要传感器。因此可以说,传感器是人类五官的延长,又称之为电五官。新技术革命的到来,世界开始进入信息时代。在利用信息的过程中,首先要解决的就是要获取准确可靠的信息,而传感器是获取自然和生产领域中信息的主要途径与手段。

在现代工业生产尤其是自动化生产过程中,要用各种传感器来监视和控制生产过程中的各个参数,使设备工作在正常状态或最佳状态,并使产品达到最好的质量。因此可以说,没有众多的优良的传感器,现代化生产也就失去了基础。

在基础学科研究中,传感器更具有突出的地位。现代科学技术的发展,进入了许多新领域:例如在宏观上要观察上千光年的茫茫宇宙,微观上要观察小到fm的粒子世界,纵向上要观察长达数十万年的天体演化,短到 s的瞬间反应。此外,还出现了对深化物质认识、开拓新能源、新材料等具有重要作用的各种极端技术研究,如超高温、超低温、超高压、超高真空、超强磁场、超弱磁场等等。显然,要获取大量人类感官无法直接获取的信息,没有相适应的传感器是不可能的。许多基础科学研究的障碍,首先就在于对象信息的获取存在困难,而一些新机理和高灵敏度的检测传感器的出现,往往会导致该领域内的突破。一些传感器的发展,往往是一些边缘学科开发的先驱。

传感器早已渗透到诸如工业生产、宇宙开发、海洋探测、环境保护、资源调查、医学诊断、生物工程、甚至文物保护等等极其之泛的领域。可以毫不夸张地说,从茫茫的太空,到浩瀚的海洋,以至各种复杂的工程系统,几乎每一个现代化项目,都离不开各种各样的传感器。由此可见,传感器技术在发展经济、推动社会进步方面的重要作用,是十分明显的。世界各国都十分重视这一领域的发展。相信不久的将来,传感器技术将会出现一个飞跃,达到与其重要地位相称的新水平。

【雕爷学编程】 MicroPython动手做(34)——通用传感器的综合运用2_第3张图片

6、 HC-SR04超声波测距传感器模块

HC-SR04

超声波测距模块是用来测量距离的一种产品,通过发送和收超声波,利用时间差和声音传播速度,计算出模块到前方障碍物的距离。超声波测距模块具有测距距离精确,能和SRF05,SRF02等超声波测距相媲美,测量距离 ** 2cm~450cm (实测:10cm~300cm)。

超声波测距模块有好多种类型,比较常用的有URM37超声波传感器默认是232接口,可以调为TTL接口,URM05大功率超声波传感器测试距离能到10米,算是测试距离比较远的一款了,另外还有比较常用的国外的几款SRF系列的超声波模块,超声波模块精度能到1cm。

【雕爷学编程】 MicroPython动手做(34)——通用传感器的综合运用2_第4张图片
超声波模块工作原理——
1)采用IO触发测距,给至少10us的高电平信号。
2)模块自动发送8个40KHz的方波,自动检测是否有信号返回。
3)有信号返回,通过IO输出一高电平,高电平持续时间就是超声波从发射到返回的时间。只需要提供一个10uS以上脉冲触发信号,该模块内部将发出8个40kHz周期电平并检测回波。一旦检测到有回波信号则输出回响信号。回响信号的脉冲宽度与所测的距离成正比。由此通过发射信号到收到的回响信号时间间隔可以计算得到距离。

公式: uS/58=厘米或者uS/148=英寸;或是:距离=高电平时间*声速(340M/S) /2;建议测量周期为60ms以上,以防止发射信号对回响信号的影响。

【雕爷学编程】 MicroPython动手做(34)——通用传感器的综合运用2_第5张图片
【雕爷学编程】 MicroPython动手做(34)——通用传感器的综合运用2_第6张图片
超声波模块主要技术参数
1:使用电压:DC—5V
2:静态电流:小于2mA
3:电平输出:高5V
4:电平输出:底0V
5:感应角度:不大于15度
6:探测距离:2cm-450cm
7: 高精度 可达0.2cm
8: 接线方式:VCC、trig(控制端)、
echo(接收端)、 GND

使用说明:
1、此模块不宜带电连接,若要带电连接,则先让模块的GND端先连接,否则会影响模块的正常工作。
2、测距时,被测物体的面积不少于05平方米且平面尽量要求平整,否则影响测量的结果。

【雕爷学编程】 MicroPython动手做(34)——通用传感器的综合运用2_第7张图片
#MicroPython动手做(34)——通用传感器的综合运用
#HC-SR04超声波传感器测距实验

#MicroPython动手做(34)——通用传感器的综合运用
#HC-SR04超声波传感器测距实验

from hcsr04 import HCSR04
from mpython import *
import music
import time

hcsr04 = HCSR04(trigger_pin=Pin.P13, echo_pin=Pin.P14)



music.play('D5:1')
rgb[1] = (int(0), int(102), int(0))
rgb.write()
time.sleep_ms(1)
while True:
    oled.fill(0)
    oled.DispChar("超声波测距仪", 25, 10, 1)
    oled.DispChar((''.join([str(x) for x in ["测量距离:", str(hcsr04.distance_mm()), "mm"]])), 10, 28, 1)
    oled.show()
    time.sleep_ms(1000)

HC-SR04超声波传感器测距实验

【雕爷学编程】 MicroPython动手做(34)——通用传感器的综合运用2_第8张图片

mPython X 实验图形编程

【雕爷学编程】 MicroPython动手做(34)——通用传感器的综合运用2_第9张图片

7、超声波传感器的入侵报警器

#MicroPython动手做(34)——通用传感器的综合运用
#超声波传感器的入侵报警器

from hcsr04 import HCSR04
from mpython import *
import time
import music

hcsr04 = HCSR04(trigger_pin=Pin.P13, echo_pin=Pin.P14)



while True:
    oled.fill(0)
    oled.DispChar(" 超声波传感器入侵报警器", 0, 0, 1)
    oled.DispChar((''.join([str(x) for x in ["检测的距离:", str(hcsr04.distance_mm()), "mm"]])), 0, 16, 1)
    oled.show()
    rgb[1] = (int(0), int(102), int(0))
    rgb.write()
    time.sleep_ms(1)
    if hcsr04.distance_mm() < 200:
        oled.DispChar("     有人入侵!报警!", 0, 32, 1)
        oled.show()
        for count in range(3):
            rgb.fill((int(102), int(0), int(0)))
            rgb.write()
            time.sleep_ms(1)
            music.pitch(392, 500)
            time.sleep_ms(300)
            rgb.fill( (0, 0, 0) )
            rgb.write()
            time.sleep_ms(1)
            music.pitch(784, 500)
            time.sleep_ms(300)
    else:
        oled.fill_rect(0, 32, 128, 16, 0)
        oled.show()
        rgb.fill( (0, 0, 0) )
        rgb.write()
        time.sleep_ms(1)

mPython X 实验图形编程

【雕爷学编程】 MicroPython动手做(34)——通用传感器的综合运用2_第10张图片

#MicroPython动手做(34)——通用传感器的综合运用
#超声波传感器的入侵报警器(实验视频)

https://v.youku.com/v_show/id_XNDcyNTYwMjgyNA==.html?spm=a2h0c.8166622.PhoneSokuUgc_1.dtitle

添加链接描述【雕爷学编程】 MicroPython动手做(34)——通用传感器的综合运用2_第11张图片

你可能感兴趣的:(MicroPython动手做,人工智能,嵌入式硬件,物联网,单片机,python,通用传感器)