【樹莓派基礎系列教程】9、如何使用16*2 LCD液晶顯示器

2022-01-10 DF創客社區
【點擊上方「藍字」關注DF創客社區,一起成為技術顏控】

在本教程中,詳細記錄了怎麼用樹莓派控制LCD液晶顯示器,即使對電路一無所知,按教程走也能完成配置。

16×2 LCD顯示器很簡單,不同於觸控螢幕或者普通的液晶顯示屏,最適合用來顯示簡訊息。

設備清單

本篇樹莓派LCD教程所需的設備如下。

建議材料可選材料 樹莓派16×2液晶屏的電路

看上去這個電路的內容挺多的,但只需要把顯示器和顯示器之間的線正確連接起來就可以了。

電路中的電位器是控制屏幕亮度的關鍵。如果你沒有電位器,可以嘗試將其換成電阻。如果使用電阻,可以嘗試使用5k和10k歐姆之間的電阻。在得到完美的電阻之前,可能需要嘗試幾個不同的值。

一個典型的16×2液晶顯示器有16個引腳,但並不是所有的引腳都需要使用。在這個電路中,只需要使用4條數據總線線,因為只是在4位模式下使用它。

大多數16連接器的顯示器使用HD44780控制器。這個控制器讓顯示器變得更通用,可以在多種設備上使用。例如,這個顯示器我之前在Arduino的LCD教程中使用過。

LCD的引腳布局如下:

組裝16×2 LCD

你會發現,大多數16×2顯示器沒有預焊頭針。

如果沒有排針的話,要用電烙鐵把排針焊到LCD上,沒有排針的話操作比較麻煩,焊接非常容易。

連接電路

將16×2的液晶顯示器連接到樹莓派上非常簡單,雖然會有不少線要連接起來,但並沒有什麼太複雜的地方。

在開始組裝電路之前,有一件事是應該注意的。由於我們不想讓5v的電壓反饋到Pi上(Pi的GPIO引腳的額定電壓為3v3),需要讓LCD的讀/寫引腳接地。

在下面的步驟中,引腳的物理/邏輯編號在括號中,否則就是GPIO編號。

從液晶顯示屏的1號引腳開始做以下工作,或者直接參考下面的電路圖。屏幕的1號引腳是最靠近電路板兩個邊緣的引腳。

與16×2顯示器通信的代碼

在最新版本的Raspbian上,所有與GPIO設備通信所需的軟體包都已預裝。你也應該發現已經安裝了python。

如果你的是舊版本的Raspbian,可能需要查看更多關於設置Pi使用GPIO的信息。

對Python有基本的了解會讓你的操作輕鬆很多,不過,本教程在沒有任何Python經驗的情況下應該也是可以完成的。

所需要的庫

在這個例子中,我會安裝並使用Adafruit的庫。它是為Adafruit LCD板設計的,但也可以與其他品牌的板子一起工作。如果你的顯示板使用的是HD44780控制器,那麼它作應該沒有任何問題。

首先,運行下面的命令將所需的git目錄克隆到樹莓派上。

git clone https://github.com/pimylifeup/Adafruit_Python_CharLCD.git

接下來換到剛才克隆的目錄中,運行設置文件。

cd ./Adafruit_Python_CharLCD
sudo python setup.py install

一旦安裝完成,就可以在Pi上的Python腳本中調用Adafruit庫。在Python腳本的頂部添加以下一行,就可以引入該庫。然後就可以初始化電路板並對其進行操作。

import Adafruit_CharLCD as LCD

與顯示器通信

Adafruit提供的庫與樹莓派 LCD 16×2顯示器的通信非常簡單。編寫Python腳本來設置和改變顯示屏變得非常容易。

在剛剛下載的文件夾中,有一些關於如何使用LCD庫的例子。在運行這些例子之前,要更新文件頂部的引腳變量。如果按照我的電路操作,下面的值就是正確的。

lcd_rs        = 25 
lcd_en        = 24
lcd_d4        = 23
lcd_d5        = 17
lcd_d6        = 18
lcd_d7        = 22
lcd_backlight = 4
lcd_columns = 16
lcd_rows = 2

如果你想查看其中一個例子,可以進入examples中,查看這些文件:

cd ~/Adafruit_Python_CharLCD/examples/

sudo nano char_lcd.py

在這裡更新引腳配置值到上面列出的那些。完成後,按CTRL + X然後按Y鍵退出即可。

現在運行這段代碼。

python char_lcd.py

函數和Python代碼

現在了解使用Python與屏幕交互的方法。

要初始化引腳,需要調用以下類。在調用該類之前,請確保所有作為參數傳遞的變量都被定義。

lcd = LCD.Adafruit_CharLCD(lcd_rs, lcd_en, lcd_d4, lcd_d5, lcd_d6, lcd_d7, lcd_columns, lcd_rows, lcd_backlight)

一旦完成了這些工作,就可以將顯示效果改成需要的樣子。快速介紹一些用Adafruit庫的方法。

home() – 這個方法將把光標移回原點,也就是第一行的第一列。

clear() – 這個方法可以清除LCD,使其完全空白。

set_cursor(col, row) – 本方法將光標移動到一個特定的位置。你可以通過傳遞列號和行號作為參數來指定位置。例如:set_cursor(1,4)

enable_display(enable) – 此項用於啟用或禁用顯示器。將其設置為 true 即可啟用。

show_cursor(show) – 顯示或隱藏光標。如果你想顯示光標,請將其設置為true。

blink(blink) – 打開或關閉閃爍的光標。如果您想讓光標閃爍,請再次將其設置為true。

move_left()或 move_right() – 將光標向左或向右移動一個位置。

set_right_to_left()或set_left_to_right()-設置光標的方向為從左到右或從右到左。

autoscroll(autoscroll) – 如果將autoscroll設置為true,那麼文本將從光標處右對齊。如果設置為false,則文本將左對齊。

message(text) – 簡單地將文本寫到顯示屏上。你也可以在信息中加入新的行數(\n)。

還有一些可用的方法,但你不太可能需要使用它們。如果你想找到所有可用的方法,只要打開Adafruit_CharLCD文件夾內的Ardafruit_CharLCD.py文件即可,這個文件可以在Adafruit_Python_CharLCD文件夾內找到:

sudo nano ~/Adafruit_Python_CharLCD/Adafruit_CharLCD/Ardafruit_CharLCD.py

下面是我整理的一個簡單的腳本,允許用戶輸入文字,然後顯示在屏幕上。

#!/usr/bin/python
# Example using a character LCD connected to a Raspberry Pi
import time
import Adafruit_CharLCD as LCD

# Raspberry Pi pin setup
lcd_rs = 25
lcd_en = 24
lcd_d4 = 23
lcd_d5 = 17
lcd_d6 = 18
lcd_d7 = 22
lcd_backlight = 2

# Define LCD column and row size for 16x2 LCD.
lcd_columns = 16
lcd_rows = 2

lcd = LCD.Adafruit_CharLCD(lcd_rs, lcd_en, lcd_d4, lcd_d5, lcd_d6, lcd_d7, lcd_columns, lcd_rows, lcd_backlight)

lcd.message('Hello\nworld!')
# Wait 5 seconds

time.sleep(5.0)
lcd.clear()
text = raw_input("Type Something to be displayed: ")
lcd.message(text)

# Wait 5 seconds
time.sleep(5.0)
lcd.clear()
lcd.message('Goodbye\nWorld!')

time.sleep(5.0)
lcd.clear()

如果python腳本運行時,顯示屏沒有顯示任何內容,那麼很可能是腳本中定義的引腳有問題。仔細檢查這些,也仔細檢查麵包板上的連接。

最後

本教程涵蓋了用樹莓派正確設置16×2液晶顯示屏的基本知識,它還能做很多有趣的項目。

例如,可以在啟動時啟動一個腳本,可以顯示特定的值,如IP位址,時間,溫度等等。

此外,還有大量酷炫的傳感器,可以嘗試與顯示器結合,像DS18B20溫度傳感器就可以和顯示器配合使用,只需每隔幾秒鐘更新一次顯示屏的新溫度即可。

希望本教程對你設置樹莓派LCD 16×2顯示屏有所幫助。如果在閱讀過程中發現了錯誤,或者遇到問題,請在下面留言。

- END -

相關焦點

  • 【樹莓派基礎系列教程】2、遠程連接樹莓派
    收錄於話題 #樹莓派基礎系列教程所以,想要遠程登陸到樹莓派,我們要確認4件事情:【1】你的電腦和樹莓派都已經聯網;【2】你知道樹莓派登陸的用戶名和密碼;
  • 【樹莓派基礎系列教程】1、配置和初始化樹莓派
    收錄於話題 #樹莓派基礎系列教程9個
  • 液晶顯示器是怎麼工作的呢?如何判斷液晶顯示器的質量好壞呢?
    本文來自:http://www.51touch.com/lcd/news/dynamic/2021/0114/59156.html液晶顯示器在我們的生活中處處可見。液晶顯示器是如何工作的?一塊薄薄的液晶玻璃背後,又必須有哪些強大的技術做支撐?為什麼我們購買電視的時候,經常會發現某個特定尺寸的電視扎堆上市,價格還非常便宜?
  • 看美女砸液晶 長城晶鋼G227評測(視頻)
    ,它們分別是:「晶致」Z系列,「晶鋼」G系列,「晶銘」M系列,「晶英」V系列以及「晶靈」L系列,其中「晶鋼」系列液晶顯示器是針對網吧用戶推出的,這個系列的液晶顯示器最大的特點是它們的表面都被一層鋼化玻璃所覆蓋,這樣可以有效防止顯示器脆弱的屏幕被劃傷。
  • AOC i2340V+液晶首測
    ● AOC i2340V+液晶顯示器首測    【中關村在線顯示器頻道原創】AOC在2010年中推出了採用IPS面板設計的iF系列液晶顯示器,一舉獲得了消費者的大力任何。來到2011年後,AOC更是全力主攻廣視角液晶顯示器市場,連續推出了四個系列的IPS面板液晶顯示器產品,並且全部採用了LED背光的設計,在色彩和能耗控制方面均有出色的表現。其中「愛e」系列的23英寸寬屏液晶顯示器i2340V+已經來到市場中與大家進行了近距離的接觸。
  • 奇美22VD顯示器首測
    作為知名的顯示器廠商奇美,來到2010年之後也開始生產設計並且推出了V系列的LED背光液晶顯示器產品。而在近期,奇美再推V系列LED背光新作,21.5英寸寬屏液晶顯示器22VD。    奇美的22VD液晶顯示器採用了全新風格的外觀設計,邊框和底座方面主要以黑色鋼琴漆工藝為主,整體凸顯了時尚穩重的氣息。
  • 51單片機-LCD1602液晶顯示模塊
    通過該講,讀者可以掌握LCD1602 液晶的工作原理和如何通過單片機來驅動LCD1602 液晶。一、原理簡介液晶顯示模塊具有體積小、功耗低、顯示內容豐富、超薄輕巧等優點,在嵌入式應用系統中得到越來越廣泛的應用,這講中向大家介紹的LCD1602 液晶顯示模塊(其內部控制器為HD44780晶片),它可以顯示兩行,每行16 個字符,因此可相當於32 個LED數碼管,而且比數碼管顯示的信息還多。
  • Arduino 課時七:控制LCD1602液晶顯示屏
    ,具有2行16列,最多可以顯示32個字符。二.程序設計:lcd.init():初始化LCD;lcd.backlight():開啟LCD背光;lcd.print():液晶輸出;lcd.setCursor():設置液晶開始顯示的位置。
  • TFT LCD液晶顯示器工作原理
    而液晶顯示器就是利用這個特性來完成的。利用上下兩片柵欄互相垂直的偏光板之間,充滿液晶,再利用電場控制液晶轉動,來改變光的行進方向,如此一來,不同的電場大小,就會形成不同灰階亮度了。b-2:當在加上電極後(最大電極),液晶分子在受到電場的影響下,都站立著,光路沒有改變,光就無法通過上偏光板,也就無法顯示,如圖(七)藍色濾光片下面的液晶。 上下兩層玻璃與配向膜
  • 長沙三星S22F350液晶顯示器 特價649元
    該機回收全新三星濾藍光不閃屏,為您的健康視野情況提供高級此外保駕護航,無論屏幕亮度如何改變,三星不閃屏都可提供平穩的畫面輸出。16:9(寬屏)高清標準1080p(全高清)面板類型TN背光類型LED背光靜態對比度1000:1灰階響應時間5ms亮度200cd/㎡可視面積476.64×268.11mm可視角度170/160°顯示顏色16.7M色域NTSC:72%控制方式按壓按鍵語言菜單英文,德語,法語,義大利語,西班牙語,俄語,葡萄牙語,土耳其語,簡體中文視頻接口D-Sub(VGA),HDMI機身顏色黑色外觀設計9.9mm超薄機身設計產品尺寸
  • 1602液晶資料大全
    1602LCD是指顯示的內容為16X2,即可以顯示兩行,每行16個字符液晶模塊(顯示字符和數字)。市面上字符液晶大多數是基於HD44780液晶晶片的,控制原理是完全相同的,因此基於HD44780寫的控制程序可以很方便地應用於市面上大部分的字符型液晶。
  • lcd1602接線圖_lcd1602與單片機連接圖
    lcd1602液晶屏是一種圖形點陣顯示器,顯示原理簡單易懂,都是液晶屏內部的液晶材料變化而顯示不同的字符,因為液晶是具有流動特性的物質,所以只需外加很微小的力量即可使液晶分子運動,以最常見普遍的向列型液晶為例,液晶分子可輕易的借著電場作用使得液晶分子轉向,由於液晶的光軸與其分子軸相當一致,故可藉此產生光學效果,而當加於液晶的電場移除消失時,液晶將借著其本身的彈性及黏性,液晶分子將十分迅速的回撤消來未加電場前的狀態
  • 用正確的姿勢使用LCD液晶顯示器,讓CRT躺在沙灘上吧
    以 1024×768@75Hz 為例,所需的視頻帶寬為(1024×125%) * (768×108%) * 75 ≈ 76M大多數低端CRT顯示器的視頻帶寬在100M上下,而實驗室中使用的高端CRT顯示器(美格796FD系列和索尼GDM-FW900 等)的帶寬可達200M及以上。支持1600*1200*160的高解析度和高刷新率。
  • 「作弊器」至尊 華碩27吋顯示器熱賣中
    點擊進入商城    華碩PG278Q採用27英寸16:9 TN面板,動態對比度高達1億:1,灰階段響應時間為1ms,亮度350cd/㎡,顯示顏色16.7M華碩PG278Q華碩 ROG PG278Q產品類型LED顯示器產品定位電子競技屏幕尺寸27英寸屏幕比例16:9(寬屏)最佳解析度2560x1440面板類型TN背光類型LED背光動態對比度1
  • 顯示器報價 9.16
    > 三星(SAMSUNG)S22D300NY 21.5英寸LED背光液晶顯示器610元三星(SAMSUNG)S22E360H 21.5英寸LED液晶顯示器(白色)675元三星(SAMSUNG)S22E390HL 21.5英寸LED液晶顯示器(黑色)680元三星(SAMSUNG)S24D300H 24英寸LED背光液晶顯示器699元(斷貨)
  • 福韻新品 三星19寸LED液晶顯示器僅890
    三星全新的福韻S19B360BW液晶顯示器目前已經到貨賣場,該顯示器擁有19英寸屏幕,LED背光設計不僅給我們帶來外觀的美感,而且在性能上足以滿足學生以及家庭類用戶。目前經銷商售價僅為890元,感興趣的朋友不妨關注下。
  • 樹莓派GPIO入門11-驅動液晶屏幕(一)
    本系列將驅動一塊1.44"的128x128像素的彩色液晶屏幕。並分幾個篇幅分別講述如何使其顯示色塊,英文數字,漢字以及圖片。
  • Arduino基礎入門篇32—LCD1602驅動庫的使用
    安裝庫「LiquidCrystal」是Arduino的液晶驅動庫,使用它能很方便的驅動常用液晶顯示模塊。其詳細介紹請參考官網介紹「https://www.arduino.cc/en/Reference/LiquidCrystal」。一般下載的Arduino IDE會自帶此庫,也可以在管理庫中查找添加。
  • 如何選購顯示器? - 基礎知識
    ★目錄《如何選購顯示器?》是一系列文章,本文是第2篇,完整的文章請看:1.
  • 筆記本電腦當作樹莓派的顯示器
    有人看了我的文章後開始刷機(刷系統),刷完機依舊不知道如何是好,然後又開始用 putty 嘗試連接樹莓派,連接上以後,面對一個黑漆漆的窗口一臉懵逼。。。畢竟只有少部分人有編程基礎,大部分人都習慣了Windows 系統,有界面窗口的操作。