ESP32驱动震动传感器、MAX4466(感知层)

ESP32驱动震动传感器、MAX4466(感知层)



前言

这是一个关于物联网方面的项目,虽然实现的功能比较简单,但是涵盖的物联网项目的基本框架,希望在某些方面可以有所帮助。


一、物联网概述

1.物联网:

即“物物相连的互联网”,简称“IOT”,是通过各种信息传感设备,按照约定的协议把任何物品与互联网连接起来进行信息交换、信息通信和信息处理,以实现智能化识别、定位、跟踪、监控和管理的一种网络。(所有物品通过“射频识别”等信息传感设备与互联网连接起来,实现智能化识别和管理)

2.物联网的三层结构

在这里插入图片描述

二、开发环境的搭建

可以打开这个文章按步骤搭建:
Thonny+MicroPython+ESP32开发环境搭建

三、硬件介绍、使用步骤及运行效果

1.震动传感器

硬件图如下:

在这里插入图片描述

代码如下:

from machine import Pin
import time

#初始化模块
mic=Pin(27,Pin.IN)    #这里采用的是27引脚,也可以用其他的引脚

while 1:
    #读取传感器的值
    zd= mic.value()
    #打印出数据
    print("zd:%d"%zd)
    time.sleep(0.1)

效果展示:

如果传感器感受到震动时mic.value()返回的值是1,反之则是0。
在这里插入图片描述

2.MAX4466传感器

硬件图如下:

在这里插入图片描述

代码如下:

from machine import Pin,ADC
import time

#adc初始化
adc = ADC(Pin(32))          # 在ADC引脚上创建ADC对象
adc.read()                  # 读取测量值, 0-4095 表示电压从 0.0v - 1.0v
adc.atten(ADC.ATTN_11DB)    # 设置 11dB 衰减输入 (测量电压大致从 0.0v - 3.6v)
adc.width(ADC.WIDTH_12BIT)   # 设置 9位 精度输出 (返回值 0-511)

sum=0.0

while 1:
    #这里取5次的平均值
    for i in range(0,5):
        sy=adc.read() 
        sy=(sy*3.3)/100 #自定义的实验值
        sum=sum+sy
        time.sleep(0.1)
    sum=sum/5
    print("sy:%f"%sy)

关于adc的引脚有很多个,可以查看原理图换其他的引脚,这里使用了32引脚。

效果展示:

在这里插入图片描述


四、总结

这篇文章是关于物联网项目的感知层,以后会在专栏里更新网络层和应用层的文章,希望可以在一时迷茫的你提供一点点的帮助呀!

猜你喜欢

转载自blog.csdn.net/weixin_46155589/article/details/126722735