色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
電子發燒友網>電子資料下載>電子資料>帶Arduino Uno的I2C 16x2 LCD接口(僅4線)

帶Arduino Uno的I2C 16x2 LCD接口(僅4線)

2022-10-18 | zip | 0.97 MB | 次下載 | 免費

資料介紹

描述

Arduino Uno 接口 I2C 16x2 LCD

在本文中,我將連接 16x2 I2C LCD 與 Arduino Uno。在我之前的文章中討論了 16x2 LCD 與 Arduino Uno 的接口區別在于電線的數量。我們需要超過 12 根電線。但這里只使用 4 根線。如何 ?!!!!!!在我使用并行通信方法將 LCD 與 Arduino 連接之前。但現在我正在使用 I2C 通信。

這個怎么運作 ?

這里我使用了我之前文章中相同的 16X2 LCD。但另外將 I2C 模塊連接到 16x2 LCD。它充當 LCD 和 MCU(此處為 Arduino)之間的中介。

在開始之前,您必須了解 I2C 串行接口適配器(I2C 模塊)I2C 通信I2C LCD 的地址

I2C 通信

introduction-to-i2c-data-transmission-diagram-data-frame_0jawVJbo0r.png?auto=compress%2Cformat&w=740&h=555&fit=max
I2C 通信
?

I2C 是 Inter-IC 的縮寫。它是一種BUS。這是飛利浦半導體設計的。I2C 是一種同步、多從機、多主機分組交換、單端串行總線。IE。多個芯片可以連接到同一總線。I2C 僅使用兩條雙向開集或開漏線,串行數據線(SDA)和串行時鐘線(SCL),通過電阻上拉。使用的典型電壓為 +5 V 或 +3.3 V,但允許使用其他電壓的系統。有關 I2C 協議的更多信息,請單擊此處

I2C 串行接口適配器

ic2_serial_interface_lcd_module_1_1_1_(1)_T2vWMivPjD.jpg?auto=compress%2Cformat&w=740&h=555&fit=max
I2C 串行接口適配器
?

它也被稱為 I2C 模塊。它共有 20 個公插針。16 個引腳面向后側,4 個引腳面向前側。用于連接 16x2 LCD 的 16 個引腳,4 個引腳中的 2 個引腳是 SDA 和 SCL。SDA 是串行數據引腳,SCL 是時鐘引腳。其余 2 個引腳用于電源(Vcc 和接地)。I2C 模塊上有一個 POT。我們可以通過旋轉這個 POT 來控制 LCD 顯示屏的對比度。并且模塊上固定有一個跳線。當我們移除跳線時,LCD 顯示屏的背光將熄滅。

I2C LCD地址

在開始之前,我們需要了解 I2C 設備的尋址。每個可以連接到 MCU 的設備都有一個地址。我們需要知道這個地址才能與該特定設備進行通信。

您可以在 I2C 模塊上看到三個焊盤。標記為 A0、A1 和 A2。這是地址選擇器。即,每個焊盤具有一個上部分和一個下部分。如果上藥水與下藥水之間存在連接,則稱為“已連接”,否則稱為“未連接”。當 A0、A1、A2 處于“未連接”狀態(A0 = 0、A1 = 0、A2 = 0)時,地址將為 0x27。默認情況下,A0、A1、A2 處于“未連接”狀態。有時默認地址是0x3F。當我們只使用一個 LCD 時,無需更改 I2C 模塊的地址。但是當我們使用多個 LCD 時,需要更改地址。因為兩個或多個不同的設備不能與同一個地址通信。

i2c_adress_table_DZwgPNt9oR.jpg?auto=compress%2Cformat&w=740&h=555&fit=max
?

步驟1

如果您已經知道 LCD 的地址,請跳過此步驟 - 1 和步驟 -2

在某些情況下A0、A1、A2處于“未連接”狀態,但地址不是0x27。我們無法與此地址通信。所以我們需要找到那個設備的原始地址。為此,我們需要使用“I2C 掃描儀”代碼運行 Arduino。

I2C 掃描器代碼

I2C Scanner 代碼用于查找 I2C 設備的數量和 I2C 設備的地址。首先添加包含“Wire.h”庫的頭文件。然后在設置部分,通過“Wire.begin()”開始“Wire”庫。然后通過“Serial.begin()”以 9600 的波特率啟動串行監視器。接下來在循環部分,定義兩個數據類型為“byte”的變量,分別命名為“error”和“address”。然后使用名為“Devices”的“Integer (int)”數據類型定義另一個變量。并將初始值設置為 0。接下來開始一個 for 循環,最小值為 1,最大值為 127。“地址”用作循環變量。接下來使用函數“Wire.beginTransmission()”輸入要連接的地址。i2c_scanner 使用“Write. 然后僅當地址<16 時才將特定地址打印到串行監視器。這里我們以十六進制打印地址。打印指令為“Serial.print(address, HEX)”。并計算設備。然后僅當地址<16 時才將特定地址打印到串行監視器。這里我們以十六進制打印地址。打印指令為“Serial.print(address, HEX)”。并計算設備。完整的 I2C 掃描儀代碼如下所示

#include <Wire.h>
void setup()
{
Wire.begin();
Serial.begin(9600);
Serial.println("\nI2C Scanner");
}
void loop()
{
byte error, address;
int Devices;
Serial.println("Scanning...");
Devices = 0;
for(address = 1; address < 127; 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("  !");
Devices++;
}
else if (error==4)
{
Serial.print("Unknown error at address 0x");
if (address<16)
Serial.print("0");
Serial.println(address,HEX);
}
}
if (Devices == 0)
Serial.println("No I2C devices found\n");
else
Serial.println("done\n");
delay(5000);          
}

將 I2C 掃描儀代碼上傳到 Arduino Uno。

第2步

如果您有 I2C LCD,請跳過此步驟。但如果您有 16x2 LCD 和 I2C 模塊,請參閱將此模塊連接到 LCD 的步驟。

聯系

首先焊接 I2C 模塊。I2C 模塊上沒有用于連接 16x2 LCD 的標簽所以在下面給出的圖像的幫助下焊接它

i2clcd_1oCPuO9l9f.png?auto=compress%2Cformat&w=740&h=555&fit=max
16x2 LCD 上的 I2C 模塊
?

焊接后將 I2C 模塊連接到 Arduino Uno。

Arduino Uno I2C 模塊

模擬引腳 4 - SDA

模擬引腳 5 - SCL

5V - Vcc

地 - 地

將 Arduino 連接到計算機。

接下來從 Arduino IDE 右上角的圖標打開串行監視器。并將波特率設置為9600。請確保端口正確。然后您可以在串行監視器中看到 LCD 的地址,如下所示

i2c_lcd_(2)_pn4Y4HF7c5.jpg?auto=compress%2Cformat&w=740&h=555&fit=max
?
最后我們找到I2C LCD的地址。那是 0x27

步驟 - 3

接下來我將在我們的 I2C LCD 上顯示一個文本。

在此之前需要向 Arduino IDE 添加一個庫。轉到鏈接下載庫 Arduino-LiquidCrystal-I2C-library。然后打開 Arduino IDE 并轉到Sketch>Include Library> Add.ZIP Library 接下來選擇下載的 ZIP 文件并單擊打開。

第4步

接下來創建草圖。首先,我包含標題“Wire.h”。該庫有助于與 I2C 設備進行通信。然后包括“LiquidCrystal_I2C.h”以更好地與顯示器通信。

#include  
#include 

步驟 - 5

接下來使用函數“LiquidCrystal_I2C lcd() 設置地址、列數和行數。地址為 0x27(使用 I2C Scanner Code 發現)。列數為 16,行數為 2。之后,我們可以使用“lcd”調用顯示器。您也可以將多個 I2C LCD 與 Arduino Uno 一起使用。但為每個顯示器設置不同的地址和變量。

LiquidCrystal_I2C lcd(0x27, 16, 2);

步驟 - 6

接下來對設置部分進行編碼。首先使用函數“lcd.begin()”初始化顯示。如果你有另一個顯示器初始化它們。

lcd.begin();

步驟 - 7

接下來使用函數“lcd.backlight()”打開背光。

lcd.backlight();

步驟 - 8

接下來使用指令“lcd.clear()”清除 lcd。然后將光標設置到位置 (4, 0)。

lcd.clear();
lcd.setCursor(4,0);

步驟 - 9

現在 LCD 已準備好打印。光標位于第 4 列(從 0 開始計數)和第 0 行(從 0 開始計數)。然后通過函數“lcd.print()”打印消息“Hackster”。

lcd.print("Hackster");

然后將循環部分留空。

編程完成。將草圖上傳到 Arduino 并在 LCD 上查看消息。 完整的代碼在本文的代碼部分給出

請不要復制粘貼我的代碼。嘗試逐行理解代碼并創建自己的草圖。

您可以在這里加入我們的電報群或搜索 INNOVATION。硬件或編程有任何疑問,請隨時在我們的電報群中提問。

跟著我,

Instagram :五伏特玩家

聯系方式:akshayjoseph666@gmail.com

在評論框中分享您的經驗和建議。

以前的文章:

與 Arduino Uno 接口 16x2 LCD(并行接口)非接觸式門鈴、與 Arduino Uno接口藍牙模塊 (HC-05)、自動水龍頭、自動洗手液、與 Arduino Uno 接口超聲波傳感器與 Arduino Uno 和按鈕控制伺服電機帶有 Arduino Uno 和 POT 的控制伺服電機,帶有 Arduino Uno 的伺服電機接口,具有保存先前狀態的紅外控制家用電器,非接觸式洗手定時器


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數據手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
主站蜘蛛池模板: 美女内射少妇一区二区四区| 国产成人拍精品免费视频爱情岛| 免费的av不用播放器的| 成人免费无毒在线观看网站| 一本久道久久综合狠狠躁AV| 日本一本免费线观看视频| 久久精品国产色蜜蜜麻豆国语版| 大香伊人中文字幕精品| 777琪琪午夜理论电影网| 亚洲精品电影久久久影院| 人妻夜夜爽天天爽三区麻豆AV网站| 精品久久久噜噜噜久久7| 国产AV在线传媒麻豆| a级成人免费毛片完整版| 伊人久久精品中文字幕| 午夜宅宅伦电影网| 日韩人妻无码精品-专区| 男女爽爽无遮挡午夜视频在线观看 | 快播最新电影网站| 挤奶门事件完整照片| 国产精品…在线观看| 边做边爱免费视频| bbwvideoa欧美老妇| 91九色精品国产免费| 在线欧美免费人成视频| 亚洲一区在线视频观看| 亚洲国产三级在线观看| 亚洲 欧美 日韩 精品 自拍 | 亚洲国产成人精品无码区APP| 视频一区国产| 少妇仑乱A毛片| 色噜噜视频影院| 日日噜噜夜夜狠狠扒开双腿| 欧洲电影巜肉欲丛林| 女教师苍井空体肉女教师S242| 美女夫妻内射潮视频| 免费的好黄的漫画| 欧美人禽Zozo动人物杂交| 欧美残忍xxxx极端| 青青草原在线新免费| 热久久2018亚洲欧美|