免費下載!
[!--downpath--]37款傳感與模塊的提法,在網路上廣泛留傳,雖然就能兼容的傳感模塊肯定是不止37種的。鑒于本人手頭積累了一些傳感和執行器模塊,根據實踐出真知(一定要動手做)的理念,以學習和交流為目的,這兒打算逐一動手試試多做實驗大氣壓強傳感器的好處,不管成功與否,還會記錄出來——小小的進步或是搞不掂的問題,希望還能拋磚引玉。
【】168種傳感模塊系列實驗(資料代碼+仿真編程+圖形編程)
實驗二十七:AHT20+溫溫度氣壓模塊高精度數字型溫溫度大氣浮力傳感
大氣浮力傳感模塊的實驗環境
一、大氣浮力傳感模塊實驗所需硬件清單
四位數碼管X1
0.96寸OLED液晶屏X1
Uno開發板X1
杜邦線若干(備了9條)
高電平觸發有源蜂鳴器模塊X1
大氣浮力傳感模塊X2
LED發光晶閘管(綠、藍色)X2
IIC/I2C1602LCD液晶屏模塊X1
高電平觸發單路5V熔斷器模塊X1
Proto原型擴易拉寶(帶mini蛋糕板)X1
二、傳感器模塊實驗所需軟件平臺
代碼編程IDE(版本1.8.19)
仿真編程(版本V4.6.3)
圖形編程Mind+(版本V1.7.0RC2.0)
以及編玩邊學(線上平臺)
三、搜索和安裝“”庫
1、打開IDE——工具——管理庫,搜索并安裝“”
2、打開,搜索并下載安裝“”
下載鏈接:
四、實驗接線示意圖
1、SPI接法
Unopin…
D13SCK(Clock,from)…SCL
D12MISO(INSlaveOUT)…SDO
D11MOSI(OUTSlaveIN)…SDA
D10SSn(Slave)…CSB
2、I2C接法
VCC>VCC(3.3V)
GND>GND
SCL>A5
SDA>A4
五、實驗接線的說明
將電源引腳Vcc和GND聯接到電路的3.3伏和接地。如今,須要選擇數字插口。對于I2C,將片選引腳(CSB)聯接到Vcc,否則將其接地或保持懸空狀態。設置I2C地址。假如要設置0x77地址,請將SDO引腳聯接到Vcc。要設置0x76地址,請保持引腳懸空。該模塊不包含任何板載電流調節器或電平轉換器。為此大氣壓強傳感器的好處,要將其聯接到工作電流為5V或3.3V以外的任何電流的設備,則須要一個電平轉換器和電流調節器。
大氣浮力傳感模塊的幾個實驗
1、程序一:測試,并口復印氣溫、氣壓與海拔
(1)參考開源代碼
/*
【Arduino】168種傳感器模塊系列實驗(資料代碼+仿真編程+圖形編程)
程序一:BMP280 測試,串口打印溫度、氣壓與海拔
*/
#include //導入驅動庫
#include
#include
#include
#define BMP_SCK 13 //引腳 SPI 接法
#define BMP_MISO 12
#define BMP_MOSI 11
#define BMP_CS 10
//定義BMP280引腳
Adafruit_BMP280 bmp(BMP_CS, BMP_MOSI, BMP_MISO, BMP_SCK);
void setup() {
Serial.begin(9600);//初始化串口
Serial.println(F("BMP280 測試"));
if (!bmp.begin()) {
Serial.println(F("找不到對應的傳感器"));
while (1);
}
}
void loop() {
Serial.print(F("溫度 = "));//串口打印溫度
Serial.print(bmp.readTemperature());
Serial.println(" *C");
Serial.print(F("氣壓 = "));//串口打印氣壓
Serial.print(bmp.readPressure());
Serial.println(" Pa");
Serial.print(F("海拔 = "));//串口打印海拔
Serial.print(bmp.readAltitude(1013.25));
Serial.println(" m");
Serial.println();
delay(2000);//延時2秒
}
(2)實驗并口返回情況
(3)實驗場景圖
2、程序二:-氣壓-壓力傳感模塊測試
(1)參考開源代碼
/*
【Arduino】168種傳感器模塊系列實驗(資料代碼+仿真編程+圖形編程)
程序二:BMP280-氣壓-壓力傳感器模塊測試
*/
#include
#include
#include //導入驅動庫
#define BMP_SCK (13)//定義SPI接腳
#define BMP_MISO (12)
#define BMP_MOSI (11)
#define BMP_CS (10)
//Adafruit_BMP280 bmp; // I2C
Adafruit_BMP280 bmp(BMP_CS); //硬件SPI
//Adafruit_BMP280 bmp(BMP_CS, BMP_MOSI, BMP_MISO, BMP_SCK);
void setup() {
Serial.begin(9600);
Serial.println(F("BMP280 test"));
if (!bmp.begin()) {
Serial.println(F("Could not find a valid BMP280 sensor, check wiring!"));
while (1);
}
//數據表中的默認設置
bmp.setSampling(Adafruit_BMP280::MODE_NORMAL, //操作模式
Adafruit_BMP280::SAMPLING_X2, //溫度采樣
Adafruit_BMP280::SAMPLING_X16, //壓力采樣
Adafruit_BMP280::FILTER_X16, //過濾
Adafruit_BMP280::STANDBY_MS_500); //待機時間
}
void loop() {
Serial.print(F("Temperature = "));
Serial.print(bmp.readTemperature());
Serial.println(" *C");
Serial.print(F("Pressure = "));
Serial.print(bmp.readPressure());
Serial.println(" Pa");
Serial.print(F("altitude = "));
Serial.print(bmp.readAltitude(1020.25)); //調整為當地預測
Serial.println(" m");
Serial.println();
delay(2000);
}
(2)實驗并口返回情況
3、程序三:測試,顯示氣溫、氣壓與海拔
(1)實驗開源圖形編程(Mind+、編玩邊學)
(2)實驗并口返回情況