这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » 【ESP32】使用ESP32-S3ADC读取DFRbot模拟压电陶瓷震动传感器

共1条 1/1 1 跳转至

【ESP32】使用ESP32-S3ADC读取DFRbot模拟压电陶瓷震动传感器

助工
2025-04-06 05:08:15     打赏

简介

DFR0052是基于压电陶瓷片的模拟震动传感器,是利用压电陶瓷给电信号产生震动的反变换过程,当压电陶瓷片震动时就会产生电信号,与Arduino专用传感器扩展板结合使用,Arduino模拟口能感知微弱的震动电信号,可实现与震动有相关的互动作品,比如电子鼓互动作品。(来源于DFROBOT)


image.png

从上图中可以看到, 其中下方的是压电陶瓷, 红色的线是信号线, 黑色的线是GND. 没有VCC输入. 然后在上方的PCB板子上. 中间的红色线是悬空的, 不需要接VCC. 蓝色线接ADC的输入引脚. 黑色线接GND引脚. (我也是第一次见到这种不需要接VCC的传感器)


接线图如下

image.png

由于这个传感器输出的是模拟电压, 所以可以接到ESP32上的任意的引脚,然后配置其ADC功能即可.  我们使用Arduino IDE快速创建一个项目来读取来自传感器的模拟量输出.

void setup() {
  // initialize serial communication at 115200 bits per second:
  Serial.begin(115200);

  //set the resolution to 12 bits (0-4095)
  analogReadResolution(12);
}

void loop() {
  // read the analog / millivolts value for pin 2:
  int analogValue = analogRead(4);
  int analogVolts = analogReadMilliVolts(4);

  // print out the values you read:
  Serial.printf("ADC analog value = %d\n", analogValue);
  Serial.printf("ADC millivolts value = %d\n", analogVolts);

  delay(100);  // delay in between reads for clear read from serial
}


然后我们把代码下载到开发板里之后便可以通过串口来观察到对应的ADC的数据转换结果.

image.png

每次触动传感器的时候, 压电陶瓷便会产生一个模拟量数据,并且被ESP-32进行转换. 可以从下图中看到, 在强烈敲击这个传感器的时候其输出的电压在1.1v左右.

image.png

至此成功的读取到了这个传感器的输出数据.  另我觉得困惑的一点是: 这个PCB的板子是否有点多余. 直接接一个压电陶瓷片是不是也可以正常的测量出物体的振动?


压电陶瓷简介

image.png



总结

本文介绍了DFROBOT的压电陶瓷振动传感器, 并且使用Arduino IDE快速的对传感器的模拟量输出进行了功能性验证. 原本打算使用ESP-IDF来进行ADC转换并且将本文章归类到ESP-IDF系列.但是ESP-IDF的ADC API有点复杂. 因此快速使用了Arduino对传感器进行了验证. 同时提出了对当前的传感器提出了疑问(是否能够直接使用压电陶瓷连接到开发板上进行ADC转换). 肯请各位大佬解答!


附件:

adc-dfrobot.ino.zip




关键词: Arduino     压电陶瓷     震动传感器    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]