Bonjour à tous !
J'aimerais savoir si c'est possible ou si on doit avoir un appareil externe pour détecter un courant.
Mon but est d'allumer des lumières 220v.
Pour cela j'ai eu l'idée d'utiliser un relais ... Pour allumer le relais j'aimerais détecter un courant électrique. (le flash du portail).
Tout bêtement j'ai eu l'idée que dès qu'il y à une impulsion je stock dans une variable millis() + le temps que je veux que ça reste allumer.
Je possède une variable qui détecter si c'est allumer ou éteins, si c'est éteins et que le temps est supérieur au temps actuel ça activer le relais, si le temps est inférieur et que c'est allumer ça éteins le relais.
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 const int pinRelais = 2; // Le pin sur lequel j'actice mon relais const int pinFlash = 3; // Le pin sur lequel je reçois le flash unsigned long calculTemps = 0; unsigned long tempsAllumage = 300000; // Temps d'allumage 300 000s = 5mins byte onOff = 0; void setup() { // On écoute les pins ... pinMode(pinRelais, OUTPUT); pinMode(pinFlash, INPUT_PULLUP); } void loop() { // Notre boucle ... byte getFlash = digitalRead(pinFlash); // 1 = éteins (low) 0 = allumé (high) if (getFlash == 0) calculTemps = millis() + tempsAllumage; if ((calculTemps > millis()) && (onOff == 0)) { digitalWrite(pinRelais, HIGH); onOff = 1; } else if ((calculTemps < millis()) && (onOff == 1)) { digitalWrite(pinRelais, LOW); onOff = 0; } }
Je possède une carte Arduino Mega et une Freenove (équivalent à la Uno).
Edit:
Je faisais des tests et j'avais un truc qui fonctionne sur l'Arduino et pas la Freenove (d'où le faite que je pensais que c'était pas la bonne méthode).
Et en effet la bonne méthode c'était d'envoyer le GND sur l'input directement.
Je vais prendre plus d'informations sur le fonctionnement électronique et sur le fonctionnement de la carte je penses !
Cela fait des jours que j'étais dessus et je viens de le remarquer juste après avoir posté ....