Arduino第33課液晶顯示器(LCD)

使用價格便宜有 LCM控制板的I²C LCD ,接線比較簡單。(註1)

選購時要留意,這一類的LCD有好幾種,需要支援I²C (IIC、I2C)協定,位址有0x20、0x27或0x3F,工作電壓有3.3V或5V。(註2)

積木說明:

一般常見的I²C LCD為橫排2列,有16格(字),可以設定要在第幾列從第幾格開始顯示那些字。位址一般就是內定的0x3F

清除所有筆跡:清除LCD上的字

blink:最後一個待輸入的字會閃爍空格

noBlink:最後一個待輸入的字不會閃爍空格

backlight:LCD有背光

noBacklight:LCD沒有背光

move_left:顯示的字串向左移動

move_right:顯示的字串向右移動

[]後面的空格可以指定哪一列要做動作,留空白(沒有填)就是2列一起做動作。

例如:LCD(清除所有筆跡)列(1),只清除第一列,第二列保留。

           LCD(清除所有筆跡)列(),兩列同時清除。

接腳對照表 

LCD接腳Arduino UNO備註
VCC5V或3.3V注意電源不可接錯
GNDGND注意電源不可接錯
SCLA5(SCL) 
SDAA4(SDA) 

一、Hi WFduino!

LCD上顯示[ Hi WFduino! ]

第1列從第1格開始顯示,第2列從第4格開始顯示。

程式下載Hi.sb2

延伸:

1.讓顯示的字置中

2.讓顯示的字靠右

二、左、右移動

LCD上顯示的[Hi WFduino!]會左、右移動

1.先清除前面顯示過的字

2.第1列從第1格開始顯示,第2列從第6格開始顯示。

3.重複執行讓兩列字串輪流分別向左、右移動。

程式下載Hi2.sb2

三、時鐘

LCD上顯示現在的日期及時間。

1.先清除前面顯示過的字

2.製作[DATE]及[TIME]兩個變數儲存日期及時間。

3.將變數顯示在LCD上。

程式下載時鐘.sb2

延伸:

1.讓顯示日期及時間,左、右移動

2.讓顯示日期及時間置中

四、時鐘(修正)

時鐘會出現98秒?

因為當59秒跳0秒時,9沒清掉,接下來個位數的秒直接顯示在十位數上。

將清除積木放進迴圈裡就可以了。

程式下載時鐘(修正).sb2

五、顯示LASS資料

讀取LASS上的資料(PM2.5及溫、濕度),在LCD上顯示

讀取程式請參考WFduino第二十四課PM2.5環境監測超簡單

程式下載讀取LASS.sb2

六、溫、溼度顯示

接線圖:

這裡訊號接數位腳位D7

LCD接線請考前面列表

溫濕度感測器請參考:第32課DHT11溫濕度感測器(http://blog.ilc.edu.tw/blog/blog/868/post/97509/660493)

A、LCD上顯示現在的溫、溼度

[腳位7模式設為INPUT],設定數位腳D7為輸入訊號。

[等待1秒],預設是OUTPUT,在設定之後加一個等待時間,讓程式有時間設定為INPUT。

清除前面顯示過的字

重複執行下面的動作。

[溫溼度感測器(11)在腳位(7)],設定數位腳D7接收來自DHT11的訊號

[等待1秒],因為DHT11需要做資料轉換,每筆資料的抓取時間不能太快。

第1列從第1格開始顯示溫度。

第2列從第1格開始顯示濕度。

程式下載溫溼度顯示.sb2

延伸

1.讓顯示左、右移動

2.讓顯示置中

B、LCD上顯示現在的日期、時間及溫、溼度

主要程式跟前面一樣。

第1列從第1格開始顯示日期、時間。

第2列從第1格開始顯示溫、溼度。

程式下載溫溼度顯示(時間).sb2

七、紅綠燈倒數

模擬十字路口綠、黃、紅燈(紅、綠燈時,LCD顯示倒數計時)

主要程式請參考:

WFduino第四課3顆LED紅綠燈(http://blog.ilc.edu.tw/blog/blog/868/post/97509/637850)

增加LCD顯示部分

程式下載紅綠燈倒數.sb2

延伸:

1.讓顯示置中

2.無線連接

八、按鍵計數器

按一次按鍵,計數器加1,並發出提示音,計算按鍵次數,並在LCD上顯示。

 

接線圖:

 

主要程式請參考:

第二十五課指撥開關(密碼鎖)(http://blog.ilc.edu.tw/blog/blog/868/post/97509/656348 )

第八課(按鍵)(http://blog.ilc.edu.tw/blog/blog/868/post/97509/639090)

利用Arduino內建的上拉電阻,省去外接電阻,線路簡潔。

使用[腳位(7)模式設為(INPUT_PULLUP)],宣告數位腳D7為上拉電阻輸入(接收訊號)。

注意:

當開關未接通時,數位腳D7讀取到高電位(1),當開關接通時,數位腳D7讀取到低電位(0)。

增加LCD顯示及蜂鳴器部分

程式下載計數器.sb2

延伸:

1.讓顯示置中

2.無線連接

3.參考第十五課(主動式紅外線感測器),顯示計數結果。

九、倒數計時器

接線圖如前,按下[綠旗]後,輸入倒數時間,等待按下按鍵後開始倒數計時,時間到,蜂鳴器發出聲響。

主要程式請參考:第七課(蜂鳴器)http://blog.ilc.edu.tw/blog/blog/868/post/97509/638509

[腳位7模式設為INPUT],設定數位腳7為輸入。

[LCD(清除所有筆跡)],清除前面顯示過的字

LCD顯示提示字,(please enter Countdown times)

提問要計時多久,輸入時間。

設定變數[倒數計時]為[答案]

LCD清除前面顯示過的字,顯示提示字,[press butten to begin   (秒數)]

[等待(讀取數位腳位7)=0],等待按下按鍵

[等待(讀取數位腳位7)=1],等待放開按鍵,才開始倒數計時

重複[倒數計時]次

等待1秒,將(倒數計時)變數 -1

LCD顯示倒數計時

時間到了,將造型換成[時間到],LCD顯示[time up],並發出聲音。

程式下載倒數計時器.sb2

延伸

1.讓顯示置中

2.無線連接

十、模擬捷運顯示站名

模擬捷運車廂,播報站名,LCD顯示站名。

使用存取檔案功能,從[站名]文字檔案取出站名,到站時播報站名,並在LCD上顯示站名。

請參考WFduino第二十六課資料存取(http://blog.ilc.edu.tw/blog/blog/868/post/97509/657968)

文湖線文字檔文湖線.txt

程式下載模擬捷運顯示站名.sb2

延伸:

1.使用其他感測器觸發下一站通知,例如:光敏電阻、紅外線感應器等。

2.參考WFduino第31課JSON格式資料運用(http://blog.ilc.edu.tw/blog/blog/868/post/97509/677614)

從捷運公開資料網站中擷取捷運即時資料,在LCD上顯示。

十一、模擬捷運顯示站名及下一站

模擬捷運車廂,播報站名,LCD顯示站名及下一站。

使用存取檔案功能,從[站名]文字檔案取出站名,到站時播報站名,並在LCD上顯示站名及下一站。

請參考WFduino第二十六課資料存取(http://blog.ilc.edu.tw/blog/blog/868/post/97509/657968)

文湖線文字檔文湖線.txt

程式下載捷運顯示站名及下一站.sb2

十二、超音波測距儀

使用[超音波感測器]來測量距離。

超音波感測器的Vcc接5V,Gnd接地,Echo接腳位5,Trig接腳位6

原理請參考WFduino第十二課(超音波感測器)http://blog.ilc.edu.tw/blog/blog/868/post/97509/639095

LCD請參考上面LCD接腳對照表 

1.先清除LCD上原有的內容

2.LCD第一列顯示[distance]

3.使用 [HCSR超音波感測器,Echo在腳位(5)Tring在腳位(6)]指令可以偵測感測器的偵測結果。

4.將偵測結果(測量到的距離是幾公分)顯示在LCD的第2列上。

程式下載測距儀.sb2

十三、scratch3

程式下載:LCD.sb3

————————–

註1

https://zh.wikipedia.org/wiki/%E6%B6%B2%E6%99%B6%E6%98%BE%E7%A4%BA%E5%99%A8

液晶顯示器(liquid-crystal display,縮寫為LCD),在不加電壓下,光線會沿著液晶分子的間隙前進而轉折90度,所以光可通過。但加入電壓後,光順著液晶分子的間隙直線前進,因此光被濾光板所阻隔。

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

I²C(Inter-Integrated Circuit)是I²C Bus簡稱,中文叫積體電路匯流排,它是一種串列通訊匯流排,使用內送流量備援容錯機制從架構。

I²C(Inter-Integrated Circuit)字面上的意思是積體電路之間,它其實是I²C Bus簡稱,所以中文應該叫積體電路匯流排,它是一種串列通訊匯流排,使用內送流量備援容錯機制從架構,由飛利浦公司在1980年代為了讓主機板、嵌入式系統或手機用以連接低速週邊裝置而發展。I²C的正確讀法為「I平方C」(”I-squared-C”),而「I二C」(”I-two-C”)則是另一種錯誤但被廣泛使用的讀法。自2006年11月1日起,使用I²C協定已經不需要支付專利費,但製造商仍然需要付費以取得I²C從屬裝置位址。

註2

一般買5V供電的比較便宜。

藍底白字3.3V和5V正面看起來都一樣。

3.3V的背面有多一個8腳的IC 跟2個電容。

顯示效果

3.3V 16×2藍底白字(有背光)

3.3V 16×2黃綠底黑字(有背光)

3.3V 16×2黃綠底黑字(無背光)

如果看不清楚顯示的字,可以用十字起子調整電位器(可變電阻)

 

——————————–

相關連結:

新DiFi課程目錄
http://blog.ilc.edu.tw/blog/blog/868/post/104089/678192

WFduino(Arduino)課程目錄
http://blog.ilc.edu.tw/blog/blog/868/post/97509/641433  

roc

宜蘭縣國小資訊小站

您可能也會喜歡…