37款傳感器與執行器的提法,在網絡上廣泛流傳,其實Arduino能夠兼容的傳感器模塊肯定是不止這37種的。鑒於本人手頭積累了一些傳感器和執行器模塊,依照實踐出真知(一定要動手做)的理念,以學習和交流為目的,這里准備逐一動手嘗試系列實驗,不管成功(程序走通)與否,都會記錄下來---小小的進步或是搞不掂的問題,希望能夠拋磚引玉。
【Arduino】168種傳感器模塊系列實驗(資料+代碼+圖形+仿真)
實驗六十一:電壓檢測模塊 Voltage Sensor 電壓傳感器

電壓檢測傳感器模塊資料
由於目前電子產品各式各樣,供電電源的電壓也各不相同,要想檢測就需要一款合適的電壓檢測模塊和控制器。控制器模擬接口檢測輸入電壓上限為5V,也就是說大於5V的電壓將無法檢測。
2011 年新推出的這款電壓檢測模塊能夠解決此問題,實現檢測大於5V的電壓,此模塊基於電阻分壓原理所設計,能使紅色端子接口輸入的電壓縮小5倍,模擬輸入電壓上限為5V,那么電壓檢測模塊的輸入電壓則不能大於5V×5=25V(如果用到3.3V系統,輸入電壓不能大於3.3Vx5=16.5V)。因為Arduino所用AVR 芯片為10位AD,所以此模塊的模擬分辨率為0.00489V(5V/1023),故電壓檢測模塊檢測輸入下限電壓為 0.00489V×5=0.02445V。
通過3P傳感器連接線插接到傳感器擴展板,不僅可以輕松實現對電壓電量大小的檢測,監控互動媒體作品或機器人電池供電的電量,也可以通過IICLCD1602液晶模塊顯示電壓制作電壓監測器。

為配合實驗,找了一塊DC-DC升壓模塊

升壓模塊
1、體積小可調升壓模塊,可輕松安裝於各種小型設備里面。
2、可采用MicroUSB輸入,用USB充電器或者移動電源通過手機數據線即3、可輕松得到9V,12V,15V,18V,24V的常用電壓,使用非常方便。
4、寬的輸入和輸出電壓,高的轉換效率。

升壓模塊特性
1)大輸出電流:2A(建議在1A內使用)
2)輸入電壓:2 v--24 v
3)大輸出電壓:> 28 v(建議在26V內使用)
4)效率:> 93%(效率與輸入和輸出的壓差有關)
5)尺寸:30mm* 17mm* 14mm(長*寬*高)
注意事項
1)此模塊是升壓模塊,輸出電壓要大於輸入電壓
2) 峰值電流輸出電流不過2A


電壓檢測傳感器模塊
此模塊基於電阻分壓原理所設計,能使端子接口輸入的電壓縮小5倍,Arduino模擬輸入電壓最大為5V,那么電壓檢測模塊的輸入電壓則不能大於5V×5=25V(如果用到3.3V系統,輸入電壓不能大於3.3Vx5=16.5V)。因為Arduino所用AVR芯片為10位AD,所以此模塊的模擬分辨率為0.00489V(5V/1023),故電壓檢測模塊檢測輸入最小電壓為0.00489V×5=0.02445V。

電壓傳感器模塊參數
電壓輸入范圍:DC0-25V
電壓工作范圍:DC0-25V
電壓檢測范圍:DC0.02445V-25V
數據類型:模擬輸入
電壓模擬分辨率:0.00489V
DC輸入接口:紅色端子正極接VCC,負極接GND
尺寸:30mm x 25mm
接口類型:KF2510-3P
輸出接口:
"-"接GND,
"+"接5/3.3V,
"S"接Arduino的AD引腳(A0)

實驗接線示意圖

實驗開源代碼
/*
【Arduino】66種傳感器模塊系列實驗(61)
實驗六十一:電壓檢測模塊 Voltage Sensor 電壓傳感器
試試看波形如何
*/
void setup()
{
Serial.begin(9600);
}
void loop()
{
int val;
float temp;
val=analogRead(0);
temp=val/40.92;
val=(int)temp;
Serial.println(val);
delay(1000);
}
串口輸出的實驗電壓變動波形圖


/*
【Arduino】66種傳感器模塊系列實驗(61)
實驗六十一:電壓檢測模塊 Voltage Sensor 電壓傳感器
程序之二
*/
int analogpin=0;
int val,val5;
int val2=0;
int val3=0;
int val4=0;
void setup()
{
Serial.begin(9600);
}
void loop()
{
int val,val5;
float val1;
val=analogRead(analogpin);
val1=val/3.9;
val5=(int)val1;
val3=val5/100;
val2=(val5%100)/10;
val4=val5%10;
Serial.print("$CLEAR\r\n");
Serial.print("$GO 1 1\r\n");
Serial.print("$PRINT Voltage:\r\n");
Serial.print("$GO 1 9\r\n");
Serial.print("$PRINT ");
Serial.print(val3);
Serial.print(val2);
Serial.print(".");
Serial.print(val4);
Serial.println("V");
delay(1000);
}
串口輸出的實驗電壓實時變動數值

實驗開源圖形編程(Mind+)




設定12V為監控電壓闕值,當電壓小於12V時自動報警(板載LED亮),十分精准

