N K
/
analoghalls6
motor spins
Fork of analoghalls5 by
Embed:
(wiki syntax)
Show/hide line numbers
currentsensors.cpp
00001 #include "includes.h" 00002 #include "sensors.h" 00003 00004 AnalogCurrentSensor::AnalogCurrentSensor(PinName pin, float volts_per_amp) { 00005 _in = new AnalogIn(pin); 00006 _volts_per_amp = volts_per_amp; 00007 Zero(); 00008 } 00009 00010 void AnalogCurrentSensor::Zero() { 00011 float mean = 0; 00012 for(int i = 1; i<=1000; i++){ 00013 mean = 0.1f*((float) *_in) + 0.9f*mean; 00014 } 00015 _zero_level = mean; 00016 } 00017 00018 float AnalogCurrentSensor::GetCurrent() { 00019 return ((float) *_in - _zero_level) * 3.3f / _volts_per_amp; 00020 }
Generated on Fri Jul 15 2022 12:15:05 by 1.7.2