耿老师 发表于 2024-4-14 23:17:22

FireBeetle 2 ESP32 C6 制作地震报警器(二)

本帖最后由 耿老师 于 2024-4-14 23:17 编辑

【接上篇】
FireBeetle 2 ESP32 C6 制作地震报警器(一)

【传感器选型】
DF商城中用倾斜作为关键词搜索,能找到三款。



第一款,只能检测到单向倾斜 (2-5度)
第二款,可以检测到360方向倾斜(45°±10° )
第三款,3轴加速度+超低功耗3轴陀螺仪。
很明显,第三款应该是最适合的,但在Arduino IDE下相对复杂,对新手小白并不友好。

于是翻箱倒柜,找到一个类似功能的模块,它能检测到四个方向的倾斜,经过查阅资料,它内部其实是个小钢珠,当发生倾斜时,刚好能把电路导通。



【传感器接线】
由于该倾斜传感器是一款模拟量传感器,因此只能接到C6主板的ADC功能端口 (GPIO 1~6)。


(倾斜传感器模拟输出口接到C6主控板5号口)

【编写程序获取传感器数值】
void setup() {
Serial.begin(115200);

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

void loop() {
// read the analog
int analogValue = analogRead(5);

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

delay(1000);
}

【上传验证结果】



(传感器放平时,输出结果0或者1,朝前后左右倾斜时,分别获得 736 、1024、1393、2736阶梯数值)


由此可见,根据传感器的输出数值不同,可以用来做后续的报警功能。


【未完待续】
下一篇将增加蜂鸣器报警功能




页: [1]
查看完整版本: FireBeetle 2 ESP32 C6 制作地震报警器(二)