Guía de Ejercicios en Tinkercad: Uso de Interruptores de Deslizamiento, LED y Lógica Booleana
Descripción General
En esta guía de 10 ejercicios, se usarán tres interruptores de deslizamiento como entradas y un LED como salida. Se implementarán tablas de verdad que combinen operaciones lógicas como AND, OR, y NOT para controlar el estado del LED. Cada ejercicio está diseñado para reforzar conceptos de lógica digital y programación en C++ con Arduino.
Ejercicios
1. Ejercicio 1: Encender el LED solo si las tres entradas están encendidas (AND lógico)
- Objetivo: El LED se encenderá únicamente si las tres entradas (interruptores) están en HIGH.
- Condición lógica:
LED = Entrada1 AND Entrada2 AND Entrada3
. - Código clave:
if (state1 && state2 && state3) { digitalWrite(ledPin, HIGH); } else { digitalWrite(ledPin, LOW); }
2. Ejercicio 2: Encender el LED si al menos una entrada está encendida (OR lógico)
- Objetivo: El LED se encenderá si cualquiera de las entradas está en HIGH.
- Condición lógica:
LED = Entrada1 OR Entrada2 OR Entrada3
. - Código clave:
if (state1 || state2 || state3) { digitalWrite(ledPin, HIGH); } else { digitalWrite(ledPin, LOW); }
3. Ejercicio 3: LED encendido si solo una entrada está encendida (XOR lógico simplificado)
- Objetivo: El LED se encenderá si solo una entrada está en HIGH.
- Condición lógica:
(Entrada1 XOR Entrada2 XOR Entrada3)
. - Código clave:
if ((state1 + state2 + state3) == 1) { digitalWrite(ledPin, HIGH); } else { digitalWrite(ledPin, LOW); }
4. Ejercicio 4: Invertir el estado de la primera entrada (NOT lógico)
- Objetivo: El LED reflejará el estado invertido de la primera entrada.
- Condición lógica:
LED = NOT Entrada1
. - Código clave:
if (!state1) { digitalWrite(ledPin, HIGH); } else { digitalWrite(ledPin, LOW); }
5. Ejercicio 5: Encender el LED si exactamente dos entradas están encendidas
- Objetivo: El LED se encenderá si dos de las tres entradas están en HIGH.
- Condición lógica:
(Entrada1 + Entrada2 + Entrada3) == 2
. - Código clave:
if ((state1 + state2 + state3) == 2) { digitalWrite(ledPin, HIGH); } else { digitalWrite(ledPin, LOW); }
6. Ejercicio 6: Encender el LED si las tres entradas están apagadas
- Objetivo: El LED se encenderá solo si las tres entradas están en LOW.
- Condición lógica:
LED = NOT (Entrada1 OR Entrada2 OR Entrada3)
. - Código clave:
if (!state1 && !state2 && !state3) { digitalWrite(ledPin, HIGH); } else { digitalWrite(ledPin, LOW); }
7. Ejercicio 7: Implementar una compuerta NAND
- Objetivo: El LED estará encendido salvo que las tres entradas estén en HIGH.
- Condición lógica:
LED = NOT (Entrada1 AND Entrada2 AND Entrada3)
. - Código clave:
if (!(state1 && state2 && state3)) { digitalWrite(ledPin, HIGH); } else { digitalWrite(ledPin, LOW); }
8. Ejercicio 8: Secuencia de encendido basado en prioridades
- Objetivo: El LED se encenderá si:
- Entrada1 está encendida, ignorando las otras.
- Si Entrada1 está apagada, dependerá de Entrada2.
- Entrada3 solo será relevante si las dos anteriores están apagadas.
- Código clave:
if (state1) { digitalWrite(ledPin, HIGH); } else if (state2) { digitalWrite(ledPin, HIGH); } else if (state3) { digitalWrite(ledPin, HIGH); } else { digitalWrite(ledPin, LOW); }
9. Ejercicio 9: Activar el LED solo cuando Entrada1 esté en LOW y las otras dos en HIGH
- Condición lógica:
LED = NOT Entrada1 AND Entrada2 AND Entrada3
. - Código clave:
if (!state1 && state2 && state3) { digitalWrite(ledPin, HIGH); } else { digitalWrite(ledPin, LOW); }
10. Ejercicio 10: Crear un parpadeo controlado por una combinación específica de entradas
- Objetivo: El LED parpadea (con
delay()
) si las tres entradas están en HIGH. - Código clave:
if (state1 && state2 && state3) { digitalWrite(ledPin, HIGH); delay(500); digitalWrite(ledPin, LOW); delay(500); } else { digitalWrite(ledPin, LOW); }
Conclusión
Estos ejercicios cubren desde lo básico hasta combinaciones más avanzadas de lógica booleana y control de salida. Los estudiantes pueden simularlos en Tinkercad, verificar sus tablas de verdad y comprender cómo las operaciones lógicas controlan dispositivos electrónicos. ¿Necesitas algo adicional?
No hay comentarios:
Publicar un comentario