0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Adafruit RGB LCD防護(hù)罩的制作

454398 ? 來源:網(wǎng)絡(luò)整理 ? 作者:網(wǎng)絡(luò)整理 ? 2019-11-29 11:24 ? 次閱讀

概述

這種新的Adafruit防護(hù)罩使使用16x2字符LCD變得容易。我們非常喜歡在商店購買的LCD系列產(chǎn)品,例如經(jīng)典的藍(lán)色和白色以及精美的 RGB負(fù)和 RGB正。不幸的是,這些LCD確實(shí)需要大量的數(shù)字引腳,其中6個(gè)用于控制LCD,然后可能另外3個(gè)用于控制RGB背光,總共需要9個(gè)引腳。這是經(jīng)典Arduino上可用引腳的一半!

考慮到這一點(diǎn),我們希望使人們更輕松地將這些LCD納入他們的項(xiàng)目,因此我們設(shè)計(jì)了一個(gè)防護(hù)罩,讓您可以控制 16x2字符LCD,最多3個(gè)背光引腳和5個(gè)鍵盤引腳,僅使用Arduino上的兩個(gè)I2C引腳即可! 最好的部分是您也不會丟失這兩個(gè)引腳,因?yàn)槟梢哉迟Ni2c-傳感器,RTC等,并讓它們共享I2C總線。這是添加顯示器的一種超級巧妙的方法,無需所有布線麻煩。

此盾非常適合您要使用其自己的用戶界面構(gòu)建獨(dú)立項(xiàng)目時(shí)使用。 4個(gè)方向按鈕加選擇按鈕允許基本控制,而無需連接笨重的計(jì)算機(jī)。該防護(hù)罩是為“經(jīng)典” Arduino(如Uno,Duemilanove,Diecimilla等)設(shè)計(jì)的,并使用Analog 4和I2C上的I2C引腳。 Analog5。它將與Arduino Mega R3完美配合。早期的Mega的I2C引腳位于不同的位置,將需要您焊接屏蔽板上I2C引腳的兩條線,然后將它們插入不同的I2C位置。

該屏蔽層無法輕松地安裝在Arduino以太網(wǎng)上,因?yàn)橐蕴W(wǎng)插孔的高度。您可以使用一組堆疊式接頭使屏蔽罩在千斤頂上方有更多的“提升”。

零件清單

檢查以確保您的套件隨附以下零件。有時(shí)我們會出錯(cuò),因此請仔細(xì)檢查所有內(nèi)容并在需要更換時(shí)發(fā)電子郵件[受電子郵件保護(hù)]!

1)電阻該套件中共有5個(gè)電阻。對于PCB上標(biāo)有R1和R2的電阻器,它們是1/4W 5%4.7K電阻器( 黃色,紫紅色,金色)。對于PCB上標(biāo)有紅色和藍(lán)色的電阻,它們是 1/4W 5%220歐姆電阻( 紅色,紅色,棕色,金色)。對于PCB上標(biāo)有GREEN的電阻,它是一個(gè)1/4W 5%330歐姆電阻( 橙色橙色棕金色)。

2)電位器

有一個(gè)10k的微調(diào)電位器。這部分將進(jìn)入RESET按鈕附近標(biāo)記為Contrast的位置。 注意:底池可能是藍(lán)色而不是橙色。

3)按鈕共有6個(gè)6mm觸覺開關(guān)按鈕。這些將在PCB的UP,DOWN,LEFT,RIGHT,SELECT和RESET位置中使用。

4)i2c端口擴(kuò)展器芯片套件中有這些MCP23017 i2c(16個(gè)輸入/輸出)端口擴(kuò)展器芯片之一。這就是我們只能使用2個(gè)Arduino引腳來運(yùn)行整個(gè)LCD和按鈕的方式。單擊此處以獲取有關(guān)此芯片的更多信息。

5)男性排針套件中有36條公排針。這些將用于將屏蔽層連接到Arduino,以及將LCD附著到PCB。

6)印刷電路板套件中將如上所述有一塊PCB。

其他您需要將LCD放置在防護(hù)罩中。默認(rèn)情況下不包括此功能,因?yàn)樵S多人已經(jīng)擁有可能要使用的LCD。 (我們確實(shí)以包裝的形式出售這些產(chǎn)品,因此您可能會在訂購時(shí)得到LCD)。

您還可以使用16x2 LCD甚至是與OLED尺寸相同的OLED。沒有RGB背光,或者根本沒有背光。

我們帶有負(fù)型或正型LCD。

程序集

《表類=“ build-table”》

檢查針對零件清單的工具包,以驗(yàn)證您是否擁有所有必需的零件

將印刷電路板放入虎鉗或電路板支架中,加熱烙鐵并確保準(zhǔn)備就緒!

我們將從第一個(gè)電阻 R1 開始-黃色,紫色,紅色,金色的條紋。該電阻器是Arduino和控制LCD的“端口擴(kuò)展器”之間的接口的一部分。

將電阻器彎曲成“釘書釘”并將其滑入標(biāo)有 R1 的插槽中》在PCB上。電阻沒有方向,因此您可以以“任一種方式”放置它,并且可以找到它。

彎曲電阻器的“腳”,使其與PCB平齊并翻轉(zhuǎn)。

這種方式

加熱烙鐵并準(zhǔn)備就緒后,將電阻的兩根引線焊接起來。為此,請同時(shí)加熱圓環(huán)墊和導(dǎo)線2到3秒鐘,然后將焊料的末端浸入加熱的接縫中以使其熔化。

然后移走焊錫和烙鐵。

焊接完成后,我們可以通過修剪電阻器的引線來進(jìn)行清理。這可以防止它們短路。使用對角線或平頭切割器將導(dǎo)線夾在焊點(diǎn)末端的正上方。

由于您使用了第一個(gè)電阻,所以我們現(xiàn)在將所有其余電阻同時(shí)放置。 R2 是4.7K電阻就像 R1 (黃色,紫羅蘭,紅金)一樣,先放置一個(gè)

下一步,您可以制作兩個(gè)220歐姆電阻 RED 和 BLUE -之所以命名,是因?yàn)樗鼈兪荓CD上RGB背光的背光串聯(lián)電阻。這些電阻器的顏色為紅色紅色棕色金色。它們看起來與330歐姆電阻非常相似,因此請仔細(xì)檢查是否有紅帶電阻。

最后,將剩余的330歐姆電阻(橙色,橙色,棕色,金色)放入 GREEN 點(diǎn)。綠色的LED可能比RGB背光中的紅色或藍(lán)色更亮,因此需要更大的電阻來平衡它。

請確保所有電阻器在PCB上都放置良好且平坦。

像第一個(gè)電阻一樣焊接電阻。

剪切所有線索。

下一步,我們將放置按鈕。這些按鈕對于將信號發(fā)送到Arduino很有用(例如,如果您有基本的菜單系統(tǒng))。我們有一個(gè)用于向上/向下/向左/向右輸入的四向“方向盤”,以及一個(gè)位于右側(cè)的按鈕,稱為“選擇”。這5個(gè)按鈕應(yīng)該可以使與項(xiàng)目的“交談”變得容易。這些都連接到I2C端口擴(kuò)展器芯片,因此它們在Arduino上不需要任何額外的引腳,我們的庫完成了讀取是否被按下的工作。

最右邊的按鈕是RESET按鈕。 ,當(dāng)您想重置整個(gè)系統(tǒng)時(shí)。

所有按鈕都相同,應(yīng)該很好地卡入到位。向下按每個(gè)按鈕,直至其卡入并平放在PCB上。

翻轉(zhuǎn)PCB并檢查按鈕的所有支腳都伸出。

焊接每條腿,注意不要意外地將兩個(gè)紐扣腿“短接”在一起。方向盤的位置非常接近!

我們快完成了!現(xiàn)在,我們將放置I2C端口擴(kuò)展器芯片。仔細(xì)檢查其上是否有 MCP23017-E/SP 標(biāo)記。這是一個(gè)16針擴(kuò)展器芯片,使用i2c總線。這意味著您可以使用Arduino上的i2c引腳發(fā)送命令,并控制16個(gè)以上的數(shù)字引腳!這些引腳中的5個(gè)進(jìn)入按鈕,6個(gè)進(jìn)入LCD控制,另外3個(gè)用于背光(其余2個(gè)未使用)。

與按鈕或電阻不同,芯片的確具有方向性和必須性。以正確的方式擺放!首先,使用平整的桌子小心地彎曲芯片的腿,使它們平行。然后將其滑入絲網(wǎng)印刷的輪廓中,以使芯片末端的凹槽位于 right 上。單擊左側(cè)的圖像,以完全確保您以正確的方式獲得它。確定后,將芯片按入到位。

下一步,將10K電位器(三腳橙色面)放在RESET按鈕上方的位置。它只適合一種方式。這是對比度電位器,它將調(diào)節(jié)字符顯示的暗度。所有顯示器都略有不同,因此一旦焊接好顯示器,您將對其進(jìn)行調(diào)整。

該套件可能帶有兩個(gè)電位器-一個(gè)大藍(lán)色用于電位計(jì),而另一個(gè)小橙色用于電位計(jì)。屏蔽套件。您可以扔掉或回收藍(lán)色的,這里只使用橙色的!

翻轉(zhuǎn)PCB并焊接電位計(jì)的三個(gè)支腳,然后焊接端口擴(kuò)展器的所有28個(gè)引腳。

拿一根36針接頭,將10針,8針和兩個(gè)6針分開

Place Arduino上的標(biāo)頭,如果您有R2或更早版本的arduino,將有兩個(gè)引腳“懸空”經(jīng)過AREF 爆發(fā)。這兩個(gè)額外的引腳用于R3和更高版本的Arduino經(jīng)典版本以及Mega,使連接I2C引腳更容易。我們建議保留這兩個(gè)引腳,以防萬一您升級‘duino。

將防護(hù)板放在頂部。它應(yīng)該完全適合集管箱的所有短端都適合于屏蔽層孔的位置。

要使其平放,您可能需要將按鈕的腿向下夾-它們會干擾按鈕的腿部。 DC插孔,稍微抬起屏蔽。

焊接所有標(biāo)題針腳。即使它們不用于傳遞信號,它們也會使與Arduino的機(jī)械連接牢固。

然后,檢查是否具有RGB LCD(帶18針)或單色顯示器(非RGB,帶16針)。

如果您具有RGB 18針顯示器,請斷開18針接頭連接器條并將其長端向下放入LCD放置槽。

如果您具有16針單色顯示屏,請斷開16針接頭連接器條,并將其長端向下放入LCD放置槽中,以使最右邊的兩個(gè)插針為空。

現(xiàn)在,您可以選擇所需的16x2 LCD并將其放在頂部。對于我們庫存的RGB液晶顯示器,有兩行連接,只需確保它與屏蔽罩上的輪廓絲印相匹配,就可以了。

如果您的液晶顯示器沒有RGB背光燈或沒有背光燈,您可能必須縮短標(biāo)題的長度(請參見上一步),直到匹配為止,并確保LCD可以適合絲網(wǎng)印刷輪廓。

如果您已經(jīng)焊接了所有18個(gè)引腳,但您有一個(gè)16或14引腳的LCD,只需切斷最右邊的引腳頂部直至其適合。

將所有引腳焊接到LCD顯示屏。

翻轉(zhuǎn)屏蔽并將其平放在

焊接每個(gè)表頭支腿。

完成通過仔細(xì)修剪線索來實(shí)現(xiàn)。對于某些Arduino,長引線可能會干擾Arduino板上的接頭或零件,因此我們建議將它們?nèi)考舻?。小心做,因?yàn)檫@些切割起來有點(diǎn)困難,并且可能會飛向您。我們建議在垃圾桶上這樣做。

您已完成!

查看下一頁的操作方法使用盾牌和庫。

Arduino用法

防護(hù)罩非常易于使用。連接了所選的LCD后,將其插入Arduino并從github下載我們的庫。包含的示例顯示了如何使用RGB背光控件以及如何從鍵盤讀取數(shù)據(jù)。

下載庫

要與LCD和按鈕進(jìn)行交互,您必須使用我們的庫,該庫通過端口擴(kuò)展器轉(zhuǎn)換命令

打開Arduino庫管理器:

搜索 Adafruit RGB LCD Shield 庫并安裝

我們也有有關(guān)Arduino庫安裝的很棒的教程,位于:

http://learn.adafruit.com/adafruit-all-about-arduino-libraries-install-use

調(diào)整對比度該防護(hù)罩使用帶有外部對比度電位計(jì)的字符LCD。首次使用時(shí),請調(diào)整右下角的電位器,直到清晰看到文字為止。如果您不將代碼上傳到Arduino,則會出現(xiàn)一些框

如果您在LCD上看不到任何文字,請務(wù)必嘗試扭曲橙色的對比度電位計(jì),直到出現(xiàn)文字為止。您可能必須將其從一側(cè)一直轉(zhuǎn)到另一側(cè),直到看到文本

共享引腳 I2C引腳與其他引腳共享,并且每種Arduino類型都有不同的共享方案。使用此屏蔽時(shí),這些引腳不能用于I2C以外的任何其他功能!

Uno /Duemilanove/Diecimila-I2C引腳也與模擬4引腳相同和模擬5

巨型 1280和2560-I2C引腳也與數(shù)字20 和 21

Leonardo 和其他基于32u4的I2C引腳也與 Digital 2 和 3

編寫自己的草圖 Adafruit_RGBLCDShield 庫是Arduino隨附的 LiquidCrystal 庫的派生類,因此您可以調(diào)用您習(xí)慣的任何函數(shù),它們的作用相同。是您可能想使用的兩個(gè)額外功能。一個(gè)是 lcd.setBacklight( color ); (如果您已打開RGB LCD,則會更改背光顏色)。目前,該庫在RGB背光上不執(zhí)行任何PWM,因此您可以從8種不同的顏色中選擇(包括OFF)-如果將這些#define放置在草圖的頂部,則可以簡單地調(diào)用所需的任何顏色出現(xiàn)。

下載:文件

復(fù)制代碼

// These #defines make it easy to set the backlight color

#define OFF 0x0

#define RED 0x1

#define YELLOW 0x3

#define GREEN 0x2

#define TEAL 0x6

#define BLUE 0x4

#define VIOLET 0x5

#define WHITE 0x7 // These #defines make it easy to set the backlight color

#define OFF 0x0

#define RED 0x1

#define YELLOW 0x3

#define GREEN 0x2

#define TEAL 0x6

#define BLUE 0x4

#define VIOLET 0x5

#define WHITE 0x7

盾牌的另一個(gè)附加功能是4向方向鍵盤和選擇按鈕。這將使您可以為“獨(dú)立” Arduino項(xiàng)目設(shè)計(jì)自己的控制界面。當(dāng)您調(diào)用 lcd.readButtons(); 時(shí),將立即讀取所有按鈕,這將返回一個(gè)為按鈕設(shè)置了單獨(dú)位的變量。您可以通過按位&輕松地測試在readButtons()調(diào)用時(shí)按下了哪些按鈕,如此代碼段所示。

請注意,該庫在內(nèi)部處理按鈕的反跳操作。 無需在代碼中對按鈕進(jìn)行反跳。

下載:文件

復(fù)制代碼

uint8_t buttons = lcd.readButtons();

if (buttons) {

if (buttons & BUTTON_UP) {

lcd.setBacklight(RED);

}

if (buttons & BUTTON_DOWN) {

lcd.setBacklight(YELLOW);

}

if (buttons & BUTTON_LEFT) {

lcd.setBacklight(GREEN);

}

if (buttons & BUTTON_RIGHT) {

lcd.setBacklight(TEAL);

}

if (buttons & BUTTON_SELECT) {

lcd.setBacklight(VIOLET);

}

} uint8_t buttons = lcd.readButtons();

if (buttons) {

if (buttons & BUTTON_UP) {

lcd.setBacklight(RED);

}

if (buttons & BUTTON_DOWN) {

lcd.setBacklight(YELLOW);

}

if (buttons & BUTTON_LEFT) {

lcd.setBacklight(GREEN);

}

if (buttons & BUTTON_RIGHT) {

lcd.setBacklight(TEAL);

}

if (buttons & BUTTON_SELECT) {

lcd.setBacklight(VIOLET);

}

}

與單色顯示器一起使用帶有單色背光的顯示器由RED引腳控制,并且只會響應(yīng)其中帶有RED的顏色(紅色,黃色,紫色)。對于這些顯示,您可以使用ON和OFF代替,如下面的代碼片段所示:

下載:文件

復(fù)制代碼

uint8_t buttons = lcd.readButtons();

if (buttons) {

lcd.clear();

lcd.setCursor(0,0);

if (buttons & BUTTON_UP) {

lcd.print(“UP ”);

lcd.setBacklight(ON);

}

if (buttons & BUTTON_DOWN) {

lcd.print(“DOWN ”);

lcd.setBacklight(OFF);

} uint8_t buttons = lcd.readButtons();

if (buttons) {

lcd.clear();

lcd.setCursor(0,0);

if (buttons & BUTTON_UP) {

lcd.print(“UP ”);

lcd.setBacklight(ON);

}

if (buttons & BUTTON_DOWN) {

lcd.print(“DOWN ”);

lcd.setBacklight(OFF);

}

單獨(dú)使用如果您要斷開屏蔽與Arduino的連接(例如面板安裝),或者要與其他類型的處理器板一起使用,

只需用5V電壓為 5V 引腳供電,將公共地連接到 GND ,然后連接標(biāo)有 SCL 的引腳(左上方) )到I2C時(shí)鐘, SDA 到I2C數(shù)據(jù)。那是控制整個(gè)屏蔽所需的僅有的四根導(dǎo)線。

在Uno形的Arduino上, SCL 也連接到Analog 5和 SDA 已連接到Analog 4。

在Mega Arduinos上, SCL 也已連接到Digital 21, SDA 已連接到Digital 20。/li》

在Leonardo Arduinos上, SCL 也連接到Digital 3, SDA 也連接到Digital 2。

重要提示:將+ 5V和GND接到圖中所示的屏蔽引腳上! 5v引腳旁邊的GND引腳未連接。您必須使用VIN引腳旁邊的一個(gè)!

CircuitPython用法

使用帶有CircuitPython和Adafruit CircuitPython CharLCD庫的RGB字符LCD屏蔽很容易。該庫使您可以輕松地編寫控制RGB字符LCD的Python代碼。

CircuitPython微控制器接線

按照前一頁所示組裝屏蔽套件。然后,將其連接到Metro M0或Metro M4。就這么簡單!

CharLCD LCD的CircuitPython安裝庫

您需要在CircuitPython板上安裝Adafruit CircuitPython CharLCD庫。

首先請確保您正在為板運(yùn)行最新版本的Adafruit CircuitPython。

接下來,您需要安裝必要的庫以使用硬件-仔細(xì)按照以下步驟從Adafruit的CircuitPython庫捆綁包中查找和安裝這些庫。我們的CircuitPython入門指南上有一個(gè)很棒的頁面,說明如何安裝庫捆綁包。

如果選擇,您可以從捆綁包中手動(dòng)安裝庫:

adafruit_character_lcd

adafruit_mcp230xx

adafruit_bus_device

在繼續(xù)之前,請確保板的lib文件夾或根文件系統(tǒng)具有 adafruit_character_lcd,adafruit_mcp230xx,和 adafruit_bus_device 文件和文件夾 已復(fù)制。

下一步連接到開發(fā)板的串行REPL,這樣您就可以在CircuitPython上出現(xiàn)》》》 提示。

CircuitPython代碼

為演示字符LCD的用法,我們將對其進(jìn)行初始化并使用CircuitPython代碼顯示文本

首先,您需要導(dǎo)入必要的模塊,初始化I2C總線,并創(chuàng)建字符LCD類的實(shí)例。將以下代碼粘貼到您的REPL中:

下載:文件

復(fù)制代碼

import board

import busio

import adafruit_character_lcd.character_lcd_rgb_i2c as character_lcd

lcd_columns = 16

lcd_rows = 2

i2c = busio.I2C(board.SCL, board.SDA)

lcd = character_lcd.Character_LCD_RGB_I2C(i2c, lcd_columns, lcd_rows) import board

import busio

import adafruit_character_lcd.character_lcd_rgb_i2c as character_lcd

lcd_columns = 16

lcd_rows = 2

i2c = busio.I2C(board.SCL, board.SDA)

lcd = character_lcd.Character_LCD_RGB_I2C(i2c, lcd_columns, lcd_rows)

現(xiàn)在您就可以開始在顯示屏上書寫文字和字符了! LCD類的用法與并行LCD接線指南中的顯示完全相同。請務(wù)必查看該指南,以全面了解LCD的用法。

盡管可以運(yùn)行以下代碼來使用color屬性將背光設(shè)置為紅色,然后使用message屬性以將文本寫入顯示:

下載:文件

復(fù)制代碼

lcd.color = [100, 0, 0]

lcd.message = “Hello CircuitPython” lcd.color = [100, 0, 0]

lcd.message = “Hello CircuitPython”

有關(guān)可調(diào)用以控制LCD的更多功能,請參見并行LCD指南!

使用RGB字符LCD就是所有這些

完整代碼示例

將以下示例復(fù)制到板上的 code.py ,并查看字符LCD庫必須提供的一些不同內(nèi)容的演示!

下載:Project Zip 或 charlcd_i2c_rgb_simpletest.py | 在Github上查看

復(fù)制代碼

“”“Simple test for I2C RGB character LCD shield kit”“”

import time

import board

import busio

import adafruit_character_lcd.character_lcd_rgb_i2c as character_lcd

# Modify this if you have a different sized Character LCD

lcd_columns = 16

lcd_rows = 2

# Initialise I2C bus.

i2c = busio.I2C(board.SCL, board.SDA)

# Initialise the LCD class

lcd = character_lcd.Character_LCD_RGB_I2C(i2c, lcd_columns, lcd_rows)

lcd.clear()

# Set LCD color to red

lcd.color = [100, 0, 0]

time.sleep(1)

# Print two line message

lcd.message = “Hello CircuitPython”

# Wait 5s

time.sleep(5)

# Set LCD color to blue

lcd.color = [0, 100, 0]

time.sleep(1)

# Set LCD color to green

lcd.color = [0, 0, 100]

time.sleep(1)

# Set LCD color to purple

lcd.color = [50, 0, 50]

time.sleep(1)

lcd.clear()

# Print two line message right to left

lcd.text_direction = lcd.RIGHT_TO_LEFT

lcd.message = “Hello CircuitPython”

# Wait 5s

time.sleep(5)

# Return text direction to left to right

lcd.text_direction = lcd.LEFT_TO_RIGHT

# Display cursor

lcd.clear()

lcd.cursor = True

lcd.message = “Cursor! ”

# Wait 5s

time.sleep(5)

# Display blinking cursor

lcd.clear()

lcd.blink = True

lcd.message = “Blinky Cursor!”

# Wait 5s

time.sleep(5)

lcd.blink = False

lcd.clear()

# Create message to scroll

scroll_msg = ’《-- Scroll‘

lcd.message = scroll_msg

# Scroll to the left

for i in range(len(scroll_msg)):

time.sleep(0.5)

lcd.move_left()

lcd.clear()

time.sleep(1)

lcd.message = “Going to sleep Cya later!”

time.sleep(5)

# Turn off LCD backlights and clear text

lcd.color = [0, 0, 0]

lcd.clear()

“”“Simple test for I2C RGB character LCD shield kit”“”

import time

import board

import busio

import adafruit_character_lcd.character_lcd_rgb_i2c as character_lcd

# Modify this if you have a different sized Character LCD

lcd_columns = 16

lcd_rows = 2

# Initialise I2C bus.

i2c = busio.I2C(board.SCL, board.SDA)

# Initialise the LCD class

lcd = character_lcd.Character_LCD_RGB_I2C(i2c, lcd_columns, lcd_rows)

lcd.clear()

# Set LCD color to red

lcd.color = [100, 0, 0]

time.sleep(1)

# Print two line message

lcd.message = “Hello CircuitPython”

# Wait 5s

time.sleep(5)

# Set LCD color to blue

lcd.color = [0, 100, 0]

time.sleep(1)

# Set LCD color to green

lcd.color = [0, 0, 100]

time.sleep(1)

# Set LCD color to purple

lcd.color = [50, 0, 50]

time.sleep(1)

lcd.clear()

# Print two line message right to left

lcd.text_direction = lcd.RIGHT_TO_LEFT

lcd.message = “Hello CircuitPython”

# Wait 5s

time.sleep(5)

# Return text direction to left to right

lcd.text_direction = lcd.LEFT_TO_RIGHT

# Display cursor

lcd.clear()

lcd.cursor = True

lcd.message = “Cursor! ”

# Wait 5s

time.sleep(5)

# Display blinking cursor

lcd.clear()

lcd.blink = True

lcd.message = “Blinky Cursor!”

# Wait 5s

time.sleep(5)

lcd.blink = False

lcd.clear()

# Create message to scroll

scroll_msg = ’《-- Scroll‘

lcd.message = scroll_msg

# Scroll to the left

for i in range(len(scroll_msg)):

time.sleep(0.5)

lcd.move_left()

lcd.clear()

time.sleep(1)

lcd.message = “Going to sleep Cya later!”

time.sleep(5)

# Turn off LCD backlights and clear text

lcd.color = [0, 0, 0]

lcd.clear()

常見問題解答

我的顯示器是單色的,有些按鈕不起作用。

單色顯示屏僅響應(yīng)其中帶有紅色的背光顏色。改用“ ON”和“ OFF”。請參見“使用單色顯示器”下的代碼段

使用哪些引腳?可用的引腳是什么?

屏蔽僅使用 SCL 和 SDA i2c引腳以及5V電源和地。您可以將I2C引腳用于其他I2C傳感器/設(shè)備,只要它們不共享相同的地址即可。如果您使用的是Arduino UNO,則 Analog 4 和 Analog 5 與SCL/SDA共享,因此您將無法使用它們。同樣,Arduino Leonardos與數(shù)字2 和數(shù)字3 共享SCL/SDA,因此它們將不可用。

我正在嘗試進(jìn)行編譯,但收到諸如“沒有這樣的文件或目錄”或“未命名類型”之類的錯(cuò)誤消息

如果您看到類似以下任何(或全部)內(nèi)容的錯(cuò)誤消息,則表示Arduino IDE找不到Adafruit庫。

錯(cuò)誤:Adafruit_MCP23017.h:沒有這樣的文件或目錄

錯(cuò)誤:Adafruit_RGBLCDShield.h:沒有這樣的文件或目錄

錯(cuò)誤:’Adafruit_RGBLCDShield‘沒有命名類型

錯(cuò)誤:未在此范圍內(nèi)聲明“ lcd”

錯(cuò)誤:未在此范圍內(nèi)聲明“ BUTTON_UP”

錯(cuò)誤:未聲明“ BUTTON_DOWN”在此范圍內(nèi)

錯(cuò)誤:未在此范圍內(nèi)聲明’BUTTON_LEFT‘

錯(cuò)誤:’BUTTON_RI在此范圍內(nèi)未聲明GHT‘

錯(cuò)誤:在此范圍內(nèi)未聲明’BUTTON_SELECT‘

有以下三種可能的原因:

1。您沒有下載庫文件夾。

Adafruit編寫了一些額外的軟件,以使其易于使用。該軟件包含在一個(gè)庫文件夾中,您可以在此處下載:

https://github.com/adafruit/Adafruit-RGB-LCD-Shield-Library

您下載了單擊右上角的“下載”按鈕。您可以選擇以兩種壓縮格式之一下載庫:“。zip”或“ .tar.gz”。 Windows和Mac用戶可能會選擇.zip,而Linux用戶可能會選擇.tar.gz。

MacOS會自動(dòng)將下載的文件解壓縮到一個(gè)文件夾中,您應(yīng)該在“下載”文件夾中找到該文件夾。

Windows用戶可以雙擊下載的文件。這將打開一個(gè)資源管理器窗口,使您可以解壓縮壓縮的庫文件夾。

(繼續(xù)下一段,了解如何處理未壓縮的下載)

2。庫文件夾的名稱錯(cuò)誤。

下載并解壓縮庫文件夾后,您 必須 將該文件夾的名稱更改為 完全 “ Adafruit_RGBLCDShield”。請勿縮寫,請?zhí)砑尤魏慰崭?,下劃線或其他字符。確保大寫字母與此處顯示的大小寫相同。

(繼續(xù)下一節(jié)以查找將庫文件夾放在何處)

3。庫文件夾放在錯(cuò)誤的位置。

安裝Arduino IDE時(shí),它會為您創(chuàng)建一個(gè)“草圖文件夾”(如果您不知道該草圖文件夾在哪里,請轉(zhuǎn)到進(jìn)入Arduino應(yīng)用程序的“草圖”菜單,然后選擇“顯示草圖文件夾”。

內(nèi)部 草圖文件夾中,應(yīng)該有另一個(gè)名為“庫”的文件夾。如果不是,則在草圖文件夾的內(nèi)部 中創(chuàng)建一個(gè)新文件夾,并將其命名為“ libraries”(名稱 必須 為 完全 “庫”-不是“庫”或“庫”-不是 偶 “庫”以大寫字母“ L”表示?。?。

將新的Adafruit_RGBLCDShield文件夾移到該庫文件夾中。

確定文件夾名稱正確且位置正確后,必須關(guān)閉并重新打開。 Arduino IDE,以便它可以識別新庫。

如果您好奇,可以在這里了解有關(guān)庫的更多信息:

http://learn.adafruit.com/arduino -tips-tricks-and-techniques/arduino-libraries

屏蔽是否在內(nèi)部執(zhí)行按鈕的反跳邏輯,還是我需要在閱讀按鈕時(shí)在軟件中執(zhí)行此操作?

TheAd當(dāng)您使用readButtons()函數(shù)時(shí),afruit_RGBLCDShield庫將為您處理按鈕的反跳操作。

這與我的Arduino兼容嗎?接頭上有兩個(gè)額外的插腳,它們不會插入任何東西。

可以與舊版Arduino板配合使用。額外的針腳已添加到Uno和Mega的R3版本中。這些是其他插頭的復(fù)制品,對于屏蔽的正確操作不是必需的。

可以在Raspberry Pi上使用嗎?

目前還沒有!此屏蔽僅適用于Arduino!

我正在使用它與Arduino分離,它似乎沒有任何功能。

僅使用VIN引腳旁邊的接地引腳。您需要將接地線連接到此引腳。

我可以將其用于20x4 LCD嗎?

從技術(shù)上講,是的。 20x4和16x2的引腳分配相同。但是,屏幕更大了,它把按鈕蓋住了,所以我們不建議這樣做。

下載

軟件

Arduino庫代碼可在github

文件

github上的EagleCAD PCB文件

Adafruit Fritzing庫中的Fritzing對象

示意圖和構(gòu)造打印

責(zé)任編輯:wv

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • lcd
    lcd
    +關(guān)注

    關(guān)注

    34

    文章

    4389

    瀏覽量

    166764
  • Arduino
    +關(guān)注

    關(guān)注

    187

    文章

    6455

    瀏覽量

    186388
收藏 人收藏

    評論

    相關(guān)推薦

    濕度傳感器需要保護(hù)罩

    電子發(fā)燒友網(wǎng)站提供《濕度傳感器需要保護(hù)罩嗎.pdf》資料免費(fèi)下載
    發(fā)表于 09-23 11:39 ?0次下載
    濕度傳感器需要保<b class='flag-5'>護(hù)罩</b>嗎

    海外高防服務(wù)器對網(wǎng)絡(luò)安全保護(hù)的影響

    海外高防服務(wù)器作為一種專門設(shè)計(jì)用于抵御分布式拒絕服務(wù)(DDoS)攻擊和其他網(wǎng)絡(luò)威脅的強(qiáng)大工具,對網(wǎng)絡(luò)安全保護(hù)起著至關(guān)重要的作用。這類服務(wù)器通常部署在具有豐富帶寬資源和先進(jìn)防御機(jī)制的國際數(shù)據(jù)中心,為全球范圍內(nèi)的用戶提供了一層堅(jiān)固的網(wǎng)絡(luò)防護(hù)罩。
    的頭像 發(fā)表于 07-16 10:18 ?199次閱讀

    espidf5.0.0版本的LCD中的rgb_panel例程怎么跑起來?

    想請問一下 espidf5.0.0版本的LCD中的rgb_panel例程怎么跑起來,之前跑起來過幾次,不過現(xiàn)在完全跑不起來了 報(bào)錯(cuò)代碼中出現(xiàn)的錯(cuò)誤均為例程中的源代碼,且其頭文件都是有包含的,請問
    發(fā)表于 06-12 08:04

    ESP32-S3驅(qū)動(dòng)LCD_RGB時(shí), esp_lcd_panel_swap_xy不生效的原因?

    IDF版本5.1.2 使用example: LCD-RGB, 添加SPI配置代碼后, 屏幕可以顯示例程(lv_scatter), 顯示內(nèi)容為豎屏. 豎屏顯示
    發(fā)表于 06-05 06:03

    EMC與EMI濾波器:電子設(shè)備的“電磁防護(hù)罩

    深圳比創(chuàng)達(dá)電子|EMC與EMI濾波器:電子設(shè)備的“電磁防護(hù)罩
    的頭像 發(fā)表于 05-29 11:44 ?462次閱讀

    TFT-LCD面板制作流程

    電子發(fā)燒友網(wǎng)站提供《TFT-LCD面板制作流程.pdf》資料免費(fèi)下載
    發(fā)表于 03-24 09:32 ?13次下載

    特斯拉Cybertruck防護(hù)罩:引領(lǐng)“終極末日座駕”電磁脈沖防護(hù)技術(shù)?

    Cybercylent以導(dǎo)電材料制成,能有效防止電磁脈沖(EMP)及射頻信號的干擾,保護(hù)車內(nèi)物品不受損害。據(jù)悉,它甚至可以避免因電磁脈沖帶來的電子設(shè)備損壞問題。這種脈沖可能源于諸如太陽耀斑或核爆之類的自然與人為事件。
    的頭像 發(fā)表于 03-11 11:02 ?594次閱讀

    psoc的規(guī)格再驅(qū)動(dòng)lcd屏的時(shí)候,是否可以驅(qū)動(dòng)RGB/RGB666的屏?支持的最大分辨率是多少?

    請教一下,psoc的規(guī)格再驅(qū)動(dòng)lcd屏的時(shí)候,是否可以驅(qū)動(dòng)RGB/RGB666的屏,如果可以的話,那支持的最大分辨率是多少?支持那些接口類型?規(guī)格書上的segment 和這個(gè)的轉(zhuǎn)換關(guān)系是什么?
    發(fā)表于 03-06 06:24

    如何讓Adafruit 320x240 IPS TFT顯示屏在PSoC上運(yùn)行?

    我有一臺 Adafruit 320x240 IPS TFT 顯示屏,希望它能夠使用我的 PSoC 4200 主板繪制圖像。 來自 Adafruit 的代碼庫是為 Arduino 設(shè)計(jì)的,我不確定如何讓它在 PSoC 上運(yùn)行。
    發(fā)表于 01-22 06:33

    基于TIC6000的DSP教學(xué)實(shí)驗(yàn)箱操作教程:5-18 RGB24圖像灰度轉(zhuǎn)換(LCD顯示)

    一、實(shí)驗(yàn)?zāi)康?學(xué)習(xí)RGB24圖像灰度轉(zhuǎn)換的原理,掌握圖像的讀取方法,并實(shí)現(xiàn)在LCD上顯示灰度轉(zhuǎn)換前后的圖像。 二、實(shí)驗(yàn)原理 RGB24圖像灰度轉(zhuǎn)換 RGB顏色空間作為一種常用的彩色圖像
    發(fā)表于 01-04 15:04

    電動(dòng)機(jī)外殼防護(hù)方式

    電動(dòng)機(jī)作為一種常見的動(dòng)力設(shè)備,其外殼的防護(hù)對于保護(hù)電機(jī)內(nèi)部的電氣設(shè)備以及工作環(huán)境的安全至關(guān)重要。本文將詳細(xì)介紹電動(dòng)機(jī)外殼的防護(hù)方式,包括封閉型外殼、防護(hù)罩、防警籠和耐候性涂層等,以及它們的特點(diǎn)
    的頭像 發(fā)表于 01-04 10:51 ?1044次閱讀

    縱享絲滑!全志R128+LVGL驅(qū)動(dòng)多尺寸RGB LCD屏幕流暢運(yùn)行

    (480x480) 4寸圓屏RGB(480x480) R128適配RGB LCD配置如動(dòng)圖展示,其中最大的屏幕是 7寸1024x600分辨率,lvgl測試不加觸摸能跑60多幀,加觸摸是58幀左右
    發(fā)表于 12-22 09:52

    rgb屏和mcu屏有什么區(qū)別

    Crystal Display,簡稱LCD)。它是一種通過液晶材料的光學(xué)特性來控制光線透過的顯示技術(shù)。RGB屏使用了一種液體晶體材料,具有透明度可調(diào)的特性,通過控制電壓在液晶分子之間的排列方向來控制背光透過的光線,從而顯示出圖像。RG
    的頭像 發(fā)表于 12-20 09:46 ?4300次閱讀

    全志R128使用RGB LCD移植方法教程

    這里的示例以百問網(wǎng)的7寸(1024x600)、4寸方屏(480x480)、4寸圓屏RGB(480x480) LCD為例。 選擇方案 這里建議用百問網(wǎng)提供
    發(fā)表于 12-18 17:03

    EPS32可以連接RGB接口的LCD嗎?

    EPS32可以連接RGB接口的LCD嗎?不能的話想連接LCD怎么辦?用什么型號的LCD?2.8寸,4.3寸都行。
    發(fā)表于 11-03 07:21