arduino簡易溫濕度計,可應用於:
第五章:受器-->中樞神經-->動器,神經傳導實做。
第六章:測試人呼出的氣體含有水氣。
剩下裝盒,製作「學生用說明書」,即可在課堂上玩。
Arduino UNO (板子有更便宜的)
LCD1602
I2C接口 (建議去找焊接好的)
杜邦線40p公母 (夠四組用)
注意事項:
(1)需自行焊接LCD1602、I2C接口,後來有找到幫忙焊好也更便宜,但還沒買。
(2)杜邦線可以做出四組,我把「紅橙黃綠」當運動神經,「黑白灰」當成感覺神經。
(3)接法:
I2C-->杜邦線-->Arduino板
GND-->紅-->GND
VCC-->橙-->5V
SDA-->黃-->A4
SCL-->綠-->A5
DHT11:
DAT-->黑-->D3
VCC-->白-->3.3V
GND-->灰-->GND
(4)需要函式庫
https://github.com/adafruit/DHT-sensor-library
https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads
程式:
================================
/* 將DHT11測得的溫濕度顯示在LCD與序列阜視窗 */
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <dht.h> //使用DHT11 Library
LiquidCrystal_I2C lcd(0x27,16,2);
dht DHT; //定義DHT11 物件
#define dht_dpin 3 //定義讀取資料的 Pin腳
void setup() {
Serial.begin(9600);
delay(300); //Let system settle
lcd.init(); // initialize the lcd
lcd.backlight();
lcd.begin(16,2);
}
void loop() {
{
lcd.setCursor(0, 0);
int chk = DHT.read11(dht_dpin);
switch (chk) {
case 0:
lcd.print("Humidity:");
lcd.print((float)DHT.humidity, 1);
lcd.print("%");
lcd.setCursor(0, 1);
lcd.print("Tempure:");
lcd.print((float)DHT.temperature, 1);
lcd.print("oC");
break;
case -1:
lcd.print("Checksum error");
break;
case -2:
lcd.print("Time out error");
break;
default:
lcd.print("Unknown error");
break;
}
{
DHT.read11(dht_dpin); //去library裡面找DHT.read11
Serial.print(DHT.temperature);
Serial.print(",");
Serial.println(DHT.humidity);
}
}
delay(2000);
}
================================
參考資料:
http://ming-shian.blogspot.tw/2014/05/arduino19dht11.html
http://blogger.gtwang.org/2015/02/ywrobot-arduino-lcm-1602-iic-v1-lcd-display.html
參考資料:
http://ming-shian.blogspot.tw/2014/05/arduino19dht11.html
http://blogger.gtwang.org/2015/02/ywrobot-arduino-lcm-1602-iic-v1-lcd-display.html
這是我之前沒用I2C,所以arduino的腳位被佔滿,只好用擴充板,這樣成本會提高。
沒有留言:
張貼留言