Conmutado de fuentes arduino.
Hacer funcionar cualquier circuito conectado a dos fuentes de alimentación distintas de manera que al eliminar una de ellas el circuito siga funcionando.
LAS TETAS DE MARIA GUEVARA REVISTA DIGITAL INF.pdf
Conmutado de fuentes arduino
1. Conmutar dos fuentes de alimentación con Arduino UNO
El objetivo es sencillo, se trata de hacer funcionar cualquier circuito conectado a dos
fuentes de alimentación distintas de manera que al eliminar una de ellas el circuito
siga funcionando.
David Espinosa Muñoz
2. Mediante la conexión USB, el encendido de un led fijo se consigue con el siguiente circuito y código:
void setup(){
pinMode (2,OUTPUT); // salida pin 2
}
void loop(){
digitalWrite (2,HIGH); // voltaje alto
}
Una vez cardado se podrá utilizar el conector de corriente o el pinVin.
El resultado es el mismo utilizando un pin de entrada conectado a otra fuente y discriminando las demás opciones
de alimentación.
void setup(){
pinMode (2,OUTPUT);
pinMode (12,INPUT); // pin 12 como entrada
}
void loop(){
int Entrada = digitalRead (12);
/* Led encendido en función de la entrada */
if (Entrada == HIGH){digitalWrite (2,HIGH);}
else {digitalWrite (2,LOW);}
}
Al discriminar la batería el led se apagara debido a que el mismo esta condicionado en función del valor del pin 12.
3. Existen varias maneras de conmutar dos fuentes. Cambiando el valor LOW por HIGH en la última línea dentro del
loop se consigue que el pin 2 siempre ofrezca un valor alto y el control de flujo determine que fuente utilizar.
else {digitalWrite (2,HIGH);}
El siguiente ejemplo es una opción valida cuando solo se aplican dos baterías:
void setup(){
pinMode (2,OUTPUT);
pinMode (12,INPUT); // entrada 1º batería
pinMode (5,INPUT); // entrada 2º batería
}
void loop(){
int Entrada = digitalRead (12);
int Entrada2 = digitalRead (5);
if (Entrada == HIGH){digitalWrite (2,HIGH);}
else if (Entrada2 == HIGH){digitalWrite (2,HIGH);}
}
La estructura if sigue haciendo la misma función.
En la electrónica convencional se puede conseguir el mismo objetivo mediante un transistor
G:puerta
D:salida
S:GND
IRF520 y BC547 dispuestos en ARDUINO STARTER KIT