3dsjs

H2O提醒

Hydrate Reminder

2023-06-19 17:29:20

使用说明

  1. 所有模型资源均由用户上传分享,内容来源于网络公开资源
  2. 侵权投诉:通过抖音私信 @jobsfan 联系我们(需附版权证明),24小时内处理
  3. 模型将通过邮件发送(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
}
// 绿色延迟
}

许可证

CC BY

补水提醒
由 MartinKokorec25 根据 知识共享--署名 许可证。

H2O提醒
朋友,你觉得上面这个模型,属于下面的哪个分类?
必须全中文,且长度不超过15


联系我们

邮箱: 289047960@qq.com

最热下载

  1. 远投笼
    2024-04-06
  2. 中指
    2025-05-17