micro:bit使用的LCM1602積木

micro:bit上面雖然有5*5的LED燈可以顯示資訊,但是實在有點小,對於有較複雜的顯示輸出需求的專案來說,是有點不太夠的!LCM1602是很便宜的液晶面板的I2C裝置,便宜,可顯示32個半型字元,是一種常用於arduino上的顯示裝置,如果想要將LCM1602用在micro:bit上,有二個問題要解決:

1、LCM1602需要5V的電源,所以用在micro:bit上,需要為LCM1602外接5V電源。

2、LCM1602是屬於I2C裝置,要和I2C裝置溝通,需要下很多看不懂的指令,而makecode沒有為大家設計可用的積木。

第一個問題好解決,拿一個USB線改裝一下,就可以有5V電源,或是購置有5V電源以及有把SDA、SCL接腳引出的擴展板就可以解決。第二個問題,如果沒有人做出積木,要在makecode上寫I2C的控制指令對大部份的人來說是很困難的,於是,我便有了在makecode上製做LCM1602積木的想法,也把它做出來了,它可以適用在I2C位址是0x27以及0x3f的LCM1602顯示模組。

截至目前為止,我總共為makecode設計了三種不同類型功能的積木,需要者可透過以下github網站連結下載:

一、KSB037馬達擴展板積木,安裝網址,https://github.com/lioujj/KSB037

二、超音波及DHT11感應器積木,安裝網址:https://github.com/lioujj/pxt-sensors

三、LCM1602顯示模組積木,安裝網址:https://github.com/lioujj/pxt-lcd1602

LCD1602積木的使用

以下就LCM1602的線路連接及積木使用做簡單的介紹

一、解決5V電源,以及micro:bit如何與LCM1602連接:

1、首先要有個micro:bit的擴展板,這個擴展板必須有把micro:bit的第19及20pin引出,因為P19是SCL,P20是SDA,這兩個腳位是連接I2C裝置必須用到的腳位。

micro:bit接腳示意圖

這是我的microbit擴展板,它的P19及P20上面竟然沒有排針,讓我焊排針焊好好久

2、micro:bit與LCM1602接線示意圖:

3、外接電源線的作法:找到故障的USB滑鼠或是不要用到的USB線,將它剪斷,裡面有四條線,找到VCC(紅色)及GND(黑色)的線,其他顏色的線剪掉。用相同顏色的杜邦線和USB線焊起來,於是我們就有一條可以接USB電源的5V外接線。

4、更簡便的線路接法:直接購買有提供5V電源以及SDA、SCL接腳的micro:bit擴展板,就不用外接5V的電源,例如國內凱斯電子的KSB039的擴展板(以下圖片取自凱斯電子網站http://www.buyic.com.tw/product_info.php?products_id=6728

二、如何在makecode上寫LCM1602顯示模組的程式:

我已經為LCM1602顯示模組寫好了在makecode上面使用的積木,它可以很方便的設定LCM1602的位址,背光面板是否要發亮、文字是否要隱藏或是顯示,以及要在顯示模組的哪個位置顯示文字。以下簡單介紹它的功能:

1、如何在makecode上添加LCM1602套件:

  • 依下圖步驟安裝套件
  • 積木選單會多出「LCD1602」,和以前我設計的積木一樣,同時提供中英文雙語積木。

2、LCD1602積木的簡單使用方法:

  • LCD1602是I2C的裝置,I2C裝置都有一個位址,以便讓其他裝置例如micro:bit識別得到它可以和它溝通。通常LCD1602的位址有0x27以及0x3f,所以在使用任何LCD1602積木之前,一定要先設定好位址,以便讓micro:bit識別得到,因此要能正確使用這個裝置,得先了解你的LCD1602的位址,如果你不知道的話,就每個試一遍,看看哪一個能運作。另外,LCD1602的長度能提供16個半型字元,寬度能提供二排文字,共是16*2,它的座標最左邊x是0,最右邊x是15,上面的一排y是0,第二排y是1,所以如果希望某一些字出現在某個特定位置,可以設定文字的座標。以下是簡單的測試範例:
  • 其他LCD1602的程式範例:
  • LCD1602顯示器閃爍的範例:
  • LCD1602顯示偵測數值的範例: