9. Funciones Digitales Básicas

 

Funciones Digitales Básicas en Arduino

📌 Introducción

En este tutorial aprenderás las funciones digitales básicas de Arduino para configurar pines, leer entradas y controlar salidas. Estas herramientas son esenciales para comenzar a programar microcontroladores.

https://i.imgur.com/placeholder.png Ilustración de puertos de entrada/salida


🧠 Conceptos Básicos

Puertos de Entrada/Salida

  • Los microcontroladores tienen pines digitales (del 0 al 13 en Arduino UNO)

  • Algunos pines reciben información (entradas)

  • Otros pines envían resultados (salidas)

  • Todos los pines son configurables: puedes decidir su función


⚙️ Funciones Principales

1. pinMode() - Configurar pines

Define si un pin será entrada (INPUT) o salida (OUTPUT).

Sintaxis:

cpp
pinMode(pin, mode);

Ejemplos:

cpp
pinMode(10, OUTPUT);  // Pin 10 como salida
pinMode(3, INPUT);    // Pin 3 como entrada

2. digitalWrite() - Controlar salidas

Envía un valor HIGH (5V) o LOW (0V) por un pin configurado como salida.

Sintaxis:

cpp
digitalWrite(pin, value);

Ejemplos:

cpp
digitalWrite(12, HIGH);  // Envía 5V por pin 12
digitalWrite(7, LOW);    // Envía 0V por pin 7

3. digitalRead() - Leer entradas

Lee el valor (HIGH o LOW) de un pin configurado como entrada.

Sintaxis:

cpp
digitalRead(pin);

Ejemplos:

cpp
int valorPin8 = digitalRead(8);   // Lee valor del pin 8
int valorPin7 = digitalRead(7);   // Lee valor del pin 7

4. delay() - Pausas en el programa

Detiene la ejecución del programa por un tiempo determinado en milisegundos.

Sintaxis:

cpp
delay(ms);

Ejemplos:

cpp
delay(1500);   // Pausa de 1.5 segundos
delay(7000);   // Pausa de 7 segundos

Nota: El valor máximo permitido es 32767 (≈32 segundos) por limitaciones de enteros de 16 bits.


⚠️ Consideraciones Importantes

  1. Mayúsculas/minúsculas: Diferencian entre funciones y valores

    • Correcto: OUTPUTINPUTHIGHLOW

    • Incorrecto: outputinputhighlow

  2. Punto y coma: Todas las sentencias terminan con ;

  3. Valores físicos:

    • LOW = 0V (tierra)

    • HIGH = 5V (voltaje de operación)


🧪 Ejemplo Práctico

Control de foco con sensor

Componentes:

  • Pin 8: Relay → Salida (controla foco)

  • Pin 2: Sensor → Entrada (lee datos)

Código:

cpp
void setup() {
  // Configurar pines
  pinMode(8, OUTPUT);   // Pin 8 como salida
  pinMode(2, INPUT);    // Pin 2 como entrada
  
  // Encender foco inicialmente
  digitalWrite(8, HIGH);
}

void loop() {
  // Leer sensor continuamente
  int valorSensor = digitalRead(2);
  
  // Aquí iría la lógica de control según el valor del sensor
  // Ej: if (valorSensor == HIGH) { ... }
}

💡 Consejos Adicionales

  1. Siempre verifica la configuración de pines en setup()

  2. Usa delay() con moderación para no bloquear el programa

  3. Los pines analógicos (A0-A5) también pueden usarse como digitales


🎯 Resumen

Con estas cuatro funciones básicas ya tienes las herramientas necesarias para:

  • Configurar pines como entrada/salida

  • Leer valores de sensores digitales

  • Controlar dispositivos como LEDs, relays y motores

  • Crear intervalos de tiempo en tus programas

¡Estás listo para comenzar a programar con Arduino!

Comentarios

Entradas más populares de este blog

12. Demostracion de como usar Tinkercad para simular Arduino con circuitos

11. Ejemplos Básicos de Leds y Pulsadores

Lectura de Potenciómetro con Arduino Uno en Tinkercad