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亮),十分精准