🔌 P01 - Entradas y salidas digitales básicas con Arduino

ℹ️ Empieza aquí:

Arduino es una plataforma de desarrollo orientada a la creación de sistemas electrónicos interactivos.
En esta práctica aprenderás a controlar salidas digitales y leer entradas digitales, sentando las bases de toda la programación posterior.

El objetivo no es solo encender un LED, sino comprender cómo el software interactúa con el hardware, cómo se estructura un programa en Arduino y cómo se toman decisiones a partir de una entrada física.


🚀 Objetivos

 Comprender la estructura básica de un programa en Arduino (setup() y loop()).
 Configurar pines digitales como entrada y como salida.
 Leer el estado de un pulsador mediante una entrada digital.
 Controlar un LED en función del estado de una entrada.
 Introducir buenas prácticas básicas de cableado y programación.


🧩 Contenidos trabajados

 Entradas digitales (digitalRead).
 Salidas digitales (digitalWrite).
 Uso de resistencias pull-up internas.
 Variables y estructuras condicionales (if / else).
 Estructura básica de un sketch de Arduino.


💻 Materiales y recursos

 Arduino UNO.
 Protoboard.
 1 LED (cualquier color).
 1 resistencia (220 Ω – 330 Ω).
 1 pulsador.
 Cables Dupont macho-macho.
 Ordenador con Arduino IDE instalado.


🔧 Montaje práctico

Conexión del LED

Qué se va a hacer:

Conectar un LED para que pueda ser controlado por Arduino.

Cómo hacerlo:

1. Coloca el LED en la protoboard.
2. Identifica sus patillas:

  • Patilla larga → ánodo (positivo).
  • Patilla corta → cátodo (negativo).

3. Realiza las conexiones:

  • Ánodo → resistencia → pin digital 8 de Arduino.
  • Cátodo → GND.

⚠️ Atención:
El LED debe conectarse siempre con una resistencia en serie para limitar la corriente.


Conexión del pulsador

Qué se va a hacer:

Conectar un pulsador para que Arduino pueda leer su estado.

Cómo hacerlo:

1. Coloca el pulsador en la protoboard.
2. Conecta uno de sus terminales a GND.
3. Conecta el terminal opuesto al pin digital 2 de Arduino.

💡 Nota:
Se utilizará la resistencia pull-up interna del microcontrolador, por lo que no es necesario añadir resistencias externas.


🧭 Desarrollo de la práctica

Paso 1: Crear el proyecto

Qué se va a hacer:

Crear un nuevo programa (sketch) en Arduino.

Cómo hacerlo:

1. Abre el Arduino IDE.
2. Selecciona Archivo → Nuevo.
3. Guarda el archivo con el nombre:

  • P01_IO_Digital_ApellidoNombre

Paso 2: Entender la estructura del programa

Al crear un sketch nuevo aparece este código base:

    void setup() {
    }

    void loop() {
    }

Qué significa:

  • setup() → se ejecuta una sola vez al arrancar Arduino.
  • loop() → se ejecuta continuamente, en bucle, mientras Arduino esté encendido.

Paso 3: Configurar los pines

Qué se va a hacer:

Indicar a Arduino qué pines se usarán como entrada y como salida.

Cómo hacerlo:

Dentro de la función setup(), escribe:

    pinMode(8, OUTPUT);
    pinMode(2, INPUT_PULLUP);

Interpretación:

  • Pin 8 → salida para controlar el LED.
  • Pin 2 → entrada para leer el pulsador, con pull-up interno activado.

Paso 4: Leer el estado del pulsador

Qué se va a hacer:

Leer el estado eléctrico del pulsador.

Cómo hacerlo:

Dentro de loop(), escribe:

int estadoPulsador = digitalRead(2);

Esto guarda en la variable estadoPulsador el valor leído del pin.


Paso 5: Tomar una decisión y actuar

Qué se va a hacer:

Encender o apagar el LED en función del estado del pulsador.

Cómo hacerlo:

Añade a continuación:

    if (estadoPulsador == LOW) {
        digitalWrite(8, HIGH);
    } else {
        digitalWrite(8, LOW);
    }

Qué ocurre aquí:

  • Si el pulsador está presionado (LOW), el LED se enciende.
  • Si no lo está (HIGH), el LED se apaga.

💡 Importante:
Al usar INPUT_PULLUP, la lógica del pulsador queda invertida.


▶️ Cargar el programa en Arduino

1. Conecta Arduino al ordenador mediante USB.
2. Selecciona la placa y el puerto correctos en el IDE.
3. Pulsa Verificar (✓) para comprobar errores.
4. Pulsa Subir (→) para cargar el programa.


✅ Comprobación de funcionamiento

El comportamiento esperado es:

  • Pulsador presionado → LED encendido.
  • Pulsador suelto → LED apagado.

Si no funciona correctamente:

  • revisa el cableado,
  • comprueba los números de pin,
  • asegúrate de que el código está dentro de setup() y loop().

📦 Entrega

 Archivo .ino correctamente comentado.
 Fotografía clara del montaje en la protoboard.
 Breve explicación escrita del funcionamiento del programa.


📊 Rúbrica de evaluación

Criterio Excelente (9–10) Adecuado (6–8) Insuficiente (≤5)
Montaje eléctrico Correcto, limpio y seguro Funciona con pequeños errores Incorrecto
Funcionamiento Respuesta totalmente correcta Funciona parcialmente No funciona
Código Claro, ordenado y comentado Funcional pero mejorable Desordenado
Uso de E/S Uso correcto y justificado Uso correcto sin justificar Uso incorrecto
Documentación Clara y precisa Básica Inexistente

🎯 Para pensar (opcional)

¿Por qué es importante que un programa conozca el estado de una entrada antes de tomar una decisión?

Updated: