// ------------------------------------- // 49E Hall Effect Sensor - Code Example // ------------------------------------- const int pinHall = A0; void setup() { pinMode(pinHall, INPUT); Serial.begin(9600); } void loop() { //we measure 10 times adn make the mean long measure = 0; for(int i = 0; i < 10; i++){ int value = measure += analogRead(pinHall); } measure /= 10; //voltage in mV float outputV = measure * 5000.0 / 1023; Serial.print("Output Voltaje = "); Serial.print(outputV); Serial.print(" mV "); //flux density float magneticFlux = outputV * 53.33 - 133.3; Serial.print("Magnetic Flux Density = "); Serial.print(magneticFlux); Serial.print(" mT"); delay(2000); }
/* Analog 49E Hall Effect sensor test Basic code for reading the analog output of the 49E hall effect sensor. Sensor is connected to A0, but can be any analog input pin. */ const int AnalogPin = A0; const float GAUSS_PER_STEP = 2.57; // Sensor outputs approx 1.9mV / Gauss. // ADC step is about 4.89mV / Step for 5V operation. float rawValue = 0.0; // Raw ADC Reading float gaussValue = 0.0; float zeroLevel = 518.0; // Adjust value as needed to get zero rawValue output with no magnetic field. //=============================================================================== // Initialization //=============================================================================== void setup() { pinMode (AnalogPin, INPUT); Serial.begin(9600); // Set comm speed for debug window messages } //=============================================================================== // Main //=============================================================================== void loop() { rawValue = analogRead (AnalogPin) - zeroLevel; // Output normalized to '0' with no field present Serial.print ("Reading Raw: "); Serial.println (rawValue); // Reading positive relative to the South Pole, the North Pole negative gaussValue = rawValue * GAUSS_PER_STEP; Serial.print ("Reading in Gauss: "); Serial.println (gaussValue); delay (3000); }