GUIA 1 EJEMPLOS DE COMANDO IF ELSE CON LOGICA AND OR Y NOT.

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

JIJIJIJIJI

ACTIVIDAD FINAL DEL MODULO

PARTE 1 : SIMULACION Enunciado Diseñar un circuito con Arduino que mida la temperatura usando un sensor TMP36 y controle un servomotor, movi...