最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

用ARDUINO開(kāi)發(fā)板自制溫濕度計(jì)(含WEMOS D1開(kāi)發(fā)板環(huán)境安裝)

2020-01-15 20:43 作者:失傳技術(shù)  | 我要投稿

ARDUINO從入門到創(chuàng)客帶師第四彈 自制溫濕度計(jì)(翻車)

咱想起以前實(shí)驗(yàn)室的墻上掛著的介紹說(shuō)過(guò)法拉第之所謂偉大的原因是他不止把成功的經(jīng)歷寫在科學(xué)日記里,也把翻車失敗的經(jīng)歷寫進(jìn)去,因此咱對(duì)于咱翻車的經(jīng)歷也毫不避諱

其實(shí)關(guān)于這個(gè)我們自己有自己的方法:失傳技術(shù)研究所小講堂 篇七十三:在自家建立小型氣象站 在自家建立小型氣象站(后續(xù)) 小米米家電子墨水屏溫濕度計(jì)PRO測(cè)評(píng) 這些方案的精度都比我們這次要做的成本要低,我們這次的唯一的優(yōu)勢(shì)是自己手搓的成本很低

通過(guò)本篇教程,我們開(kāi)始邁向自制自動(dòng)氣象站的第一步

上期:ARDUINO從入門到創(chuàng)客帶師第三彈:用單片機(jī)開(kāi)發(fā)板自制MIDI音樂(lè)盒(預(yù)算15)

本期依然是利用ARDUINO單片機(jī)開(kāi)發(fā)板自己做系列,這次咱要用到的有:

ARDUINO 開(kāi)發(fā)板,如果僅僅是想要讀取傳感器模塊的信息可以是14包郵的基于AVR 8位單片機(jī)的UNO,這里我們還提供進(jìn)階的可以WIFI聯(lián)網(wǎng)的方案需要用到D1 MINI或者ARDUINO D1模塊,前者10塊錢包郵吧后者貴點(diǎn)16-18 NODEMCU也是可以的,因?yàn)槲覀兊哪K供電可以是3.3-5V范圍中的任意電壓,此外NODEMCU也有5V輸出

DHT11溫濕度傳感器模塊

單模塊的成本很便宜的

如果運(yùn)氣好,你可以買到5元包郵或者滿9.9包郵的

當(dāng)然精度很一般,濕度精度5%,溫度精度±2℃ 算上開(kāi)發(fā)板和杜邦線這套玩意成本也有20了,這么一想小米的溫濕度計(jì)帶藍(lán)牙5.0模塊和挺大一塊電子墨水屏才賣70是不是很便宜?這個(gè)教程帶給各位的,可能只有成就感了

在本期教程中,我們將利用全世界最好的搜索引擎,實(shí)際地解決自己需要解決的問(wèn)題(并沒(méi)有解決)

首先我們打開(kāi)TB,搜索DHT11

然后我們很容易就能找到相關(guān)結(jié)果

默認(rèn)搜索結(jié)果的第一個(gè)就可以,點(diǎn)進(jìn)去

這家雖然東西又貴據(jù)說(shuō)質(zhì)量還比華強(qiáng)北其他店鋪賣的同款更便宜的質(zhì)量還差,但是這并不耽誤我們只看不買

點(diǎn)進(jìn)去之后往下翻,我們會(huì)看到這家店的商品信息中提供的資料

這就是我們想要的

下載之后解壓DHT11的資料

其中一個(gè)是原理圖、說(shuō)明書、測(cè)試程序之類的資料,這個(gè)其實(shí)對(duì)于了解模塊有幫助但是并不是這次項(xiàng)目需要的文件。

畢竟知道這個(gè)傳感器包括一個(gè)電阻式感濕元件和一個(gè)NTC測(cè)溫元件,并與一個(gè)高性能8位單片機(jī)相連接之類的并不能改善這個(gè)模塊感人的精度……

這里給的測(cè)試程序居然還是51單片機(jī)的,天啊,這年頭誰(shuí)還用這玩意,STM32都直接用ARDUINO環(huán)境了,單片機(jī)真的需要從51學(xué)起嗎?你是個(gè)成熟的圖吧垃圾佬了,該學(xué)會(huì)怎么利用現(xiàn)成的開(kāi)源項(xiàng)目和調(diào)用庫(kù)了。

這有個(gè)WIFI資料才是我們更感興趣的東西

看WORD文檔的意思是這個(gè)用了還可以直接聯(lián)網(wǎng),不錯(cuò)啊

有項(xiàng)目文件

看得出來(lái)項(xiàng)目文件里面代碼注釋提到了11號(hào)引腳,那應(yīng)該就是我們這次的溫度傳感器模塊需要連接的引腳了

接好線之后我們慢慢盤代碼里面可能出BUG的地方

首先這個(gè)代碼提到了一個(gè)叫DHT.h的東西,簡(jiǎn)單通過(guò)搜索找出來(lái)放到庫(kù)里

關(guān)于ESP8266WiFi.h 報(bào)錯(cuò)的問(wèn)題可以先通過(guò)加載庫(kù)頂一下

其實(shí)這個(gè)代碼的注釋說(shuō)了,不建議用基于AVR單片機(jī)的

如果這時(shí)候你用的是14包郵的UNO或者D1 D1MINI的話你還需要CH340 CH341的驅(qū)動(dòng),用上次我們?cè)诎⒖帜亲鯟PU溫度顯示項(xiàng)目時(shí)候的驅(qū)動(dòng)就行

裝好驅(qū)動(dòng)檢測(cè)開(kāi)發(fā)板信息試試

如果有返回就說(shuō)明驅(qū)動(dòng)安裝成功了

然后在 文件 —— 首選項(xiàng) 附加開(kāi)發(fā)版網(wǎng)址管理 ?添加 開(kāi)發(fā)板網(wǎng)址如圖

然后開(kāi)發(fā)板的選項(xiàng)里面就有UNO WIFI了

我們常說(shuō)的D1其實(shí)全名是WeMos D1,有ARDUINO兼容版和MINI版 D1 UNO版其實(shí)有個(gè)地方需要注意就是它沒(méi)有完整的模擬輸入,相比基于AVR單片機(jī)的UNO之類的不太一樣。

這個(gè)位置是空腳

這是UNO到D1的映射,有些地方可以直接通過(guò)修改代碼實(shí)現(xiàn)

然后還需要下載一個(gè)壓縮包

解壓到C:\Users\Administrator\AppData\Local\Arduino15\staging\packages

其中Administrator是用戶名,如果你沒(méi)有管理員權(quán)限那這個(gè)地方填的就是你實(shí)際用戶名

或者在開(kāi)發(fā)板管理器搜索8266就能找到要的支持文件了

個(gè)人覺(jué)得相比掛PANDOWNLOAD好像還是ARDUINO更快

上邊還下著呢這邊完事了

哪邊快用哪個(gè)

就像之前看的那個(gè)本子說(shuō)的,哪邊錢多去哪邊,人嘛,就是這么回事。

這下開(kāi)發(fā)板可多了

再編譯試試

emmmmm

上面那行代碼的意思是讓你輸WIFI SSID和密碼

至于下面嘛,哪里不對(duì)刪哪里就行了


不能從常量型的char*轉(zhuǎn)換成變量型的char*

那就把const char換成char

Arduino語(yǔ)法詳解

為開(kāi)發(fā)板 WeMos D1 R1 編譯時(shí)出錯(cuò)可還行,嚇得我上這個(gè)資料的官網(wǎng)看了一眼,結(jié)果發(fā)現(xiàn)人家用的是這種方案:

?????

那就算了

咱現(xiàn)在手上有現(xiàn)成的8266開(kāi)發(fā)板,不可能為了現(xiàn)成的資料的問(wèn)題改掉現(xiàn)在的方案去拿面包板組什么簡(jiǎn)易8266電路,雖然我有這上面說(shuō)的所有東西,但是拉倒吧,現(xiàn)在的開(kāi)發(fā)都是用現(xiàn)成的開(kāi)發(fā)板,沒(méi)人用自己搭這種電路了,說(shuō)實(shí)在的這種東西也就看實(shí)驗(yàn)室的大佬以前玩51單片機(jī)的時(shí)候用過(guò),咱自己搞ARDUINO還真沒(méi)見(jiàn)過(guò)這種情況還需要自己弄USB轉(zhuǎn)串口模塊接線的。

/* DHT Pro Shield - Simple

*

* Example testing sketch for various DHT humidity/temperature sensors

* Written by ladyada, public domain

*

* Depends on Adafruit DHT Arduino library

* adafruit/DHT-sensor-library

*/


#include "DHT.h"


#define DHTPIN D4 ? ? // what pin we're connected to


// Uncomment whatever type you're using!

#define DHTTYPE DHT11 ? // DHT 11

//#define DHTTYPE DHT22 ? // DHT 22 ?(AM2302)

//#define DHTTYPE DHT21 ? // DHT 21 (AM2301)


// Connect pin 1 (on the left) of the sensor to +5V

// NOTE: If using a board with 3.3V logic like an Arduino Due connect pin 1

// to 3.3V instead of 5V!

// Connect pin 2 of the sensor to whatever your DHTPIN is

// Connect pin 4 (on the right) of the sensor to GROUND

// Connect a 10K resistor from pin 2 (data) to pin 1 (power) of the sensor


// Initialize DHT sensor.

// Note that older versions of this library took an optional third parameter to

// tweak the timings for faster processors. ?This parameter is no longer needed

// as the current DHT reading algorithm adjusts itself to work on faster procs.

DHT dht(DHTPIN, DHTTYPE);


void setup() {

?Serial.begin(9600);

?Serial.println("DHTxx test!");


?dht.begin();

}


void loop() {

?// Wait a few seconds between measurements.

?delay(2000);


?// Reading temperature or humidity takes about 250 milliseconds!

?// Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)

?float h = dht.readHumidity();

?// Read temperature as Celsius (the default)

?float t = dht.readTemperature();

?// Read temperature as Fahrenheit (isFahrenheit = true)

?float f = dht.readTemperature(true);


?// Check if any reads failed and exit early (to try again).

?if (isnan(h) || isnan(t) || isnan(f)) {

? ?Serial.println("Failed to read from DHT sensor!");

? ?return;

?}


?// Compute heat index in Fahrenheit (the default)

?float hif = dht.computeHeatIndex(f, h);

?// Compute heat index in Celsius (isFahreheit = false)

?float hic = dht.computeHeatIndex(t, h, false);


?Serial.print("Humidity: ");

?Serial.print(h);

?Serial.print(" %\t");

?Serial.print("Temperature: ");

?Serial.print(t);

?Serial.print(" *C ");

?Serial.print(f);

?Serial.print(" *F\t");

?Serial.print("Heat index: ");

?Serial.print(hic);

?Serial.print(" *C ");

?Serial.print(hif);

?Serial.println(" *F");

}

這串代碼就比較簡(jiǎn)單了,利用D1開(kāi)發(fā)板讀取DHT溫濕度模塊的數(shù)據(jù),然后通過(guò)串口直接輸出,這樣還是和上期的超聲波模塊一樣,用串口監(jiān)視器就可以讀數(shù)了。沒(méi)有WIFI,沒(méi)有物聯(lián)網(wǎng),但是簡(jiǎn)單可靠。

這里我發(fā)現(xiàn)自己的模塊好像是炸了,快遞已經(jīng)停運(yùn)就是想買也發(fā)不了貨所以直接上下一章了。

PS:DHT22好貴啊……15塊錢一個(gè)模塊趕上開(kāi)發(fā)板了,精度嘛確實(shí)高了些,濕度2%,溫度±0.5℃,但是這個(gè)價(jià)格這個(gè)精度還真就不如加錢上小米那套東西了。

我還是覺(jué)得WIFI比藍(lán)牙好,畢竟這年頭如果不是必要,誰(shuí)沒(méi)事手機(jī)開(kāi)藍(lán)牙呢?小米的溫濕度計(jì)用藍(lán)牙是因?yàn)樗枰‰?,畢竟連屏幕都用電子墨水屏了,兩節(jié)CR2032+藍(lán)牙5.0都可以茍半年,WIFI現(xiàn)在說(shuō)實(shí)在的比藍(lán)牙好用多了,可惜低功耗IOT方面一直沒(méi)有藍(lán)牙那種便宜的解決方案,所以小米那套才會(huì)用藍(lán)牙而不是WIFI吧,相比之下小米的臺(tái)燈就是ESP8266模塊的經(jīng)典應(yīng)用方案,是非常常見(jiàn)的利用成本不到10元的模塊搞物聯(lián)網(wǎng)的方案。

ESP8266的性能不錯(cuò),好歹也是32位MCU,還帶WIFI,相對(duì)來(lái)說(shuō)真的比藍(lán)牙好用多了,也許下期我們可以真的利用這個(gè)模塊的WIFI功能搞搞物聯(lián)網(wǎng)?


用ARDUINO開(kāi)發(fā)板自制溫濕度計(jì)(含WEMOS D1開(kāi)發(fā)板環(huán)境安裝)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
科技| 正镶白旗| 万荣县| 门头沟区| 怀仁县| 正镶白旗| 阳朔县| 双牌县| 景泰县| 翁牛特旗| 文化| 浦江县| 克山县| 西吉县| 张家界市| 英吉沙县| 广州市| 六枝特区| 镇雄县| 亚东县| 山阳县| 洛川县| 仁怀市| 县级市| 察隅县| 普安县| 宜宾县| 兴山县| 两当县| 鸡东县| 陆河县| 苗栗县| 黄浦区| 辉南县| 潮州市| 平南县| 西和县| 定州市| 贺州市| 封丘县| 永顺县|