Arduino - Relés activados mediante pulsador y activan contactor

 
Vista:

Relés activados mediante pulsador y activan contactor

Publicado por David Garcia (3 intervenciones) el 18/05/2021 00:38:24
Buenas noches a todos, tengo un problema con un programa que consiste en un modulo de 4 reles de los cuales utilizo 3, estos reles cuando estan activados me activa cada uno un contactor y para activar el relé debo de pulsar un pulsador, cada relé es independiente y no tiene que depender nada mas que de su pulsador. mi configuración es pulsador 1 pin 2 pulsador 2 pin 3 pulsador 3 pin 4 rele 1 pin 10 rele 2 pin 11 rele 3 pin 12. El problema del siguiente codigo que os dejo es que me lo hace todo bien pero de repente el rele comienza a activarse y desactivarse solos sin tocar nada y ya no se si es por que tengo mal hecho los ifs o por que. Gracias!



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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
const int buttonPin = 2;     // the number of the pushbutton pin
const int buttonPin2 = 3;
const int buttonPin3 = 4;
const int ledPin =  10;      // the number of the LED pin
const int ledPin2 =  11;
const int ledPin3 =  12;
 
 
int buttonState = 0;         // variable for reading the pushbutton status
int buttonState2 = 0;
int buttonState3 = 0;
 
void setup() {
 
  pinMode(ledPin, OUTPUT);
   pinMode(ledPin2, OUTPUT);
    pinMode(ledPin3, OUTPUT);
 
  pinMode(buttonPin, INPUT);
  pinMode(buttonPin2, INPUT);
  pinMode(buttonPin3, INPUT);
}
void loop() {
 
  buttonState = digitalRead(buttonPin);
 
 
  if (buttonState == HIGH) {
    // turn LED on:
    digitalWrite(ledPin, HIGH);
  } else {
    // turn LED off:
    digitalWrite(ledPin, LOW);
    delay (1000);
  }
    buttonState2 = digitalRead(buttonPin2);
 
 
  if (buttonState2 == HIGH) {
    // turn LED on:
    digitalWrite(ledPin2, HIGH);
  } else {
    // turn LED off:
    digitalWrite(ledPin2, LOW);
    delay (1000);
}
  buttonState3 = digitalRead(buttonPin3);
 
 
  if (buttonState3 == HIGH) {
    // turn LED on:
    digitalWrite(ledPin3, HIGH);
  } else {
    // turn LED off:
    digitalWrite(ledPin3, LOW);
    delay(1000);
  }
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Relés activados mediante pulsador y activan contactor

Publicado por E.Gonzalez (6 intervenciones) el 18/05/2021 18:45:15
Tienes los pines 2, 3, y 4 en modo "flotante" y se te están colando interferencias por ellos. Ponles a cada uno de ellos una resistencia "PULL_DOWN" de 10K a GND,
Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Relés activados mediante pulsador y activan contactor

Publicado por David (3 intervenciones) el 18/05/2021 18:50:00
Vale perfecto y en el Código le pongo algo o seria el mismo??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Relés activados mediante pulsador y activan contactor

Publicado por E.Gonzalez (6 intervenciones) el 18/05/2021 18:59:40
El código es totalmente correcto, no lo toques.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Relés activados mediante pulsador y activan contactor

Publicado por David (3 intervenciones) el 18/05/2021 19:06:02
Perfecto muchísimas gracias!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar