- Ejercicio 1: Marcha paro de un motor
- Secuencia: En el GPIO 12 se conecta un pulsador que será el pulsador de activación del motor (Pulsador de Marcha) y en el GPIO 2, un interruptor que se utilizará para el paro. Lo habitual es que el paro sea también un pulsador, pero se va a utilizar un interruptor para poder dejar la posición fijada en la simulación (no se pueden activar dos pulsadores a la vez en el simulador). El motor se activa desde la salida 15, que está conectada a un Led, pero que en un esquema real realizaría la activación de un relé o contactor. Es importante que se está accionado el paro, aunque se accione marcha, el motor no arranque, es decir, no se active el GPIO 15.
- Material: microLSB, Enlace a simulación o Carga en Placa.
- Solución en microLSB, en Codesys y para el editor de Arduino:
void setup()
{
pinMode(2, INPUT);
pinMode(12, INPUT);
pinMode(15, OUTPUT);
}
void loop()
{
if((!digitalRead(2) && digitalRead(12))){
digitalWrite(15 , (true));
}
if(digitalRead(2)){
digitalWrite(15 , (false));
}
}
Este ejercicio se podría resolver también mediante un enclavamiento, siguiendo la misma filosofía que en lógica cableada:
void setup() {
pinMode(2, INPUT);
pinMode(12, INPUT);
pinMode(15, OUTPUT);
}
void loop() {
if((!digitalRead(2) && (digitalRead(12) || gpio_get_level(GPIO_NUM_15)))==true){
digitalWrite(15 , (true));
}
else {
digitalWrite(15 , (false));
}
}
- Ejercicio 2: Activación de varias salidas con distintas condiciones.
- Realiza un programa que haga lo siguiente:
- Solo mientras se esté accionando el pulsador conectado al GPIO 12, permanecerá encendido el led conectado al GPIO 15.
- Con un solo pulso en el GPIO 12 se encenderá el led conectado en el GPIO 5, que permanecerá encendido hasta que se accione el pulsador conectado en el GPIO 2.
- Material: microLSB, Enlace a simulación o Carga en Placa.
- Solución en microLSB:
- Realiza un programa que haga lo siguiente:
- Ejercicio 3: Activación de dos salidas en cascada.
- Secuencia: Con todo apagado (en reposo), se desea que una primera pulsación en sobre el pulsador conectado al GPIO 12 active la salida 15. Solo si la salida 15 está activa, accionar el pulsador conectado en el GPIO 2, se activarán los GPIOS 25 y 32. Tras esto, si se activa nuevamente el GPIO 2, se apaga todo. El ciclo tiene que poder volver a empezar si se vuelve a activar el GPIO 12.
- Material: microLSB, Enlace a simulación o Carga en Placa.
- Solución en microLSB: