Bonjour jpbricole,
Alors pas du tout, je ne connais pas les tableaux
Cordialement
Stéphanie
Version imprimable
Bonjour jpbricole,
Alors pas du tout, je ne connais pas les tableaux
Cordialement
Stéphanie
Bonjour,
Avant d'aller plus loin sur ce sujet de commande je me pose une question sur le fonctionnement actuel, je m'explique, la carte Uno commande le relais ou la sortie est branchée sur NC pour que le code ouvre ou ferme le contact et tout marche bien mais si je coupe l 'alimentation de la carte le relais n'étant plus alimenté reste collé et le dispositif en sortie fonctionne puisqu'il est alimenté par une autre source , et cela est un problème
Avez vous une idée
Cordialement
Stéphanie
Salut Stéphanie
Pourrais-tu mettre ton code actuel en ligne.
Les relais utilisés sont bien de ce type?
Comment sont-il alimentés (broche VCC), alimentation autre que celle de l'Arduino?
Cordialement
jpbbricole
Bonjour jpbricole,
Le relais c'est celui la https://www.amazon.fr/Module-Relais-...AIS+ARDUINO+5V
Mon code
Le relais est alimenté par l'arduino et la sortie en 12 v avec une autre alimentation sur le contact COMCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 ##include <SoftwareSerial.h> SoftwareSerial mySerial(10, 11); // RX, TX int ledPin = 13; int relaisPin = 7; int state = 0; void setup() { pinMode(ledPin, OUTPUT); digitalWrite(ledPin, LOW); pinMode(relaisPin, OUTPUT); digitalWrite(relaisPin, LOW); // ou HIGH si relais actif à 0 mySerial.begin(9600); } void loop() { if(mySerial.available()) { state = mySerial.read(); if(state == '0') { digitalWrite(ledPin, LOW); digitalWrite(relaisPin, LOW); // ou inverse si relais actif à 0 } else if(state == '1') { digitalWrite(ledPin, HIGH); digitalWrite(relaisPin, HIGH); } } }#
En te remerciant
Stéphanie
Bonjour Stéphanie et bonne semaine.
J'ai fait l'essai, j'ai le même relais et la solution est d'inverser les états de commande du relais
et connecter la charge sur le contacT NOCode:
1
2
3
4 digitalWrite(relaisPin, HIGH) // devient digitalWrite(relaisPin, LOW) // et vice versa
Pièce jointe 456700
Mais, comme j'ai cru comprendre plus haut, tu veux te substituer aux boutons de commande, donc il te faut des contacts dits "secs", c'est à dire sans potentiel?
Parce que, commander les moteurs, "par dessus" le système établi est, comment dire, ca..e-g...le ;)
Cordialement
jpbbricole
J'ai fait l'essai, j'ai le même relais et la solution est d'inverser les états de commande du relais
Bonjour jpbricole,
Je comprends le principe, je colle le code modifier
c'est bien ça ?Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 ##include <SoftwareSerial.h> SoftwareSerial mySerial(10, 11); // RX, TX int ledPin = 13; int relaisPin = 7; int state = 0; void setup() { pinMode(ledPin, OUTPUT); digitalWrite(ledPin, LOW); pinMode(relaisPin, OUTPUT); digitalWrite(relaisPin, LOW); // ou HIGH si relais actif à 0 mySerial.begin(9600); } void loop() { if(mySerial.available()) { state = mySerial.read(); if(state == '0') { digitalWrite(ledPin, LOW); digitalWrite(relaisPin, HIGH); // ou inverse si relais actif à 0 } else if(state == '1') { digitalWrite(ledPin, HIGH); digitalWrite(relaisPin, LOW); } } }#
L'idée de controler les moteurs semble difficile à mettre en oeuvre, j'ai pensé à autre chose de plus simple pour continuer à utiliser le hc 06 , c'est de commander une électrovanne en 12 v connexion en 3/4 , le but commander l'ouverture de l'eau pour des MAL MLV
En te remerciant
Stéphanie
Pas tout à fait, dans setup()
digitalWrite(relaisPin, HIGH);
Commander des moteurs dans un système constitué comme des stores électriques est possible que si on a accès aux boutons dans le mur ou ceux d'une télécommande, en pontant les 2 contacts des boutons au moyen de relais ou circuits intégrés comme le CD4016.
Je ne connais pas cette bête MAL MLV ?
Cordialement
jpbbricole
Bonjour jpbricole,
Je pense que cette fois le code est correct
Effectivement si la tension est coupée sur l'arduino, le relais ( alimenté ) branché sur NO ne laisse pas passer l alimentation en sortie mais si l'alimentation est remise sur l'arduino le relais laisse passer l'alimentation et il faut reconnecter le bluetooth et couper , s'il n'y a pas un moyen de faire autrement il vaut alors peut être alimenter la carte arduino et le relais avec la meme alimentationCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 #include <SoftwareSerial.h> SoftwareSerial mySerial(10, 11); // RX, TX int ledPin = 3; int relaisPin = 7; int state = 0; void setup() { pinMode(ledPin, OUTPUT); digitalWrite(ledPin, LOW); pinMode(relaisPin, OUTPUT); digitalWrite(relaisPin, LOW); // ou HIGH si relais actif à 0 mySerial.begin(9600); } void loop() { if(mySerial.available()) { state = mySerial.read(); if(state == '0') { digitalWrite(ledPin, LOW); digitalWrite(relaisPin,HIGH); // ou inverse si relais actif à 0 } else if(state == '1') { digitalWrite(ledPin, HIGH); digitalWrite(relaisPin, LOW); } } }
Cordialement
Bonne journée
Stéphanie
Salut Stéphanie
C'est parce qu'il y a toujours l'erreur signalée dans le post #27
dans setup()
pinMode(relaisPin, OUTPUT);
digitalWrite(relaisPin, HIGH);
Bonne journée
Cordialement
jpbbricole
Bonjour jpbricole,
Effectivement je venais de reprendre le code et cela marche normalement, désolée je suis blonde :lol:
il y a sans doute pas mal d'application ou on peut placer ce module hc 06, je vais rechercher un peu et continuer sur mon idée d'électrovanne
En te remerciant
Bonne journée
Stéphanie