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引脚。
效果展示:
四、总结
这篇文章是关于物联网项目的感知层,以后会在专栏里更新网络层和应用层的文章,希望可以在一时迷茫的你提供一点点的帮助呀!