2019年11月3日 星期日

LCD 的安裝

Arduino 晶片與 Micro:bit 最大差異就在於他沒有顯示的畫面,寫程式的時候還可以透過序列埠監控視窗 (Serial Monitor) 來輸出各項參數,以確認程式是否運作正常。但是離線之後,Arduino 就沒有顯示畫面了,所以如果可以加一個「螢幕」就好了。

所幸 Arduino 其實支援也蠻多的,這邊介紹一個簡單的 LCD 螢幕,最基本款可以顯示兩行文字,每行16個字。

這款 LCD 的使用很簡單,接線與程式都可以參考 16x2 LCD液晶螢幕(Michael_Jheng的部落格)。

但是,同樣的語法在聯發科的晶片卻不能執行。
我推測是聯發科的 BlocklyDuino 所帶的 Arduino IDE ,其中的 Library 程式與網路上下載的液晶螢幕的 Library 有些差異。

其中最大差異有兩點,首先函式宣告的方式不同。
Arduino 是
LiquidCrystal_I2C lcd(0x27, 16, 2);

而 Linkit 7697 是
LiquidCrystal_I2C lcd(0x27);

其次在初始化的時候
Arduino 是
lcd.init();

而 Linkit 7697 是
lcd.begin(16, 2);

最後就是連接線的位置,Linkit 7697 的 SCL 是P8 (擴充槽上是D8),而 SDA 則是要連到 P9 (擴充槽上是D9)。

只要這三個地方注意一下,聯發科的晶片也可以連結 LCD 螢幕。

我的程式連結

2019年11月2日 星期六

連結溫度傳感器 DS18B20

在聯發科的積木型編輯器(BlocklyDuino),他沒有提供讓使用者新增程式庫的功能,例如這個溫度傳感器 DS18B20 程式庫就沒有辦法加到這個積木型編輯器中,所以我們只有透過在 Arduino IDE 中來做。

以下告訴大家如何在 Arduino IDE 新增溫度傳感器 DS18B20 的程式庫,這部分不只是可以用在聯發科的晶片,所有的 Arduino 晶片都可以這樣使用這個溫度傳感器。

由於這個溫度傳感器是達拉斯公司推出的一線式傳感器(細節請自行上網搜尋),所以我們需要兩個程式庫分別是:
OneWire-2.3.5.zip
DallasTemperature-3.8.0.zip

首先你可以到工具的選單中,打開程式庫管理員,然後搜尋「DallasTemperature」, 選擇適當的版本後,按下安裝就可以了。

OneWire的部份也是類似。

兩個程式庫都安裝好之後,你的 Arduino IDE 就可以寫這個溫度傳感器的程式了。

參考範例連結:請將這個連結打開,將程式複製到你的 IDE ,上傳到你的聯發科晶片就可以執行了。

聯發科晶片 Linkit 7697 與 Arduino IDE

使用聯發科的晶片 Linkit 7697 官網上的介紹是使用他們的 BlocklyDuino 來寫程式,但是這個積木型的編輯器(Blockly)與 Microbit 的積木型的編輯器很不一樣,他沒有辦法讓我們自己增加不同的 Library (程式庫),所以當我們面對要參加一個新的硬體(傳感器)的時候, BlocklyDuino 就沒有辦法支援,還好,聯發科的晶片也是可以用 Arduino IDE 來寫,所以我在這裡簡單的介紹怎麼樣讓你的 Arduino IDE 可以寫聯發科的晶片 Linkit 7697。

首先打開 Arduino IDE , 到檔案下面的偏好設定。

在偏好設定的頁面中,可以找到「額外的開發板管理員網址」,在裡面輸入以下網址:
http://download.labs.mediatek.com/package_mtk_linkit_7697_index.json

接著到工具底下的開發版,打開「開發版管理員」。

在開發版管理員的頁面中,搜尋 7697 ,然後你就可以找到聯發科7697的晶片,選擇最新的版本進行安裝。


接著再到工具底下的開發板中,你可以看到清單裡面的最下面出現的聯發科7697的晶片,點選它之後,你就可以用這個 Arduino IDE 來寫入聯發科的晶片。