久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1836|回復: 8
收起左側

arduino uno+dht11+ws2812程序調試問題請教

[復制鏈接]
ID:1006671 發表于 2022-2-25 15:33 | 顯示全部樓層 |閱讀模式
我需要帶寫一個用溫度控制ws2812燈帶顏色的程序。
主要功能:
1.根據不同的現場溫度顯示漸變(比如從末端綠到頂端紅)。同時可以講溫度數值上傳至云端。
程序效果:
比如60個燈珠,第一個開始根據溫度慢慢點亮燈珠數量,類似溫度計。

程序我寫了一部分,上傳出現問題,是我的程序有問題還是其他問題
程序部分:
#include <FastLED.h>
#include "DHT.h"  


#define DHTPIN 4  //溫濕度傳感器接4號引腳
#define DHTTYPE DHT11  //DHT11
DHT dht(DHTPIN,DHTTYPE);
#define NUM_LEDS 30  //lED燈珠數量
#define LED_DT 12  //Arduino輸出控制信號引腳
#define LED_TYPE WS2812  //LED燈帶型號
#define COLOR_ORDER GRB  //RGB燈珠中紅色、綠色、藍色LED的排列序號
#define light 20  //設置亮度步長


uint8_t colorR,colorG,clorB,colorW;  //RGB,亮度
uint8_t openState =1;  //等效模式,默認關燈

CRGB leds[NUM_LEDS];  //建立光帶leds

//RGB方法定義顏色
CRGB myRGBColor(255,255,255);  //myRGBcolor (rValue,gValue,bValue)
                                //rValue:紅色數值0-255
                                //gValue:綠色數值0-255
                                //bValue:藍色數值0-255
//HSV方法定義顏色
CHSV myHSVcolor(80,255,200);  //HSV方法定義顏色  myHSVcolor(色調,飽和度,明亮度)


//自定義色盤
CRGBPalette16 myColorPalette = CRGBPalette16(
                                CRGB::Green, CRGB::Green,CRGB::Black,CRGB::Black,
                              //0-15 GREEN, 16-31GREEN,  32-47BLACK,  48-63BLAK,
                                CRGB::Purple, CRGB::Purple,CRGB::Black,CRGB::Black,
                              //64-79 Purple, 80-95Purple, 96-111BLACK,112-127BLAK,
                                CRGB::Green, CRGB::Green,CRGB::Black,CRGB::Black,
                              //128-143 GREEN,144-159GREEN,160-175BLACK,176-191BLAK,
                                CRGB::Purple, CRGB::Purple,CRGB::Black,CRGB::Black);
                              //192-207 GREEN,208-223GREEN,224-239BLACK,240-255BLAK,

CHSVPalette16 myHSVColorPalette =CHSVPalette16(
                    CHSV(0,255,200),CHSV(15,255,200),CHSV(31,255,200),CHSV(47,255,200),
                    CHSV(0,255,0),  CHSV(15,255,0),  CHSV(31,255,0),  CHSV(47,255,0),
                    CHSV(0,255,200),CHSV(15,255,200),CHSV(31,255,200),CHSV(47,255,200),
                    CHSV(0,0,200),  CHSV(15,0,200),  CHSV(31,0,200),  CHSV(47,0,200));
                    
const TProgmemPalette16 myProgmemPalette PROGMEM ={
                              CRGB::Red,CRGB::Gray,CRGB::Blue,CRGB::Black,
                              CRGB::Red,CRGB::Gray,CRGB::Blue,CRGB::Black,
                              CRGB::Red,CRGB::Red,CRGB::Gray,CRGB::Gray,
                              CRGB::Blue,CRGB::Blue,CRGB::Black,CRGB::Black};

void setup() {  

  Serial.begin (9600);  
  LEDS.addLeds<LED_TYPE,LED_DT,COLOR_ORDER>(leds,NUM_LEDS);  //初始化光帶

  
  Serial.println(F("DHTxx test!"));  

  dht.begin();  
}  

void loop() {  
  delay(20);  
  uint8_t i;  
  float Hum = dht.readHumidity();//濕度  
  float Tem = dht.readTemperature();//溫度  
  i = Tem/3;  
  //uint32_t color = strip.Color(RGB[ i][0], RGB[ i][1], RGB[ i][2]);  
  //for (uint16_t j = 0; j < MAX_LED; j++)  
  //{  
    //strip.setPixelColor(j, color);  
  //}  
  //strip.show();  
}

錯誤信息:

Arduino:1.8.13 (Windows 10), 開發板:"Arduino Uno"

項目使用了 5198 字節,占用了 (16%) 程序存儲空間。最大為 32256 字節。

全局變量使用了471字節,(22%)的動態內存,余留1577字節局部變量。最大為2048字節。

上傳項目出錯



在文件 -> 首選項開啟
“編譯過程中顯示詳細輸出”選項
這份報告會包含更多信息。

那位大俠幫忙看下程序是否有錯誤,方便的話幫我指正優化一下,感謝無私您的無私奉獻!


回復

使用道具 舉報

ID:277550 發表于 2022-2-25 17:10 | 顯示全部樓層
已經編譯完成了,串口是否正確呢

按說明,看看具體的問題

在文件 -> 首選項開啟
“編譯過程中顯示詳細輸出”選項
這份報告會包含更多信息。
回復

使用道具 舉報

ID:88256 發表于 2022-2-25 18:38 | 顯示全部樓層
編譯沒有問題,上傳出錯就說明不是程序引起的
回復

使用道具 舉報

ID:290373 發表于 2022-2-25 18:39 | 顯示全部樓層
樓上說的對,開啟“編譯過程中顯示詳細輸出”選項來定位錯誤。
幾種可能的原因:串口配置有問題,板子配置有問題,芯片掉bootloader
回復

使用道具 舉報

ID:123289 發表于 2022-2-26 10:39 | 顯示全部樓層
1、現畫出真值表,建議用EXCEL列個表,清清楚楚表達出條件與目的。
2、畫出流程圖(邏輯圖)
3、在紙上,用大腦現走通流程圖
4、再依流程圖、真值表寫程序。
這是標準方案,如果不會就學會它。
當然將以上1234混在腦子里,一鍋燴也可以。不過,習慣不好,更復雜時一鍋燴得了嗎?未會再利用時能記得住、找得著嗎?
回復

使用道具 舉報

ID:239041 發表于 2022-4-1 01:20 | 顯示全部樓層
arduino上傳的時候可能會出錯,注意關閉多余的串口監視器,不要占用端口。
注意有些引腳連接器件后會出現上傳出錯問題,拔掉再上傳就好了。

給你個fastled例程  白黃綠來回閃
#include "FastLED.h"
#define NUM_LEDS 8
int lednum = 8;
CRGB leds[NUM_LEDS];
void setup() { FastLED.addLeds<NEOPIXEL, D6>(leds, NUM_LEDS); }
void loop() {
        delay(1000);
        for(int i=0;i<lednum;i++){
          leds[i] = CRGB::White; FastLED.show();
          }
      
        delay(5000);
        for(int i=0;i<lednum;i++){
          leds[i] = CRGB::Black; FastLED.show();
          }
        delay(100);
         for(int i=0;i<lednum;i++){
          leds[i] = CRGB::Yellow; FastLED.show();
          }
        
        delay(5000);
         for(int i=0;i<lednum;i++){
          leds[i] = CRGB::Green; FastLED.show();
          }
      
        delay(5000);
        
      
}
回復

使用道具 舉報

ID:239041 發表于 2022-4-1 01:20 | 顯示全部樓層
arduino上傳的時候可能會出錯,注意關閉多余的串口監視器,不要占用端口。
注意有些引腳連接器件后會出現上傳出錯問題,拔掉再上傳就好了。

給你個fastled例程  白黃綠來回閃
#include "FastLED.h"
#define NUM_LEDS 8
int lednum = 8;
CRGB leds[NUM_LEDS];
void setup() { FastLED.addLeds<NEOPIXEL, D6>(leds, NUM_LEDS); }
void loop() {
        delay(1000);
        for(int i=0;i<lednum;i++){
          leds[i] = CRGB::White; FastLED.show();
          }
      
        delay(5000);
        for(int i=0;i<lednum;i++){
          leds[i] = CRGB::Black; FastLED.show();
          }
        delay(100);
         for(int i=0;i<lednum;i++){
          leds[i] = CRGB::Yellow; FastLED.show();
          }
        
        delay(5000);
         for(int i=0;i<lednum;i++){
          leds[i] = CRGB::Green; FastLED.show();
          }
      
        delay(5000);
        
      
}
回復

使用道具 舉報

ID:1014831 發表于 2022-4-1 12:01 | 顯示全部樓層
請檢查板子和電腦之間的連接
回復

使用道具 舉報

ID:1006671 發表于 2022-4-22 10:05 | 顯示全部樓層
#include <Adafruit_NeoPixel.h>  
#include "DHT.h"  

#define WS2811_PIN 5  
#define DHTPIN 4   
#define MAX_LED 30  
#define DHTTYPE DHT11   // DHT 11  
DHT dht(DHTPIN, DHTTYPE);  
Adafruit_NeoPixel strip = Adafruit_NeoPixel( MAX_LED, WS2811_PIN, NEO_RGB + NEO_KHZ800 );  
uint8 RGB[][3] = {  

  { 0xFF, 0x00, 0x00 },  

  { 0x00, 0xFF, 0xFF },  

  { 0x00, 0x00, 0xFF },  

  { 0x00, 0x00, 0xA0 },  

  { 0xFF, 0x00, 0x80 },  

  { 0x80, 0x00, 0x80 },  

  { 0xFF, 0xFF, 0x00 },  

  { 0x00, 0xFF, 0x00 },  

  { 0xFF, 0x00, 0xFF },  

  { 0xFF, 0xFF, 0xFF },  

  { 0xC0, 0xC0, 0xC0 },  

  { 0x00, 0x00, 0x00 },  

  { 0xFF, 0x80, 0x40 },  

  { 0x80, 0x40, 0x00 },  

  { 0x80, 0x00, 0x00 },  

  { 0x80, 0x80, 0x00 },  

  { 0x40, 0x80, 0x80 }  

};  

void setup() {  

  Serial.begin (9600);  
  strip.begin();  
  // 初始化時關閉所有LED  
  strip.show();  
  Serial.println(F("DHTxx test!"));  

  dht.begin();  
}  

void loop() {  
  delay(500);  
  uint8 i;  
  float Hum = dht.readHumidity();//濕度  
  float Tem = dht.readTemperature();//溫度  
  i = Tem/3;  
  uint32_t color = strip.Color(RGB[i][0], RGB[i][1], RGB[i][2]);  
  for (uint16_t j = 0; j < MAX_LED; j++)  
  {  
    strip.setPixelColor(j, color);  
  }  
  strip.show();  
}
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产日韩精品一区 | 中文字幕在线视频免费视频 | 精品一区二区电影 | 久久久久久久国产 | 欧美黑人一区二区三区 | 范冰冰一级做a爰片久久毛片 | 日韩精品一区二区三区中文字幕 | 色视频一区二区 | 精品96久久久久久中文字幕无 | 亚洲一区二区中文字幕 | 亚洲欧美视频在线观看 | 欧美日韩高清一区 | 国产精品欧美一区二区三区不卡 | 午夜视频免费网站 | 三区在线观看 | av网站免费| 日韩精品一区二区在线观看 | 一级毛片在线播放 | 亚洲色图在线观看 | 成人在线播放网站 | 欧美日韩国产一区二区 | 久久久久久亚洲 | 在线三级电影 | 日韩免费1区二区电影 | 欧美精品中文字幕久久二区 | 羞羞免费网站 | 国产91在线播放 | 一区中文字幕 | 在线成人免费观看 | 国产一区二区三区在线 | 免费h在线 | 国产日韩久久 | 日韩在线免费看 | 一区二区三区在线观看视频 | 亚洲久久在线 | 国产成人99久久亚洲综合精品 | 久久com | 亚洲成人三区 | 精品视频在线观看 | 精品美女| 国产一区二区三区色淫影院 |