Introducción a Arduino: Sistemas de Control y Programación
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 5,91 KB
Sistemas de Control
Son sistemas que, sin necesidad de la acción humana, mantienen una variable o magnitud de salida dentro de un rango de valores definido. Esto se logra a partir del valor proporcionado a una magnitud o variable de entrada que sirve de referencia.
Componentes principales de un sistema de control:
- Planta o proceso: El sistema cuyo funcionamiento se desea controlar o regular.
- Actuador: Componente que ejecuta la acción del sistema de control.
- Regulador o controlador: Elemento que determina las acciones necesarias para controlar el sistema.
- Sensor: Dispositivo que capta información del entorno relevante para el proceso. Esta información se puede usar para compararla con el resultado deseado.
Tipos de Sistemas de Control
Lazo Abierto
En un sistema de control de lazo abierto, una señal de entrada actúa sobre un proceso y produce un resultado (señal de salida) que no se compara con la señal de entrada.
Lazo Cerrado
En un sistema de control de lazo cerrado, una señal de entrada inicia un proceso que produce una señal de salida. Esta señal de salida se compara con la señal de entrada para ajustar el proceso y obtener el mejor resultado posible. Esta comparación minimiza el efecto de factores externos en el sistema.
Introducción a la Computación Física con Arduino
El término computación física (physical computing) surge en 2004 y se refiere a la interacción de las computadoras con el mundo físico a través de las personas. Esto se logra mediante el diseño de hardware (como Arduino) y software.
¿Qué es Arduino?
Arduino, surgido en 2005, es una plataforma de hardware libre (open hardware) basada en una placa con entradas y salidas analógicas y digitales, un microcontrolador y un entorno de desarrollo que utiliza un lenguaje similar a C.
Características de Arduino Uno
- 14 pines digitales: Configurables como entradas o salidas, 6 de ellos pueden ser utilizados como salidas PWM.
- 6 entradas analógicas.
- Conexión USB.
- Entrada de alimentación.
- Velocidad de proceso de 16 MHz.
- Procesador ATmega328.
- Memoria flash de 32 KB para almacenamiento de sketches.
- SRAM de 1024 bytes para la ejecución de programas.
Programación en Arduino
Los programas de Arduino, llamados sketches, no tienen una función main()
como función principal. En su lugar, utilizan las funciones setup()
y loop()
. Las variables se declaran antes de la función setup()
.
Función setup()
Se ejecuta una sola vez al inicio del programa. Se utiliza para:
- Configurar pines como entrada o salida.
- Inicializar el monitor serie.
- Asignar valores iniciales a las salidas.
La función setup()
debe estar presente en todos los sketches, incluso si está vacía.
Comunicación Serial
Arduino no tiene una pantalla o consola, pero utiliza un monitor serie para la comunicación con la computadora. La clase Serial
se utiliza para enviar y recibir datos.
Instrucción | Uso y Parámetros | Ejemplo |
Serial.println("texto"); | Envía una cadena de texto seguida de un retorno de carro. | Serial.println("Hola Mundo"); |
Serial.println(variable); | Envía el valor de una variable seguido de un retorno de carro. | Serial.println(sensorValue); |
La comunicación serie se inicializa en la función setup()
con Serial.begin(velocidad)
.
Pines de Arduino
Pines Analógicos
Se denominan A0, A1, A2, A3, A4 y A5.
Pines Digitales
Se enumeran del 0 al 13. Algunos tienen funciones específicas:
- Los pines 0 y 1 se utilizan para la comunicación serial (RX y TX).
- El pin 13 tiene un LED integrado.
- Los pines 3, 5, 6, 9, 10 y 11 tienen salida PWM (modulación de ancho de pulso), que permite emular señales analógicas.
Funciones de Control de Pines
Instrucción | Uso y Parámetros | Tipo de Entrada/Salida | Ejemplo |
pinMode() | Configura un pin como entrada o salida. Recibe el número de pin y el modo (INPUT o OUTPUT). | Pines digitales (0 a 13) | pinMode(4, OUTPUT); |
pinMode(9, INPUT); | |||
digitalRead() | Lee el valor de una entrada digital. Recibe el número de pin. | Pines de entrada digitales | digitalRead(4); |
analogRead() | Lee el valor de una entrada analógica. Recibe el número de pin (A0 a A5). | Pines de entrada analógicos | analogRead(A3); |
digitalWrite() | Escribe un valor digital (HIGH o LOW) en un pin de salida. Recibe el número de pin y el valor. | Pines de salida digitales | digitalWrite(11, HIGH); |
analogWrite() | Escribe un valor analógico (0 a 255) en un pin de salida PWM. Recibe el número de pin y el valor. | Pines de salida PWM | analogWrite(6, 127); |
Salidas PWM
Las salidas PWM (Pulse Width Modulation) permiten emular señales analógicas, útiles para tareas como regular el brillo de un LED.