最近在玩STM32,索性寫點筆記,加深印象,或者有助于新人摸索參考,不多說,進入正題。
單片機:STM32F407
模塊:8266
模塊:DHT22
模塊:BH1750
BH1750:I2C通訊,關于I2C通訊的過程,我這里就不多說,直接說驅動的步驟:
1、總線初始化;
2、向傳感器發送寫信號,然后配置分辨率;
3、向傳感器發送設備地址和讀信號;
4、讀數據;
很簡單,具體代碼見附件。
DHT22:這個用的是單總線的通訊方式,個人感覺最關鍵的點有2個:1、發送初始信號前要延時至少3S以上,等待電壓穩定,防止電壓抖動;2、器件手冊上的時序;
8266:這個比較簡單,采用的是AT指令的模式,光看代碼就能看懂。
上結果吧:
+-------------+----------+-----------------+---------+---------+------------------+------+------+
| temperature | humidity | light_intensity | current | voltage | time | id | date |
+-------------+----------+-----------------+---------+---------+------------------+------+------+
| 27.30 | 33.80 | 5759 | 0.00 | 0.00 | 2020-04-28 13:50 | 1 | NULL |
| 26.90 | 34.20 | 4294 | 0.00 | 0.00 | 2020-04-28 14:00 | 2 | NULL |
| 26.60 | 34.30 | 6185 | 0.00 | 0.00 | 2020-04-28 14:10 | 3 | NULL |
| 26.60 | 34.40 | 5759 | 0.00 | 0.00 | 2020-04-28 14:20 | 4 | NULL |
| 26.50 | 34.70 | 5376 | 0.00 | 0.00 | 2020-04-28 14:30 | 5 | NULL |
+-------------+----------+-----------------+---------+---------+------------------+------+------+
單片機源程序如下:
所有程序51hei提供下載:
代碼.rar
(4.53 KB, 下載次數: 48)
2020-4-28 14:34 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|