乾貨下載:添加微信好友「5834434」(必須備註「單片機:學校/公司+研究方向」,否則無法通過驗證),獲取海量單片機教程及其他學習資料!合作或投稿請發郵件到:rebaby@qq.com
在這個項目中,我們將看到如何將I2C LCD與Arduino連接通訊。我們已經看到了如何將常規的:16×2 LCD與Arduino接口。通過將I2C LCD與Arduino一起使用,您可以保留Arduino UNO的所有數字I / O引腳,並通過I2C Communication與LCD一起使用。
下圖所示的字母數字字符LCD是許多DIY項目中經常使用的組件之一。它通常與Arduino一起使用,以顯示各種信息,例如傳感器讀數,GSM模塊的消息或任何狀態信息。
連接16×2或20×4字符LCD的最簡單方法是選擇所需大小的LCD模塊,然後以4位模式將其連接到Arduino UNO。但是此設置的主要缺點是,即使在4位模式下,LCD也需要Arduino的6個數字IO引腳才能正常通信。
如果您的項目需要與多個傳感器和其他IO設備接口,那麼您可能需要儘可能多的Arduino IO引腳。如果LCD本身利用了可用的13個數字IO引腳中的6個,那麼您只剩下7個用於連接其他組件的引腳。
解決方案是在Arduino上使用I2C LCD。為此,將基於I2C的GPIO擴展器與常規的16×2字母數字字符LCD配合使用。
下圖顯示了基於PCF8574 IC的模塊,該模塊專門配置用於LCD顯示器。
您可以將此模塊直接插入常規LCD的引腳,並通過與Arduino(或任何微控制器)的I2C通信來傳輸數據。
PCF8574是基於I2C的I / O擴展器IC,可為具有I2C接口的微控制器提供8位I / O擴展。僅使用I2C接口的兩行,即SDA(串行數據)和SCL(串行時鐘),就可以配置8個雙向I / O引腳。
注意:將提供有關PCF8574 GPIO擴展器的單獨教程。因此,我將在該教程中提供有關PCF8574 IC的更多詳細信息。
下圖顯示了將I2C LCD與Arduino連接的電路圖。
Arduino UNO
16×2液晶顯示器
PCF8574 I2C液晶背包
連接線
電路連接首先,將PCF8574模塊插入LCD顯示器背面。檢查兩個模塊的引腳。使用以下圖像作為參考。
通常,I2C引腳從LCD模塊中出來,以便與Arduino輕鬆連接,如下圖所示。
將I2C模塊連接到LCD後,將PCF8574模塊的GND和VCC引腳連接到Arduino的GND和5V引腳。最後是SDA和SCL引腳。將它們分別連接到Arduino UNO的A4和A5引腳。
I2C通信中的重要步驟是弄清從設備的地址。基於PCF8574 IC的A0,A1和A2引腳,I2C從模塊的地址是固定的。
不用從數據表中計算從設備地址,而是讓我們使用一個簡單的Arduino代碼確定地址並將其顯示在串行終端上。首先,按照上面的電路圖進行連接。
然後上傳以下代碼以查看I2C從設備地址。
上載代碼後,打開串行監視器,並將波特率設置為9600。在我的情況下,地址為0X3F。因此,在實際編程中(要在LCD上顯示內容),我必須使用此地址。
在進入代碼之前,您需要一個名為「 LiquidCrystal_I2C」的特殊庫。它基於我們通常使用但針對I2C通信進行了修改的「 LiquidCrystal」庫。您可以從下載庫這個連結(https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library)。這裡可以直接下載I2C庫,長按二維碼可直接進入:https://www.lanzous.com/iawj0lc
下載zip文件,解壓縮內容並將目錄重命名為「 LiquidCrystal-I2C」,然後將該文件夾放置在Arduino安裝的庫中(通常是C:\ Program Files(x86)\ Arduino \ libraries)。
以下是用於在LCD模塊上顯示文本的簡單測試代碼。
該項目的工作非常簡單。它只是LCD擴展的I2C協議。由於I2C總線上的從站地址很重要,因此在計算它們時要非常小心,因為它們直接在程序中使用。除了I2C從站地址外,LCD的所有其他功能與常規LCD庫類似。
乾貨下載:添加微信好友「5834434」(必須備註「單片機:學校/公司+研究方向」,否則無法通過驗證),獲取海量單片機教程及其他學習資料,合作/投稿請發郵件到rebaby@qq.com!
熱門文章推薦:直接點擊進入
001:《單片機初學者必看》
002:《周立功寫給學單片機的年輕人的話》
003:《牛人談:軟體與硬體的入門難度與精通時間跨度》
004:《學習51單片機有感;學習用書推薦;必寫的幾個程序》
005:《幾種使用過的單片機比較》
006:《ARM+LINUX學習路線(學習順序,知識點及書籍推薦)》
007:《ARM/DSP/FPGA/CPLD/SOPC/SOC區別和聯繫》
008:《趣味電子製作:藝術家手中的食品發電-電子diy》
009:《我的經歷: 從一名產線工人到單片機工程師》
010:《硬體工程師要學習的東西》
011:《學習51單片機的感悟:一通則百通》
012:《各種傳感器工作原理動態圖,這也太全了吧!》
013:《小心!這幾項都符合說明你的手機已被監控》
014:《這小東西其實是個發電機?自己動手做個就不用怕停電了》
015:《國外的DIY網站和電子類的網站收集(各種奇怪高能項目)》
016:《電子工程師們都在用哪些APP?》
017:《一張圖看懂程式設計師的職業規劃》
018:《10個輕鬆上手製作的Arduino項目》
019:《手機在充電時到底是先插手機還先插電源?》
020:《學習模電的真諦》
021:《男生必學的撩妹搭訕的7個機械原理實驗》