Robofun 機器人論壇
標題:
I2C 1602LCD 螢幕顯示的問題
[打印本頁]
作者:
greenman0723
時間:
2016-3-31 22:35
標題:
I2C 1602LCD 螢幕顯示的問題
各位,我是ARDUINO的新手~最近有個關於I2C 1602LCD 螢幕顯示的問題
我發現我使用土壤濕度或者水位,因為他會有個位數跳到百位數的數值起伏,如果一開始是個位數還好,如果開始跳到十位數或者百位數再跳回十位或者個位數時,螢幕就會殘影十位數與百位數的數值,而造成數字上的判讀錯誤。
請問各位是如何克服這個問題的呢??
感謝~
用clear指令配合delay一秒雖然可以解決,但是螢幕一直閃閃閃好不舒服....
又或者能不能將土壤或者水位計的數值改為001,也就是三位數表現,不知道會不會解決(程式碼怎麼讓該數值以三位數表現呢)
作者:
超新手
時間:
2016-4-1 06:27
本帖最後由 超新手 於 2016-4-1 08:26 編輯
除了剛開機(setup),執行clear及顯示必要的字
其他時候(loop),不要用 clear
也不要整個螢幕更新
用固定三位數
把游標移到百位數
每次更新只修改百十個三個數字
作者:
greenman0723
時間:
2016-4-1 16:58
請問具體固定三位數的程式寫法該如何寫呢?
我目前寫的方式為
lcd.setCursor(0, 0);
lcd.print("M=");
lcd.print(analogRead(0));
因為該數字會跳一位數或三位數,所以會有殘影....再麻煩各位大大了...
作者:
超新手
時間:
2016-4-1 18:13
本帖最後由 超新手 於 2016-4-1 18:16 編輯
沒試過..有問題自己修改
void setup()
{
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("M=");
}
void loop()
{
lcd.setCursor(2, 0);
char str[8];
sprintf(str, "%3d", analogRead(0));
lcd.print(str);
delay(1000);
}
歡迎光臨 Robofun 機器人論壇 (https://robofun.net/forum/)
Powered by Discuz! X3.2