Compré este sensor de DFRobot para medir la corriente DC usando mi 5v Trinket Pro. Seguí la configuración de cableado y las muestras de código de su sitio web. Parece que funciona bien una vez que todo está configurado, pero me pregunto ¿por qué es que una vez que desconecto las líneas de las conexiones de ENTRADA y SALIDA, todavía obtendría una lectura? Mi entendimiento es que debería obtener un valor de 0A una vez que los desconecte. ¿Me estoy perdiendo de algo?
Se adjuntan las fotos de mi configuración a continuación:
Actualización:aquíestáelcódigodelboceto
//includethelibrarycode:#include<LiquidCrystal.h>intRS=3;intEN=4;intD4=9;intD5=10;intD6=11;intD7=12;//initializethelibrarywiththenumbersoftheinterfacepinsLiquidCrystallcd(RS,EN,D4,D5,D6,D7);constintnumReadings=30;floatreadings[numReadings];//thereadingsfromtheanaloginputintindex=0;//theindexofthecurrentreadingfloattotal=0;//therunningtotalfloataverage=0;//theaveragefloatcurrentValue=0;//thesetupfunctionrunsoncewhenyoupressresetorpowertheboardvoidsetup(){//setuptheLCD'snumberofcolumnsandrows:lcd.begin(16,2);for(intthisReading=0;thisReading<numReadings;thisReading++)readings[thisReading]=0;}//theloopfunctionrunsoverandoveragainforevervoidloop(){total=total-readings[index];readings[index]=analogRead(0);//Rawdatareadinglcd.setCursor(0,1);lcd.print("Orig: ");
lcd.print(readings[index]);
//Data processing:510-raw data from analogRead when the input is 0;
// 5-5v; the first 0.04-0.04V/A(sensitivity); the second 0.04-offset val;
readings[index] = (readings[index]-512)*5/1024/0.04-0.04;
total= total + readings[index];
index = index + 1;
if (index >= numReadings)
index = 0;
average = total/numReadings; //Smoothing algorithm (http://www.arduino.cc/en/Tutorial/Smoothing)
currentValue= average;
lcd.setCursor(0, 0);
lcd.print("A0: ");
lcd.print(currentValue);
delay(10);
}
Por favor, tengan paciencia conmigo, ya que todavía soy nuevo en electrónica.