“SKU:RB-02S088 電流檢測傳感器”的版本間的差異
來自ALSROBOT WiKi
(→?接線示意圖) |
(→?例子程序) |
||
第55行: | 第55行: | ||
#define ELECTRICITY_SENSOR A0 | #define ELECTRICITY_SENSOR A0 | ||
int mada = 13; | int mada = 13; | ||
? | float amplitude_current; | + | float amplitude_current; |
? | + | ||
void setup() | void setup() | ||
第72行: | 第71行: | ||
Serial.println(sensor_max); | Serial.println(sensor_max); | ||
//the VCC on the RobotBase interface of the sensor is 5v | //the VCC on the RobotBase interface of the sensor is 5v | ||
? | amplitude_current=(float)sensor_max | + | amplitude_current=((float)sensor_max * (5 / 1024)) / 800 * 1000 * 2000;// 輸入電流,單位mA |
? | + | ||
Serial.println("The amplitude of the current is(in mA)"); | Serial.println("The amplitude of the current is(in mA)"); | ||
Serial.println(amplitude_current,1);//Only one number after the decimal point | Serial.println(amplitude_current,1);//Only one number after the decimal point | ||
? | |||
? | |||
} | } | ||
void pins_init() | void pins_init() | ||
第84行: | 第80行: | ||
pinMode(ELECTRICITY_SENSOR, INPUT); | pinMode(ELECTRICITY_SENSOR, INPUT); | ||
} | } | ||
? | |||
int getMaxValue() | int getMaxValue() | ||
{ | { | ||
? | int sensorValue; | + | int sensorValue; |
int sensorMax = 0; | int sensorMax = 0; | ||
uint32_t start_time = millis(); | uint32_t start_time = millis(); | ||
第95行: | 第90行: | ||
if (sensorValue > sensorMax) | if (sensorValue > sensorMax) | ||
{ | { | ||
? | |||
sensorMax = sensorValue; | sensorMax = sensorValue; | ||
} | } | ||
第102行: | 第96行: | ||
} | } | ||
</pre> | </pre> | ||
+ | |||
===程序效果=== | ===程序效果=== | ||
程序正常編譯上傳以后,打開 Arduino IDE 自帶的串口監(jiān)視器之后,會顯示出當(dāng)前檢測到的電流值。 | 程序正常編譯上傳以后,打開 Arduino IDE 自帶的串口監(jiān)視器之后,會顯示出當(dāng)前檢測到的電流值。 |
2016年11月16日 (三) 14:54的版本
目錄 |
產(chǎn)品概述
此產(chǎn)品由一個電流感應(yīng)器TA12-200組成構(gòu)成??梢詫⒋蟮碾娏髁哭D(zhuǎn)換為幅度小的電壓量輸出。該模塊采用沉金工藝,外觀更加美觀,同時采用防插反3Pin接口,操作更加安全,插口一邊有大寫字母A表示該模塊位模擬量傳感器,另一邊是電流表的圖標標志表示該模塊具有測試電流的功能。此產(chǎn)品可以應(yīng)用于交流電的電流檢測,最大可檢測的電流為5A。
規(guī)格參數(shù)
- 工作電壓 :+5v
- 最大檢測電流:5A
- 檢測類型:交流電
- 尺寸大?。?0mm x 25mm
- 重量大?。?g
- 信號類型:模擬信號
- 孔徑:4.96mm
接口定義
- S:信號引腳
- NC:不需要連接
- -:電源地
使用方法
工作原理
電流傳感器是根據(jù)電磁感應(yīng)原理設(shè)計的,本傳感器使用一個線圈,導(dǎo)線穿過線圈,當(dāng)導(dǎo)線中產(chǎn)生交流電時,由于電磁感應(yīng)的原因,模塊的線圈中會產(chǎn)生電流,從而使 Arduino 的模擬接口感測到,通過 Arduino 控制器自帶的 10 位 AD 轉(zhuǎn)換來讀取信號。
實驗硬件
- 振動馬達 * 1個
- 電位計模塊 * 1個
- 電流傳感器 * 1個
- Carduino UNO 控制器 * 1個
- 傳感器擴展板 V5.0 * 1個
- 杜邦線 * 若干
接線示意圖
引腳接線:
傳感器引腳 | 所接引腳 |
電位計模塊 + 引腳 | 穿過電流傳感器接在UNO的D13 S 引腳 |
電位計模塊 S 引腳 | 振動馬達 S 引腳 |
電位計模塊 - 引腳 | 懸空 |
電流傳感器 | 控制器 A0 引腳 |
振動馬達 + — 引腳 | 分別接在控制器Vcc和GND |
注:NC可以不接
例子程序
#define ELECTRICITY_SENSOR A0 int mada = 13; float amplitude_current; void setup() { Serial.begin(9600); pins_init(); pinMode(mada, OUTPUT); } void loop() { digitalWrite(mada, HIGH); int sensor_max; sensor_max = getMaxValue(); Serial.print("sensor_max = "); Serial.println(sensor_max); //the VCC on the RobotBase interface of the sensor is 5v amplitude_current=((float)sensor_max * (5 / 1024)) / 800 * 1000 * 2000;// 輸入電流,單位mA Serial.println("The amplitude of the current is(in mA)"); Serial.println(amplitude_current,1);//Only one number after the decimal point } void pins_init() { pinMode(ELECTRICITY_SENSOR, INPUT); } int getMaxValue() { int sensorValue; int sensorMax = 0; uint32_t start_time = millis(); while((millis()-start_time) < 1000)//sample for 1000ms { sensorValue = analogRead(ELECTRICITY_SENSOR); if (sensorValue > sensorMax) { sensorMax = sensorValue; } } return sensorMax; }
程序效果
程序正常編譯上傳以后,打開 Arduino IDE 自帶的串口監(jiān)視器之后,會顯示出當(dāng)前檢測到的電流值。
產(chǎn)品相關(guān)推薦
購買地址
周邊產(chǎn)品推薦
Arduino 旋轉(zhuǎn)角度傳感器
通用傳感器連接線 3P杜邦連接線