bonjour touts le monde.
voila mon problème. je veux activer un relais.
pour cela j'utilise ;
CAPTEUR DE COURANT SCT-013-
ARDUINO UNO R3 DIP16
UN RELAIS 5V
alimentation 12v
J'ai écrie ce code qui n'a pas marcher
le code a étai vérifier et compiler correctement et téleverser
voila le code
#include <EmonLib.h> // Inclure la bibliothèque EmonLib
EnergyMonitor emon1; // Créer un objet de type EnergyMonitor
int relayPin = 10; // Pin du relais
int cutOffCount = 0; // Compteur de coupures de courant
unsigned long lastActivationTime = 0; // Temps depuis la dernière activation
unsigned long totalActivationTime = 0; // Temps total d'activation
void setup() {
pinMode(relayPin, OUTPUT); // Configurer la broche du relais en sortie
emon1.current(0, 50); // Configurer le capteur de courant
Serial.begin(9600); // Initialiser la communication série
}
void loop() {
double Irms = emon1.calcIrms(1480); // Lire le courant (1480 échantillons)
if (Irms > 0.1) { // Vérifier si le courant est supérieur à 0.1 A (pour éviter les fausses détections)
if (millis() - lastActivationTime > 600000 && cutOffCount < 2) { // Vérifier si le temps écoulé depuis la dernière activation est supérieur à 10 minutes et si le nombre de coupures de courant est inférieur à 2
digitalWrite(relayPin, HIGH); // Activer le relais
lastActivationTime = millis(); // Mettre à jour le temps depuis la dernière activation
totalActivationTime += 600000; // Ajouter 10 minutes au temps total d'activation
} else if (millis() - lastActivationTime > 3600000) { // Vérifier si le temps écoulé depuis la dernière activation est supérieur à 1 heure
cutOffCount = 0; // Réinitialiser le compteur de coupures de courant
}
if (totalActivationTime >= 86400000) { // Vérifier si le temps total d'activation est supérieur ou égal à 24 heures
digitalWrite(relayPin, LOW); // Désactiver le relais
totalActivationTime = 0; // Réinitialiser le temps total d'activation
}
} else {
cutOffCount++; // Incrémenter le compteur de coupures de courant
}
delay(1000); // Attendre 1 seconde
pinMode(1, INPUT);
}
...............................
merci pour tout intervention.
Et bien ce sketch affiche la puissance consommée en temps réel.
Cela permet de vérifier que le câblage est correct.
Penser à ajuster les paramètres du capteur dans le code pour coller avec celui qui est réellement utilisé.
merci pou tes réponses, je v'ai le consulté.
vous m'avais suggérer de ajuster les paramètres du capteur dans le code pour coller avec celui qui est réellement utilisé. pouvez vous m'explique sa?
j'ai besoin de contrôler l’existence du courant dans le circuit et activer un relais , je n'est pas besoin des valeur ou des mesure.
Oui, mais il faut quand même donner les caractéristiques du capteur pour interpréter correctement la valeur retournée.
Il existe plusieurs variantes du SCT-013 avec des dynamiques de mesure différentes entre 5A pour le plus petit et jusqu'à 100A pour pour le plus gros. Donc suivant celui que tu utilises il peut y avoir un rapport 20 sur la valeur du courant et donc sur ton seuil.
Ce capteur fournit 50mA pour 100A donc lorsqu'il est traversé par 0.1A il délivre 50µA.
Après, suivant la valeur de la résistance de charge que tu as sélectionné tu auras une tension à mesurer par ton Arduino.