新DiFi第19課液晶顯示器(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接腳新DiFi備註
VCC5V或3.3V注意電源不可接錯
GNDGND注意電源不可接錯
SCLD1(SCL) 
SDAD2(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上顯示現在的日期及時間。

A、USB連線

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

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

3.將變數顯示在LCD上。

程式下載3762774-時鐘.sb2

延伸:

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

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

B、無線連接:

無線WiFi連線請參考:第16課無線連接(http://blog.ilc.edu.tw/blog/blog/868/post/104089/678445)

1.使用[WiFi通訊位址……],電腦使用WiFi無線連接新DiFi學習板。

2.其他程式跟前面一樣。

程式下載時鐘(無線).sb2

四、溫、溼度顯示

接線圖:

使用杜邦線將D7和[DHT](DHT11溫溼度感測器)接上。

LCD接線請考前面列表

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

A、LCD上顯示現在的溫、溼度(USB連線)

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

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

清除前面顯示過的字

重複執行下面的動作。

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

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

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

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

程式下載溫溼度顯示.sb2

延伸

1.讓顯示左、右移動

2.讓顯示置中

B、LCD上顯示現在的溫、溼度(無線連接):

1.使用[WiFi通訊位址……],電腦使用WiFi無線連接新DiFi學習板。

2.其他程式跟前面一樣。

程式下載溫溼度顯示(無線).sb2

C、LCD上顯示現在的日期、時間及溫、溼度(USB連線):

主要程式跟前面一樣。

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

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

程式下載溫溼度顯示2.sb2

D、LCD上顯示現在的日期、時間及溫、溼度(無線連接):

程式下載溫溼度顯示2.sb2

五、顯示LASS資料

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

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

程式下載:讀取LASS.sb2

六、紅綠燈倒數

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

主要程式請參考:

第4課控制RGB LED(上)(http://blog.ilc.edu.tw/blog/blog/868/post/104089/678431)

增加LCD顯示部分

程式下載紅綠燈倒數.sb2

延伸

1.讓顯示置中

2.無線連接

七、按鍵計數器

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

使用Jump直接將D3和[KEY](按鍵)、D8和BEEP兩兩接上。

主要程式請參考:

新DiFi第10課按鍵(下)(http://blog.ilc.edu.tw/blog/blog/868/post/104089/678439)

增加LCD顯示及蜂鳴器部分

程式下載計數器.sb2

延伸

1.讓顯示置中

2.無線連接

八、倒數計時器

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

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

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

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

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

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

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

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

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

重複[倒數計時]次

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

LCD顯示倒數計時

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

程式下載:計時器.sb2

延伸

1.讓顯示置中

2.無線連接

九、LCD顯示鍵盤控制小車

用鍵盤的上、下、左、右鍵來控制車子前進、後退、左轉、右轉,[空白鍵]停止。

模擬公車上的LCD螢幕會顯示動作指令(Forward、Backward、Turn left、Turn right、STOP)

小車接線請參考第18課無線自走車,LCD接線請參考前面。

因為用電量大,如果使用行動電源請用電量大一點的。

注意:

記得先檢查[輸入法]是否為[],當輸入法不對時,鍵盤按鍵對應的值是錯的,無法正確反應動作。

1.先點一下[WiFi通訊位址……],確定可以電腦可以使用WiFi無線連接到新DiFi學習板。

2.按下按鍵分別讓各腳位輸出不同的電位,讓2顆馬達做動作。

3.按下按鍵後腳位持續輸出訊號,馬達持續運轉,無線傳輸速度較慢,怕無法及時掌控。增加等待0.5秒後,停止馬達動作,這樣只要放開按鍵,經過0.5秒,馬達就停止。必須一直按著按鍵才會動,放開就停止。

4.增加LCD螢幕顯示動作指令。

程式下載鍵盤控制小車(LCD).sb2

延伸

1.外接LED燈當作方向燈,當轉彎時,讓該方向的LED燈亮。

2.使用清單功能,將站名加到清單上,到站時在LCD上顯示站名。

3.使用存取檔案功能,從[站名]文字檔案取出站名,到站時在LCD上顯示站名。
   請參考
WFduino第二十六課資料存取(http://blog.ilc.edu.tw/blog/blog/868/post/97509/657968)

十、小車(LCD顯示HAPPY BIRTHDAY)

小車往前走,再唱生日快樂歌,LCD顯示HAPPY BIRTHDAY,字會左右移動。

小車接線請參考第18課無線自走車,LCD接線請參考前面。

1.先點一下[WiFi通訊位址……],確定可以電腦可以使用WiFi無線連接到新DiFi學習板。

2.點綠旗開始後,先前進,然後在LCD上顯示HAPPY BIRTHDAY,再唱生日快樂歌(新DiFi板子上的蜂鳴器),然後讓LCD上顯示的HAPPY BIRTHDAY左右移動。

程式下載:小車(生日快樂)LCD.sb2

延伸:

在機器人身上加裝LCD,讓機器人也可以顯示字幕。

十一、模擬捷運顯示站名

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

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

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

文湖線文字檔文湖線.txt

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

延伸:

參考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接地,Trig接腳位8,Echo接腳位3

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

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

1.使用[WiFi通訊位址……],電腦使用WiFi無線連接新DiFi學習板。

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

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

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

注意:

使用WiFi無線連接,每個指令間要加上[等待…秒],讓資料有時間傳輸,如果直接用USB連線,可以將[等待…秒]去掉。

程式下載測距儀.sb2

————————–

註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

宜蘭縣國小資訊小站

您可能也會喜歡…