H2O提醒
Hydrate Reminder
使用说明
- 所有模型资源均由用户上传分享,内容来源于网络公开资源
- 侵权投诉:通过抖音私信 @jobsfan 联系我们(需附版权证明),24小时内处理
- 模型将通过邮件发送(5分钟内自动发货),感谢理解带宽压力
关于费用
我们是爱好者共建社区,为维持服务器成本,每个模型收取微量费用(仅覆盖基础开支)。我们承诺最低成本运营,感谢您的支持!
扫码手机访问
抖音私信 @jobsfan摘要
Arduino 制造
当瓶子按下按钮时,颜色会从绿色逐渐变为红色(30 分钟)
需要 esp8266 和 Adafruit_Neopixel(Arduino 扩展)。
代码
包括
定义引脚 D6 // 用于连接 LED 灯带的引脚
定义 NUM_LEDS 24 // 灯条中 LED 的数量
int buttonPin = D2; // 设置按钮引脚
int buttonState = 0; // 用于存储按钮状态的变量
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUM_LEDS, PIN, NEO_GRB + NEO_KHZ800);
void setup() {
pixels.begin(); // 初始化 LED 灯带
pinMode(buttonPin, INPUT); // 将按钮引脚设置为输入
Serial.begin(9600);
}
void loop() {
// 从绿色过渡到红色
for (float i = 0; i < 1; i += 0.01) {
for (int j = 0; j < NUM_LEDS; j++) {
int green = (1-i)*255;
int red = i*255;
pixels.setPixelColor(j, pixels.Color(red, green, 0)); // 使用线性插值设置颜色
}
pixels.show(); // 在 LED 上显示变化
delay(18000); // 20ms 延迟
Serial.write("s");
if (digitalRead(buttonPin) == HIGH) {
i = 0;
Serial.write("button");
}
}
}
// 红色延迟
{
delay(1);
buttonState = digitalRead(buttonPin);
Serial.println("stop");
}
while (buttonState == LOW);
// 从红色过渡到绿色
for (float i = 1; i > 0; i -= 0.01) {
for (int j = 0; j < NUM_LEDS; j++) {
int green = (1-i)*255;
int red = i*255;
pixels.setPixelColor(j, pixels.Color(red, green, 0)); // 通过线性插值设置颜色
}
pixels.show(); // 显示 LED 上的变化
delay(20); // 20ms prodleva
}
// 绿色延迟
}
许可证
补水提醒
由 MartinKokorec25 根据 知识共享--署名 许可证。
相关内容
猜你喜欢
联系我们
最新模型
-
摄像机装备2024-05-08
-
电脑风扇独立式模型2024-05-06
-
装饰艺术风格灯罩适用于GRÖNÖ灯2号2024-05-06
-
大众Scirocco MK2 欧版保险杠饰盖2024-05-06
-
奇迪Q1 Pro顶端版2024-05-06
最热下载
-
Falcon 9三维模型2023-03-26
-
远投笼2024-04-06
-
Ubiquiti UniFi AC Pro 无线接入点支架2024-04-21
-
沙箱建筑模型2024-05-08
-
中指2025-05-17