• 4

Arduino 使用 1602 IIC(I2C) LCD 點陣液晶模組



謝謝關注
組譯後無異常了
上傳後執行
還是顯示這樣的一排方塊........
剛剛改了位址把0X27改為0X3F
有顯示了
但是只有一個字 H

swlin3223 wrote:
剛剛改了位址把0X2...(恕刪)


剛剛幫測一下文字型液晶示範程式~

我遇到的狀況是用arduino-1.6.5-r5編譯程式運作都正常,
但是用arduino-1.6.6編譯程式則會出現【每列只會有第一個字出現】的狀況。

看看是不是跟我一樣~ ( ̄ε ̄)▂ξ


附上《Previous IDE Releases》網頁
https://www.arduino.cc/en/Main/OldSoftwareReleases#previous
哦,原來是版本問題。
老外已經有人先遇到也解決了,可以參考。https://forum.arduino.cc/index.php?topic=359652.0
當然用舊版的IDE也是一種解決之道。

我是沒試啦,你可以試用那個連結,2樓的函數庫
LiquidCrystal_I2C_AvrI2C.zip

連進他講的In this post is solution for problems with new print procedure and LCD libs.
第112樓也有修正函數庫
https://github.com/marcoschwartz/LiquidCrystal_I2C/pull/5/files
114樓也說沒問題了。試試吧!

opqneil wrote:
我遇到的狀況是用arduino-1.6.5-r5編譯程式運作都正常,
但是用arduino-1.6.6編譯程式則會出現【每列只會有第一個字出現】的狀況。
(恕刪)
k62000 wrote:
LiquidCrystal_I2C lcd(0x27,16,2);


bernie_w39 wrote:
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // 設定 LCD I2C 位址


不好意思我想請教各位,為什麼在LiquidCrystal_I2C lcd()這裡,括號裡的位置不一樣呢???

我一開始是用(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE)這個去試,參考下面這個網站
http://blogger.gtwang.org/2015/02/ywrobot-arduino-lcm-1602-iic-v1-lcd-display.html

但他說"安裝 LiquidCrystal 函式庫,下載之後解壓縮到 Arduino 的 libraries 目錄中即可。",我裝了,可是在編譯的時候要把下面選取的檔案用成個別的資料夾放在 C:\Users\***\Documents\Arduino\libraries 裡面,這樣編譯才會成功



但直解把它改成LiquidCrystal_I2C lcd(0x27,16,2),那些資料夾要刪掉,然後裝入"LiquidCrystal_I2C1602V1"才可以編譯成功,但燒入進去沒有顯示文字...



這是為什麼呢????
xhining wrote:
哦,原來是版本問題。
老外已經有人先遇到也解決了,可以參考。https://forum.arduino.cc/index.php?topic=359652.0
當然用舊版的IDE也是一種解決之道。
我是沒試啦,你可以試用那個連結,2樓的函數庫
LiquidCrystal_I2C_AvrI2C.zip
連進他講的In this post is solution for problems with new print procedure and LCD libs.
第112樓也有修正函數庫
https://github.com/marcoschwartz/LiquidCrystal_I2C/pull/5/files
114樓也說沒問題了。試試吧!


有,把LiquidCrystal_I2C.cpp裡面第12行左右的return 0改成return 1,燒入後就可以顯示了,不過,我好奇的是,為甚麼有人的
LiquidCrystal_I2C lcd(0x27,16,2)
這裡有寫成(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE)這樣的呢???
金豬~ wrote:
有,把LiquidCrystal...(恕刪)


這個是加載的程式庫不同的問題,

因為標準的文字LCD模組並沒有I2C的介面,

所以用I2C的介面是加了一塊I2C->LCD的轉接板,

有些程式庫要宣告LCD的腳位
如:
(0x27,= I2C的受訊地址
2, = LCD的EN腳位置
1, = LCD的RW腳位置
0, = LCD的RS腳位置
4, = LCD的D4
5, = LCD的D5
6, = LCD的D6
7, = LCD的D7
3, = 暫時不知
POSITIVE) =暫時不知



有些程式庫要宣告的是LCD的樣式

(0x27, = I2C的受訊地址
16, = LCD每行16個字
2) = LCD總共有2行
越是親密的人 越需要你的尊重 ,尊重你的另一半 感情才能長長久久

Jim8051 wrote:
這個是加載的程式庫不同的問題,
因為標準的文字LCD模組並沒有I2C的介面,
所以用I2C的介面是加了一塊I2C->LCD的轉接板,
有些程式庫要宣告LCD的腳位
如:
(0x27,= I2C的受訊地址
2, = LCD的EN腳位置
1, = LCD的RW腳位置
0, = LCD的RS腳位置
4, = LCD的D4
5, = LCD的D5
6, = LCD的D6
7, = LCD的D7
3, = 暫時不知
POSITIVE) =暫時不知
有些程式庫要宣告的是LCD的樣式

(0x27, = I2C的受訊地址
16, = LCD每行16個字
2) = LCD總共有2行


喔~~~?!!!原來如此謝謝!!~~~~
我是路人甲,也是因為arduino點不亮LCD找資料找到這來,

因為問題解決了,所以描述一下狀況讓大家參考。

我買了3塊LCD就碰到兩塊無法顯示,原因分別是:

1. 其中有一塊學樓主把I2C address由0x27改成0x3F就通了,原因未知。

2. 另一塊我發現不是沒通,而是一開始對比度太低,才因此沒看到字。

在I2C的板子上有一個方形的藍色小座子,中間有個像十字螺絲的旋鈕,

我發現這可以調整才試了一下,字就跑出來了。


x的我真的搞超久,換了n個library,太感謝了這篇,所以回饋一下我的測試。
奇威 wrote:
我是路人甲,也是因為arduino點不亮LCD找資料找到這來,
因為問題解決了,所以描述一下狀況讓大家參考。
我買了3塊LCD就碰到兩塊無法顯示,原因分別是:
1. 其中有一塊學樓主把I2C address由0x27改成0x3F就通了,原因未知。
2. 另一塊我發現不是沒通,而是一開始對比度太低,才因此沒看到字。
在I2C的板子上有一個方形的藍色小座子,中間有個像十字螺絲的旋鈕,
我發現這可以調整才試了一下,字就跑出來了。
x的我真的搞超久,換了n個library,太感謝了這篇,所以回饋一下我的測試。


1. I2C 是支援多個device在同樣兩根Data + clock 訊號上運行.一般data sheet 上會說位置是多少,每個device可以設不同位置,位置是7bit,SDA線上的單位是8個bit,最後一個bit是表示這次的傳輸是讀或寫,所以要再把data sheet上給的address 往左shift一個bit.這LCD使用IC2的原因是省GPIO,一般夠IO用的話一還是買平行輸入的介面,操作比較直覺

2. 你調的那個是可變電阻,LCD模組線路圖上應該有說明有調電流的電阻會影響對比度.
  • 4
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?