耿老师 发表于 2024-4-14 21:17:41

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

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

【创作背景】
中国地震台网正式测定:2024年4月3日7时58分在台湾花莲县海域(北纬23.81度,东经121.74度)发生7.3级地震,震源深度12千米。
由于本人位于厦门,距离震中较近,地震时正在洗漱,感觉楼房晃动,并且有眩晕感。
本着“大震跑不掉小震不用跑”的想法,镇定完成洗漱工作,并淡定开始了打工人的一天。

虽然现在手机的地震预警App已经很强大,但还是有很多人没有安装(苹果机用户),或者没有启动,有可能就得不到及时预警,贻误逃生时机。
所以就一直想着要做一个地震报警器,就算手机没有安装App,或者不会使用智能手机的群体,也能得到地震警报,及时逃生。

恰巧遇到DF开展 FireBeetle 2 ESP32 C6 试用活动,于是就申请了一套,很幸运的入选了。 接下来就开始本次的创作历程:

【环境配置】
由于电脑里原先有安装Arduino IDE,于是就跟着DF官方文档 配置教程,很顺利的配置完成。目前最新的Arduino ESP32版本是 3.0.0 RC1
官方教程里是上一个版本 3.0.0 Alpha 3 ,区别不大。



【主板连接WS2812灯】
地震报警器计划采用声光模式报警,所以闪灯功能是必不可少的。
为了减少设备的体积和节能考虑,找了一个4灯珠的板子。


(IN接在23管脚)

【加载安装Neopixel库】

(加载的是 Adafruit NeoPixel 1.12.0 )


【编写红灯闪烁代码】
#include <Adafruit_NeoPixel.h>

#define NUMPIXELS      4   //4颗灯珠
#define PIN_NEOPIXEL   23   //灯板连接到主板的对应引脚号

Adafruit_NeoPixel pixels(NUMPIXELS, PIN_NEOPIXEL, NEO_GRB + NEO_KHZ800);

void setup() {
pixels.begin();
pixels.setBrightness(20);    //测试时亮度不用设置太亮
}

void loop() {
pixels.fill(0xFF0000);   //红灯
pixels.show();
delay(500);

pixels.fill(0x000000);    //黑灯
pixels.show();
delay(500);
}

【上传测试验证】




【下篇预告】
连接传感器(倾斜传感器)






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