顯示具有 Arduino 標籤的文章。 顯示所有文章
顯示具有 Arduino 標籤的文章。 顯示所有文章

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 來寫入聯發科的晶片。

2019年7月25日 星期四

Arduino 與 溫濕度計DHT11

這篇文章是參考小狐狸事務所-Arduino 溫濕度感測器 DHT11 測試 而改寫的。

原因是最近帶學生做的一個專題中,我們需要用 Arduino 讀取溫溼度計的值,所以找了相關的資料,但是因為使用本機安裝的 Arduino IDE 時總是覺得有些跑不動,所以後來都是使用 Arduino 官網的 online Editor 來使用,因此用這篇部落格來稍微解釋一下怎麼在 online Editor 中安裝 DHT11 所需要的 Library 。

首先我們進入 online Editor 的畫面:


畫面共分成三區,最右邊是程式編輯區,最左邊是選單區,上圖目前選的是 Skechbook (程式區) ,中間那區則是選單項目所對應的項目,目前可以看到我的程式區中的程式項目。

在程式中,我們可以看到這個溫濕度偵測器的需要 include (包含)一個 "DHT.h" 的函式庫進來(下圖紅色區域中)。


對於剛接觸程式的同學來說,可能有些不清楚什麼是包含一個函式庫進來。

想像一下,你現在要去日本,可是你不會說日語,所以你準備一台翻譯機,裡面存了一些常用的日語,所以你可以直接將你需要的日語點出來,讓翻譯機發音給你說話的對象,這樣他就知道你要說什麼了。

針對不同的偵測器(硬體),程式無法直接與他溝通,所以出產這些硬體的公司就會配合這些硬體,寫好一些程式看得懂的小程式(函式),這時候我們用到這些硬體的人,只要直接運用他們的函式,我們就可以讓我們的程式跟這些硬體進行溝通了。

要去那裡尋找這個函式呢?

首先點選選單區的 Libraries ,然後在 SEARCH LIBRARIES 中輸入 dht 進行搜尋,接著你可以找到與 dht 相關的函式庫。下圖顯示我們找到一個 DHT SENSOR LIBRARY  ,下方甚至可以直接點開範例 Examples 來參考這個函式的使用方法。

當你的游標移到這個函式名稱上面時,你會發現畫面出現 INCLUDE 的字樣,點擊它就可以直接將函式庫包含到你的程式中,如下圖右側方塊。


有沒有可能在搜尋的時候並沒有找到可以用的函式庫?
當然,這時候你就需要用匯入(Import)的方式,將適當的函式庫加到你的 online Editor 中。

這個適當的函式庫當然是要努力的區搜尋看看,但是關於這個 DHT11 的函式庫,網路上已經有很多說明了,在小狐狸的文章中,也指出來我們可以到 Github 中去下載,路徑如下:
http://github.com/adafruit/DHT-sensor-library

進入上述函式庫的 Github 連結之後,我們可以看到以下畫面,

點選右側的 Clone or download ,會出現以下畫面,請點選 Download ZIP 來下載函式庫的 ZIP 壓縮檔。

下載之後,通常檔案會放在下載區。


回到 online Editor 的 Libraries ,點選 IMPORT 進行匯入函式庫的動作。

點選之後會出現另一個畫面,請繼續點選 IMPORT 按鈕。

然後透過對話框選取剛剛下載的檔案,接著按下開啟就完成函式庫匯入了。

完成函式庫匯入之後,就應該可以在搜尋函式庫中找到 DHT11 的函式庫了。

程式碼連結
計算露點溫度的程式
DHT11的接線方式可以參考這個網站