2017-01-30 76 views
1

我是新的Arduino的,我有兩個問題... 我發現我的問題在互聯網上沒有什麼:的Arduino和彩色液晶盾

for(int i = 0; i < 3; i++) { 
    Serial.println("Test: " + i); 
} 

輸出:

test: 
est: 
st: 

二問題: 我正在使用LiquidCrystal在顯示屏上顯示文本。 這是一款Sparkfun彩色液晶屏。

LiquidCrystal lcd(12, 11, 5, 4, 3, 2); 
void setup() { 
    Serial.begin(9600); 
    /* NOT WORKING 
    lcd.begin(16, 2); 
    lcd.print("Hello World!"); 
    */ 

}

感謝您幫助我!

回答

1

第一問題是由於"Test: " + i指針運算處理,而不是字符串連接這就是你清楚心目中的事實。請寫Serial.print("Test: "); Serial.println(i);,使用正確的String objectsconcatenation operator或使用sprintf

第二問題可能是由您的LCD使用該庫ColorLCDShield.h代替LiquidCrystal.h,因而比更便宜和更常見的顯示器的處理方式不同造成的事實。 我建議你在他們的website查找的文檔特定於您Sparkfun ColorLCD模型,他們通常爲他們的組件提供幾個代碼示例

+0

感謝您的回答。 我安裝了ColorLCDShield庫並閱讀了一些文檔。 但是,圖書館給我一些錯誤: –

+0

/Users/praktikant/Documents/Arduino/libraries/SparkFun_Color_LCD_Shield_Arduino_Library-V_1.0/SparkFunColorLCDShield.h:352:80:warning:將'220'從'int'轉換爲' char'inside {} [-Wnarrowing] –

+0

這是*警告*,而不是*錯誤*。從編程的角度來看,這絕對是一個問題,因爲* Arduino *中的char被*簽名*,因此只能將值存儲在'-128,127'中。沒有閱讀源代碼,我不能給你一個明確的答案,但它可能沒有害處。 –