[Mise à jour le 25/6/2024]
Un courant électrique est un mouvement d'ensemble de porteurs de charges électriques, généralement des électrons, au sein d'un matériau conducteur. Ces déplacements sont imposés par l'action de la force électromagnétique, dont l'interaction avec la matière est le fondement de l'électricité. Wikipédia
/* ACS714 sur Arduino Uno */ #define RefVal 5.0 #define Pin A0 // Take the average of 500 times const int averageValue = 500; long int sensorValue = 0; float sensitivity = 1000.0 / 185.0; //1000mA per 185mV // Output voltage with no current: 2500mV float Vref = 2500; void setup() { Serial.begin(9600); } void loop() { // Read the value 500 times: for (int i = 0; i < averageValue; i++) { sensorValue += analogRead(Pin); // wait 2 milliseconds before the next loop delay(2); } sensorValue = sensorValue / averageValue; // The on-board ADC is 10-bits // Different power supply will lead to different reference sources // example: 2^10 = 1024 -> 5V / 1024 ~= 4.88mV // unitValue= 5.0 / 1024.0*1000 ; float unitValue = RefVal / 1024.0 * 1000; float voltage = unitValue * sensorValue; // When no load,Vref=initialValue Serial.print("initialValue: "); Serial.print(voltage); Serial.println("mV"); // Calculate the corresponding current float current = (voltage - Vref) * sensitivity; // Print display current (mA) Serial.print(current); Serial.println("mA"); Serial.print("\n"); // Reset the sensorValue for the next reading sensorValue = 0; // Read it once per second delay(1000); }
/*############################################################################## Connexions de l'ACS714 à une carte Arduino Uno * Vcc -> 5V # Alimentation du module * GND -> GND * OUT -> PIN A0 # Signal de sortie du cateur (tension) ##############################################################################*/ // Constantes et variables const int Ucapteur = A0; // Sortie du capteur : tension (image de l'intensité mesurée) int N = 0; // Valeur délivrée par le CA/N float Intensite = 0; // Valeur de l'intensité mesurée par l'ACS714 void setup() { Serial.begin(9600); } void loop() { N = analogRead(Ucapteur); Intensite = ((float)(N - a) * b) / c; // Calculer a,b et c pour un ACS714 à partir de l'étude de la chaîne d'information Serial.print("Intensité = " ); // Affichage dans la console Serial.print(Intensite); Serial.println("A"); delay(2000); }
/*############################################################################## Author: * Mirko Prosseda (06-2013) * email: mirko.prosseda@gmail.com Description: * 5A Linear Current Sensor test sketch v1.0 * Read current value from the sensor and print its value on the Serial Monitor Connections: * BOARD -> ARDUINO * Vcc -> 5V * GND -> GND * OUT -> PIN A0 ##############################################################################*/ // Define constants and variables const int analogInPin = A0; // Analog input pin that the current sensor is attached to int sensorValue = 0; // value read from the sensor float outputValue = 0; // converted value of the sensor reading // Initialization void setup() { Serial.begin(9600); // Serial Port initialization } // main loop void loop() { sensorValue = analogRead(analogInPin); // reads the sensor value and convert it outputValue = ((float)(sensorValue - 338) * 5 / 0.11) / 1024; // A vérifier Serial.print("Current Sensor value= " ); // print results Serial.print(outputValue); Serial.println("A"); delay(200); }