2428| 2
|
[求助] 代码逻辑感觉没有问题,但是代码运行之后ws2812灯带不按 |
//共生 #include <Adafruit_NeoPixel.h> #define LED_PIN 8// ws2812引脚设置 #define LED_COUNT 576//灯珠数量 Adafruit_NeoPixel strip(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); float sinVal; int toneVal; unsigned long tepTimer ; void setup(){ Serial.begin(9600); //设置波特率为9600 bps strip.begin(); strip.show(); } void loop(){ int val; //用于存储LM35读到的值 double data; //用于存储已转换的温度值 val=analogRead(0); //LM35连到模拟口,并从模拟口读值 data = (double) val * (5/10.24); // 得到电压值,通过公式换成温度 if(data>37){ // 如果温度大于27,led亮 for (int i = 0; i < strip.numPixels(); i++) { strip.setPixelColor(i, strip.Color(4, 5, 10)); strip.show(); delay(0.05); } } else { // 如果温度小于27,关闭蜂鸣器 for(int i = 0; i < LED_COUNT; i++) { strip.setPixelColor(i, 10, 11, 20); // 设置蓝色 strip.show(); // 更新LED状态 delay(0.5); // 延迟50ms strip.setPixelColor(i, 0, 0, 0); // 关闭当前LED } } if(millis() - tepTimer > 500){ // 每500ms,串口输出一次温度值 tepTimer = millis(); Serial.print("temperature: "); // 串口输出“温度” Serial.print(data); // 串口输出温度值 Serial.println("C"); // 串口输出温度单位 } } |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed