標(biāo)題: HC-06藍牙+DHT11溫濕度模塊 [打印本頁]

作者: 51黑黑黑    時間: 2016-2-23 18:28
標(biāo)題: HC-06藍牙+DHT11溫濕度模塊
【單片機入門】【剛碼好的字一下子都沒了,第二次碼有點消極怠工了...】
剛開始鼓搗了兩天單片機,終于小有收獲。做了兩件事,將HC-06藍牙模塊與單片機連接,實現(xiàn)手機藍牙端和單片機的通信;利用DHT11采集到的溫濕度數(shù)據(jù)通過藍牙實時傳給手機端顯示。
1.藍牙
硬件上,我直接將藍牙模塊與單片機的串口處連接(藍牙-單片機: VCC-5V, GND-GND, RX-TX,TX-RX)?。軟件上,由于HC-06的資料比較少,我下載了幾個HC-05的程序看,發(fā)現(xiàn)都是講RX/TX(發(fā)射/接收端)接在單片機IO的情況。這才意識到,如果藍牙模塊是直接連在串口端的話,寫代碼相當(dāng)于只是串口通信了。所以嘗試打開串口實驗(這個大家都有的,買單片機老板都會送,這個程序要實現(xiàn)的是STM32通過串口和上位機的對話,STM32在收到上位機發(fā)過來的字符串后,原原本本的返回給上位機,需要注意在上位機輸入的字符串末尾加入回車鍵,否則無響應(yīng)),幾乎不需要改動什么,燒進去之后看結(jié)果。首先藍牙的LED燈亮了,是個好現(xiàn)象。手機打開藍牙串口助手的客戶端,也成功配對了藍牙(默認(rèn)密碼是0000或1234)。但是手機端顯示的卻是亂碼,我估計可能是不能識別中文的原因,所以將程序里所有輸出的中文都改成簡版的英語,這樣也能知道輸出的是哪個部分。重新燒了一次,結(jié)果如下圖:


?這才看出來,是一直提示“input”,結(jié)果是正確的,可以返回我輸入的字符串,但是單詞都得分幾次才能出來,顯然是軟件不合適。重新找了個軟件,成功解決問題,實現(xiàn)了實驗要求。而一直提示input,是由于這段代碼:


這句話原本是times 0==0,所以致使頻繁輸出input,將時間拉長就明顯好多啦~
2.溫濕度
?DHT11的代碼在網(wǎng)上也很方便的找得到,問題在于如何修改。這個模塊只有三個引腳,很自然的高接高,地接地,但是數(shù)據(jù)線接哪需要看程序是怎么給的。程序里有dht11.c和dht11.h,可以看到程序是要求數(shù)據(jù)線接單片機的PG11管腳,但是我的單片機并沒有這個管腳,這就很麻煩了,需要改變兩個文件里對管腳的定義。為了使改動的地方減少,我意圖改為PA11/PB11/PC11中的某個管腳。此時,需要查看單片機的原理圖,看哪個管腳是空閑的,同時綜合板子上管腳的位置,我選擇了改為PC11。修改的程序如下圖(.c+.h):
?.c


.h


?但這個程序較為麻煩的是,主函數(shù)也得改,因為原程序的作用是:開機的時候先檢測是否有DHT11存在,如果沒有,則提示錯誤。只有在檢測到DHT11之后才開始讀取溫濕度值,并顯示在LCD上,如果發(fā)現(xiàn)了DHT11,則程序每隔100ms左右讀取一次數(shù)據(jù),并把溫濕度顯示在LCD上。而我的要求是輸出到串口處。所以直接將所有LCD輸出的句子都刪去,改為printf即可。我仔細(xì)看了藍牙模塊的程序,主函數(shù)里并沒有特別的地方,直接用printf就輸出到了串口處了?墒沁@次卻不一樣,打開手機藍牙端,沒有任何反應(yīng)。我百度了一下原因,http://blog.csdn.net/wdscq1234/article/details/7944036 這個鏈接給我?guī)椭,意思是printf需要重定向到串口處。我再一次打開藍牙的keil工程,發(fā)現(xiàn)確實勾選“UseMicroLIB”了,所以想試試“Target——Code Generation——選中UseMicroLIB”的辦法,結(jié)果確實可靠。如下圖:


測試的溫度濕度準(zhǔn)不準(zhǔn)是一碼事,起碼連接和代碼是沒有問題了~?
嗯,今天就這些。寶寶是純小白,希望大家指教!?


作者: 方立超    時間: 2016-6-27 09:56
求代碼

作者: SilenceSmile    時間: 2017-4-30 21:02
求代碼
作者: aliang434    時間: 2017-5-14 12:38
樓主有代碼嗎?急求啊!
作者: jxchen    時間: 2019-1-20 21:07

下載學(xué)習(xí),謝謝分享
作者: hjy175446244    時間: 2019-6-21 21:04
急求源代碼




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1