This is the development sandbox for the DRV425EVM and its magnetic sensing.
Dependencies: mbed
Repository for the 2015 OhmBoyZ Capstone group.
main.cpp
- Committer:
- Krabby127
- Date:
- 2015-12-01
- Revision:
- 11:791839389530
- Parent:
- 10:3f9fbc127abb
- Child:
- 12:b9d71de8733d
File content as of revision 11:791839389530:
#include "mbed.h" #include <math.h> AnalogIn analog_value(A0); DigitalOut led(LED1); int main() { float meas; float b; printf("\nAnalogIn example\n"); while(1) { meas = analog_value.read(); // Converts and read the analog input value (value from 0.0 to 1.0) meas = meas * 3300; // Change the value to be in the 0 to 3300 range (currently to mV) printf("meas = %fmV\n\r",meas); // Print out raw measurement in terms of mV b=(((meas-(3.3/2.0*1000))/1000)/(4.0*12.2*100.0)); // Based on equation 1 from DRV425EVM pdf //VVOUT [V] = B × G × RSHUNT × GAMP = B [mT] × 12.2 mA/mT × RSHUNT [Ω] × 4 [V/V] //VVOUT is with reference to REFIN //0 Tesla is VDD/2 // 12.2 mA/mT printf("b = %f Gauss\n\r",b); // Print out b field measure in milliTesla printf("B = %fuT\n\r", b*100.0); // Output B field in micro-Tesla if (meas > 2000) { // If the value is greater than 2V then switch the LED on // greater than 410 microGauss [40 mT] led = 1; } else { led = 0; } wait(1); // wait 1 second } }