Mesurer une intensité avec l'Arduino

Salut, cette année c’est la terminale, et j’ai un projet à faire
Je suis malheureusement très mauvais en programmation et les profs c’est pas ça non plus
Le but du projet est de pouvoir voir sa consommation de courant avec son téléphone à l’aide d’un shield GSM afin de voir une éventuelle panne

Je possède un Capteur de courant 5A MR361 http://www.gotronic.fr/art-capteur-de-courant-5a-mr361-20839.htm

J’ai trouvé un site qui m’aide mais je comprend pas trop comment renvoyer la donnée du courant au pc pour ensuite l’envoyer au téléphone à l’aide du shield GSM

Merci d’avance pour votre aide

Eukwa

Je vais t’expliquer comment on peut t’aider :

  • Tu nous donne l’adresse du site ET le code que t’as essayé
  • tu nous expliques précisement ce que tu n’as pas compris

Et ensuite on t’aide

Ah :/ j'ai oublié de le mettre http://www.mon-club-elec.fr/pmwiki_mon_club_elec/pmwiki.php?n=MAIN.ArduinoExpertCanCapteurCourantACS7145A

Le programme est bien expliqué mais je ne trouve pas comment tirer la donnée du courant afin de l'envoyer au shield L'interface processing ne m’intéressant pas, je ne sais pas si il y en a forcément besoin

Ben, il n'y a rien à faire de plus.

Ta mesure est ecrite sur la console ici : Serial.print("CAN=:"),Serial.print(mesureBrute), Serial.println(":=finCAN"); Quelques lignes plus bas, y a la moyenne.

Tout ça s'affiche dans la console.

Maintenant il faut que t'apprenne à te servir du shield seul. (ne nous demande pas comment, y a 10 posts sur le sujet en ce moment !)

Ensuite tu pourras mélanger les 2 programmes

D'accord merci, car mercredi j'ai tout branché correctement, etc, et ça me donnais rien du tout, je vais refaire tout et je vous tient au courant

J'ai rebranché et j'ai vu ou je m'étais trompé, je n'avais pas changé les bauds dans le moniteur Maintenant le soucis c'est qu'avec 0.1 / 0.5 / 2.5 A j'ai toujours la même ligne qui défile : CAN=:1023:=finCAN CAN=:1023:=finCAN CAN=:1023:=finCAN CAN=:1023:=finCAN CAN=:1023:=finCAN CAN=:1023:=finCAN

Je n'ai pas utilisé la partie processing car j'en aurai pas besoin avec le shield donc je pense pas qu'elle soit utile

prend une photo de ton cablâge et envoie ici.

/!\ Pour pouvoir joindre un fichier ici, il faut répondre en utilisant le bouton "reply". Ensuite, il y a un lien (Attachments and other options) qui apparait

Désolé pour le retard, mais j'ai que SIN le mercredi et vendredi Voici la photo |500x281 Les fils qui partent du capteur vont sur une lampe avec l'alim que j'ai réglé en 2.5 V et 0.1 / 0.5 / 2.5 A Le fil +5V du capteur va sur le 5V de l'Arduino, le GND sur le GND de l'Arduino et le OUT sur l'A0

Je ne trouve toujours pas comment mesurer l'intensité et avoir la valeur, personne n'aurait une idée svp

Bon déjà ta photo c'est bien gentil mais en basse résolution comme elle est carrément inutile. Mais bon, partons du principe que les connexion que tu annonces sont bonnes.

Est-ce que tu as collé un ampèremètre pour vérifier que ça passait bien ? Est-ce que tu as vérifier aux bornes de ton ACS si tout était correct ? Bien 5V ? Tension de la sortie OUT Ok par rapport au courant ? Si oui problème entre l'ACS et Arduino : soit mauvaise connexion du OUT, soit problème dans le code

J'ai pris l’ohmmètre pour vérifier les connexions et c'est bon tout le temps, pareil pour l'alim Après pour le code j'ai trouvé sur internet je sais pas si il fonctionne car sur le site il y a un 2ème programme Je vais essayer de faire un programme de moi même mais je connais rien

Vout aussi en fonction du courant ?

Ça sort les bons courants :/

Sinon j'ai aussi trouvé http://f5mna.free.fr/Arduino.htm dans la partie du courant mais ca donne un programme énorme et faux, je suis perdu

Eukwa: Ça sort les bons courants :/

Courant ou tension ?????

Punaise faudrait vraiment y mettre du tient ça commence à devenir lourd

T'as juste un analogRead() à faire

// to the pins used:
const int analogInPin = A0;  // Analog input pin that the potentiometer is attached to

int sensorValue = 0;        // value read from the pot

void setup() {
 // initialize serial communications at 9600 bps:
 Serial.begin(9600); 
}

void loop() {
 // read the analog in value:
 sensorValue = analogRead(analogInPin);            
 // map it to the range of the analog out: 

 // print the results to the serial monitor:
 Serial.print("sensor = " );                       
 Serial.print(sensorValue);      

 // wait 100 milliseconds before the next loop
 // for the analog-to-digital converter to settle
 // after the last reading:
 delay(100);                     
}

Merci, je vais voir ça, et pour courant ou tension, tu ne m'as pas demandé de voir le courant juste avant ?

Je vais tout revérifier le montage car j'ai sensor = 1023sensor = 1023sensor = 1023