Arduino驱动IIC/I2C LCD1602模块显示
?
Arduino控制器的控制端口數量有限,連接一個LCD就好像沒接口了似得!
下面我們介紹一個使用IIC接口連接的LCD1602模塊。這一模塊只用4根線就可以解決與arduino連接問題,非常方便初學者使用,再也不用為繁瑣的連線頭疼了~~
IIC 1602背面圖片:
?
模塊基本參數:
? ?? ? 工作電壓為+5V
? ?? ? 有背光且可調節對比度
? ?? ? I2C接口通訊地址:0x27
?
下面我們介紹下IIC:
IIC 即Inter-Integrated Circuit(集成電路總線)又叫I2C,一種總線結構,這種總線類型是由菲利浦半導體公司在八十年代初設計出來的,主要是用來連接整體電路(ICS) ,IIC是一種多向控制總線,也就是說多個芯片可以連接到同一總線結構下,同時每個芯片都可以作為實施數據傳輸的控制源。
I2C串行總線一般有兩根信號線,一根是雙向的數據線SDA,另一根是時鐘線SCL。所有接到I2C總線設備上的串行數據SDA都接到總線的SDA上,各設備的時鐘線SCL接到總線的SCL上。
模塊使用芯片(PCF8574)中文資料:
?PCF8574中文手冊.pdf?(245.09 KB, 下載次數: 1322)
IIC LCD1602庫文件:
?
?LiquidCrystal_I2C.zip?(7.61 KB, 下載次數: 3137)
? ?
?
? ?? ?? ?? ???--- 已更新 1.6.6 版本IDE 可用? ?更改方法:點擊查看
?
IIC LCD1602模塊有4個引腳,連接非常簡單,分別連接arduino(在這里要特別提示下各位用戶,首先將庫文件添加到library中,不然程序無法工作;雖然連線只有4根,但是還是要注意下連線,正負極不可反接):
? ?? ? GND ———— GND
? ?? ? VCC ———— 5V
? ?? ? SDA ———— A4(AREF旁的SDA)
? ?? ? SCL ———— A5 (AREF旁的SCL)
?
連接好電路后,將下面的例程下載到控制板中,就可以實現顯示了:
復制代碼
程序中使用到:
? ????lcd.init();??初始化LCD
? ?? ?? ?? ??lcd.backlight();?打開背景燈? ???
? ?? ?lcd.print("Welcome to ");?顯示“Welcome to”文本
? ?? ??還要說明的是 :之前介紹的LCD 1602的語法,在這個庫中同樣適用? ?? ???其他語法介紹請見1602實驗
顯示圖片:
?
?
?
模塊原理圖:??I2C LCD Module SCH.pdf?(39.67 KB, 下載次數: 235)?
?
-----------------------------------------------------------------分割君--------------------------------------------------------------
網友:hwn444?貢獻的IIC地址查詢,給用到的朋友整理到這里。
?
[C]?純文本查看?復制代碼
?
| 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | #include <Wire.h> ? void setup(){ ??Wire.begin(); ??Serial.begin(9600); ??Serial.println("\nI2C Scanner"); } void loop(){ ??byte error, address; ??int nDevices; ??Serial.println("Scanning..."); ??nDevices = 0; ??for (address = 1; address < 127; address++ ){ ????// The i2c_scanner uses the return value of ????// the Write.endTransmisstion to see if ????// a device did acknowledge to the address. ????Wire.beginTransmission(address); ????error = Wire.endTransmission(); ????if (error == 0){ ??????Serial.print("I2C device found at address 0x"); ??????if (address < 16) ????????Serial.print("0"); ??????Serial.print(address, HEX); ??????Serial.println(" !"); ??????nDevices++; ????}else if (error == 4){ ??????Serial.print("Unknow error at address 0x"); ??????if (address < 16) ????????Serial.print("0"); ??????Serial.println(address, HEX); ????} ??} ??if (nDevices == 0) ????Serial.println("No I2C devices found\n"); ??else ????Serial.println("done\n"); ??delay(5000); // wait 5 seconds for next scan } |
?
總結
以上是生活随笔為你收集整理的Arduino驱动IIC/I2C LCD1602模块显示的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 维纳滤波python 函数_python
- 下一篇: multisim10.0安装教程