广告

五分鐘搞定Arduino I2C LCD Display

2019-1-7 19:01 1044 3 2 分类: MCU/ 嵌入式

對於不懂的Firmware的人要進入Firmware的世界真的很難,現在有一種工具很快就讓人上手使用,我今天要介紹的就是Arduino UNO + I2C LCD模組。


什麼是Arduino?

圖一  Arduino UNO

Arduino,是一個開放原始碼單晶片微控制器,它使用了Atmel AVR單片機,採用了基於開放原始碼的軟硬體平台,建構於簡易輸出/輸入(simple I/O)介面板,並且具有使用類似JavaC語言的Processing/Wiring開發環境。 【資料來自於維基百科】

請參考: https://zh.wikipedia.org/wiki/Arduino

製作這個專題需要下列工具:

1. Arduino UNO 硬體如【圖一】

    購買可以參考下列網址

    www.arduino.cc

    http://goods.ruten.com.tw/item/qa?21528035088631

2. Arduino IDE 開發環境

    www.Arduino.cc

圖二 Arduino 首頁


3. Notepad++ 文書編輯軟體

  https://notepad-plus-plus.org/

圖三 Notepad++首頁


4. IIC IO 板 + 1602 LCD模組

圖四 IIC LCD模組與Arduino UNO接線圖

什麼是IIC?

I²CInter-Integrated Circuit)是內部整合電路的稱呼,是一種串列通訊匯流排,使用內送流量備援容錯機制從架構,由飛利浦公司在1980年代為了讓主機板嵌入式系統手機用以連接低速週邊裝置而發展。I²C的正確讀法為"I-squared-C" ,而"I-two-C"則是另一種錯誤但被廣泛使用的讀法。截至2006年11月1日為止,使用I²C協定不需要為其專利付費,但製造商仍然需要付費以獲得I²C從屬裝置位址。

【請參考維基百科】

https://zh.wikipedia.org/wiki/I%C2%B2C


圖五 IIC的架構示意圖


圖六 Arduino的程式基本架構

開機之後的基本設定寫在setup() 函數內 這裡的程式碼只有執行一次。

然後一直循環的程式碼寫在loop()函數內。

圖七 LCD 範例


本專案必須使用下列驅動

#include  // IIC communication 

#include  // LCD


Wire.h 負責IIC通信

LiquidCrystal_I2C.h 負責 IIC LCD的控制。


LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);  // Set the LCD I2C address


void setup()

{

//*************************

    //****** LCD setting ********

//*************************

  lcd.begin(16,2);         // initialize the lcd for 20 chars 4 lines, turn on backlight

  lcd.backlight(); //點亮背光

  // Print a message to the LCD.

  lcd.setCursor(2, 0); //設定游標在第2列第0行

  lcd.print("Hello !! ");

  lcd.setCursor(2, 1);

  lcd.print("I am IIC LCD");

}

void loop() {



}



基本上寫這幾行程式就可以讓LCD顯示文字了。


# 1602 LCD

# LCD 1602

# IIC

# Arduino

# arduino

# I2C


广告

文章评论 1条评论)

登录后参与讨论

kbcell9 2019-1-8 08:40

哇,这个资料很好,可惜图片都看不到
相关推荐阅读
阿衛 2019-01-07 18:59
五分鐘搞定Arduino控制SPI
什麼是SPI?https://en.wikipedia.org/wiki/Serial_Peripheral_Interface_BusSPI 是一種四線制串列匯流排介面,為主/從結構,四條導線分別為...
阿衛 2019-01-07 18:55
如何使用Arduino 替代 NI USB-6501 DAQ
#Arduino#DAQ#Labview#Arduino UNO#NI USB-6501如何使用Arduino 替代 NI USB-6501 DAQ所需的硬體以及軟體如下:Ardu...
阿衛 2019-01-07 18:53
使用Arduino 來偵測Rotary Encoder
# Arduino# Rotary Encoder# Interrutp# Ext interrupt# Arduino for Encoder# Arduino for Rotary# 兩個剪貼搞定...
阿衛 2019-01-07 18:50
使用Arduino 尋找裝置的I2C 地址
#Arduino #Arduino UNO #Arduino MEGA2560 #Arduino DUE #I2C #IIC #I2C LCD #1602 LCD #LCD這裏我先用一張圖來解釋Ard...
我要评论
1
3
广告