複習一下上次使用過的液晶螢幕:
將文字顯示在電腦的序列埠以及LCD上 LCDtext:
現在請在網路上搜尋各種sensor如何在arduino裡使用,例如想要利用超聲波來讀取距離:搜尋到這篇Ming's Blogger- Arduino範例14:測試超音波模組(HC-SR04)以及這篇小狐狸事務所- Arduino 超音波模組測試
參考上面的接線
稍改寫一下程式碼: Ultra.ino
測試一下,是否可以正常運作?
如果成功了,如何把超聲波的資料也同步寫到LCD上?
這樣就算拔掉電腦連線,也可以到處測距離,只要讀液晶螢幕數字就知道了。
如果想試試除了C語言之外的寫法,可以參考這篇:
LCD顯示模組 - 阿玉maker研究區
視力保健機 - 阿玉maker研究區
Ali's Wonderland
2018年6月21日 星期四
2018年4月19日 星期四
數位溫度計實作(四):將所有功能整合
數位溫度計實作(三):測試LCD
要離線讀取溫度,除了利用藍牙與手機,最方便的方式就是利用液晶螢幕了,這裡使用的是I2C介面的LCD,只需要4條接線就能控制,一次可以顯示2列,各16個字元,可以參考CooperMa這篇的介紹。
先將4條接線與Arduino接上
I2C介面的LCD需要使用函式庫,一樣下載後,複製資料夾到Arduino主程式裏:
現在來寫些訊息,測試LCD輸出吧!
執行後,這就是你的 Hello World! 程式。
先將4條接線與Arduino接上
I2C介面的LCD需要使用函式庫,一樣下載後,複製資料夾到Arduino主程式裏:
現在來寫些訊息,測試LCD輸出吧!
執行後,這就是你的 Hello World! 程式。
數位溫度計實作(二):裝上藍牙,利用手機看結果
如果在不使用電腦的情況下,如何將測到的溫度結果show出來呢?
這時候藍牙傳輸+手機顯示或許是不錯的選擇。只需要在剛寫好的程式裡加上1行:
這樣手機的APP就知道要顯示底下數值。
請將修改好的程式上傳到Arduino:
藍牙的接線(接到Arduino的TX、RX):
(請注意:上傳程式到Arduino時,TX、RX與藍牙的接線要先拔起)
另外,手機上(Android)安裝 Bluetooth Graphics這個App,就可以把數值畫出來。
請參考操作影片。
這時候藍牙傳輸+手機顯示或許是不錯的選擇。只需要在剛寫好的程式裡加上1行:
這樣手機的APP就知道要顯示底下數值。
請將修改好的程式上傳到Arduino:
藍牙的接線(接到Arduino的TX、RX):
(請注意:上傳程式到Arduino時,TX、RX與藍牙的接線要先拔起)
另外,手機上(Android)安裝 Bluetooth Graphics這個App,就可以把數值畫出來。
請參考操作影片。
數位溫度計實作(一):安裝DS18B20溫度計
DS18B20溫度計的測量範圍為-55°C to +125°C (請看原廠datasheet),使用時需要外接1個4.7k歐姆的電阻,將電源5V、DS18B20的信號腳連接在一起。例如,如果我們是用Arduino的第5腳(D5)來讀取DS18B20的訊號:
那麼就把電阻跨接在電源5V、Arduino的第5腳。
將DS18B20溫度計的電源正、負端與信號線都插入麵包板上的相對位置:
接下來就要借助程式部分來把溫度計讀到的訊號,翻譯成真正的溫度數值。DS18B20需要用到2個函式庫(原廠已經寫好,方便用戶可以用簡單語法讀到感測器結果),需要先下載後,解壓縮2個資料夾、將資料夾複製到Arduino主程式的library資料夾:
函式庫複製好後,就可以下指令使用DS18B20,請下載以下程式,並在Arduino IDE中開啟:
將這個程式上傳到Arduino(記得要先接上USB線,選好板子、port):
打開電腦的序列埠監控視窗,就可以看到執行結果。
只要更改ds18b.ino程式裡delay(括號)的毫秒數,就可以選擇需要的時間輸出間隔。
那麼就把電阻跨接在電源5V、Arduino的第5腳。
將DS18B20溫度計的電源正、負端與信號線都插入麵包板上的相對位置:
接下來就要借助程式部分來把溫度計讀到的訊號,翻譯成真正的溫度數值。DS18B20需要用到2個函式庫(原廠已經寫好,方便用戶可以用簡單語法讀到感測器結果),需要先下載後,解壓縮2個資料夾、將資料夾複製到Arduino主程式的library資料夾:
函式庫複製好後,就可以下指令使用DS18B20,請下載以下程式,並在Arduino IDE中開啟:
將這個程式上傳到Arduino(記得要先接上USB線,選好板子、port):
打開電腦的序列埠監控視窗,就可以看到執行結果。
只要更改ds18b.ino程式裡delay(括號)的毫秒數,就可以選擇需要的時間輸出間隔。
2018年3月22日 星期四
所以您想寫點程式嗎?
控制LED:555
555蜂鳴器
如果使用程式呢?
各種micro-controllers
why arduino?
各種寫程式到arduino的方式:
電路與程式的練習:曹齊平老師的科學魔法車
電路與程式的練習:Arduino創辦人的線上課程
電子零件與電阻判讀:
開始寫第一個程式: Hello World!
稍微複雜的程式:
測水溫_2個sensor_液晶_中斷調頻
藍牙遙控機器人
555蜂鳴器
如果使用程式呢?
各種micro-controllers
why arduino?
各種寫程式到arduino的方式:
電路與程式的練習:曹齊平老師的科學魔法車
電子零件與電阻判讀:
開始寫第一個程式: Hello World!
使用Arduino Nano
- 安裝Arduino IDE
- 將 Nano板與電腦USB接上,如果沒有偵測到板子,需要灌驅動程式(參考之前的這篇文章)
- 在Arduino IDE裏,選擇正確的型號與COM port:
- 控制LED(從範例裏):
- 控制LED(下載程式碼):Blink
- 上傳寫好的程式到Arduino Nano裏
- 修改delay(),變化閃爍的效果。
稍微複雜的程式:
測水溫_2個sensor_液晶_中斷調頻
藍牙遙控機器人
2018年1月30日 星期二
Arduino溫度量測:使用DS18B20
根據原廠datasheet,DS18B20可以測的溫度範圍是 -55°C to +125°C。
需要的材料:(根據原廠,還需要1個4.7k的電阻)
將Nano板插到麵包板,如果有液晶螢幕(I2C介面)及藍牙也可以先佈線一下(上傳程式時,藍牙的電源要先斷開)。
在5V與D5兩個位置,利用4.7k電阻接在一起。等一下DS18B20的訊號腳要接在D5。
將DS18B20的紅、黑接腳分別插到5V、-極,信號腳插到D5:
完成硬體的線路後:
接下來要上傳程式到Arduino Nano板。
(參考前篇文章,先下載Arduino IDE,並安裝)
(用USB線連接電腦與Nano板,可能需要安裝驅動)
打開Arduino IDE,選擇適當的板子型號與USB COM#
溫度感測器DS18B20需要安裝2個函式庫,請下載後解壓縮,將2個資料夾移動到Arduino的資料夾中:
接下來就可以上傳程式了。打開ds18b.ino這個檔案、上傳:
打開序列埠可以看到執行結果,目前設定200毫秒輸出一次資料。
如果一次想測量兩個以上的溫度,可以同時使用2組DS18B20,只要將第2組的訊號線也同樣插到D5接腳就可以。
需要的材料:(根據原廠,還需要1個4.7k的電阻)
將Nano板插到麵包板,如果有液晶螢幕(I2C介面)及藍牙也可以先佈線一下(上傳程式時,藍牙的電源要先斷開)。
在5V與D5兩個位置,利用4.7k電阻接在一起。等一下DS18B20的訊號腳要接在D5。
(參考前篇文章,先下載Arduino IDE,並安裝)
(用USB線連接電腦與Nano板,可能需要安裝驅動)
打開Arduino IDE,選擇適當的板子型號與USB COM#
溫度感測器DS18B20需要安裝2個函式庫,請下載後解壓縮,將2個資料夾移動到Arduino的資料夾中:
接下來就可以上傳程式了。打開ds18b.ino這個檔案、上傳:
- #include <OneWire.h>
- #include <DallasTemperature.h>
- #define ONE_WIRE_BUS 5 //digitalPin "5"
- OneWire oneWire(ONE_WIRE_BUS);
- DallasTemperature sensors(&oneWire);
- float Celsius = 0;
- void setup() {
- Serial.begin(9600);
- }
- void loop() {
- sensors.requestTemperatures();
- Celsius = sensors.getTempCByIndex(0);
- //第"0"個DS18B20,可同時多個
- //Serial.print("E"); //輸出到 手機app
- Serial.println(Celsius);
- delay(200);
- }
打開序列埠可以看到執行結果,目前設定200毫秒輸出一次資料。如果一次想測量兩個以上的溫度,可以同時使用2組DS18B20,只要將第2組的訊號線也同樣插到D5接腳就可以。
程式測水溫_2個sensor ds18b_Bt
另外,也可以顯示在液晶(LCD)
訂閱:
文章 (Atom)