Hola a todos, soy entusiasta en electronica, y ahora en arduino.
quisiera saber si es posible me ayuden con un problema, creo yo que es un problema.
Les cuento, lo que sucede es lo siguiente:
Al ejecutar este, o cualquier otro codigo que active un rele, funciona, el problema esta cuando abro el serial, en ese momento se activa el rele; y cierro el serial y lo vuelvo a abrir otra ves se activa el rele.
int relayPin = 2; // PIN al que va conectado el relé
void setup(){
pinMode(relayPin, OUTPUT);
}
void loop() {
digitalWrite(relayPin, HIGH); // APAGADO
delay(2000);
digitalWrite(relayPin, LOW); // ENCENDIDO
delay(5000);
}
El mayor problema fue cuando al rele le conecta una lamapara con 220 Volts, al abrir el serial salto el disyuntor.
Desde ya muchas gracias.
Cuando activas el monitor serie del IDE se genera un reset que reinicia el funcionamiento del Arduino, por esa razón tu programa vuelve a arrancar.
El mayor problema fue cuando al rele le conecta una lamapara con 220 Volts, al abrir el serial salto el disyuntor.
Eso no es posible a menos que hayas conectado mal la lámpara. El disyuntor termico no tiene manera de dispararse a menos que hayas hecho un cortocircuito. Asi que prueba la conexión de la lámpara sin pasar por el relé y cuando te asegures que este bien, lo conectas al relé considerando que solo es un interruptor y que de ningún modo puede provocar un corto. Espero me compendas.
Hola, gracias por la respuesta, te comento, la lampara esta bien conectada, si ejecuto el programa sin abrir el serial funciona todo muy bien, la lampara enciende.
Pienso que quizas, loque este pasando que la fase este invertida, y sea poe esa razon, lo voy a probar y despues lo comento.
Saludos
Hola.
Dentro de tu configuración "void setup" no veo el comando de iniciación del serial.
Según yo deberías tener algo así:
int relayPin = 2; // PIN al que va conectado el relé
void setup(){
pinMode(relayPin, OUTPUT);
Serial.begin(9600); //Inicia la comunicación serial con el CPU
}
void loop() {
digitalWrite(relayPin, HIGH); // APAGADO
delay(2000);
digitalWrite(relayPin, LOW); // ENCENDIDO
delay(5000);
Serial.println(relayPin,dec); //Imprime en la pantalla del Serial el valor relayPin en Decimal
delay(10);
}