¡Automatización! Aprende Arduino

¡Automatización! Aprende Arduino

Arduino es una tarjeta de desarrollo ampliamente utilizada en el mundo de la ingeniería. Ya sea por su facilidad de uso, bajo costo o la gran comunidad de personas que aportan a este gran proyecto que es Arduino.

En sí, existen diferentes tipos de tarjetas Arduino que más o menos se adaptan a las necesidades de los proyectos que estemos realizando.

Sean bienvenidos a una nueva entrega de ELuckie! El día de hoy hablaremos sobre el proyecto Arduino y todo lo que necesitas saber.

Esta entrega estará basada en lo que a mí (como Mecatrónico) me hubiera gustado que me dijeran cuando estudié y necesitaba aprender para hacer mis proyectos de fin de cursos.

¡ANTES DE COMENZAR! En esta entrega hablaremos de los conceptos clave, así como controlar el brillo de un LED con un potenciometro.

Basta de introducción y vayamos al grano, ¿qué es Arduino?

Es complicado hablar de micro-controladores sin haber tomado alguna clase de electrónica digital. Y ahí está lo bonito de Arduino: es tan fácil que no necesitas tanto conocimiento previo.

Eso sí, necesitarás mucha paciencia y ganas de aprender. Y con el apoyo de este vlog, estoy convencido de que podrás dominar Arduino muy pronto... o al menos, sabrás cómo comenzar para cumplir con tus proyectos.

Arduino es un a plataforma de hardware libre basada en un a placa con un micro-controlador y un entorno de desarrollo, diseñado para hacer que la electrónica sea más accesible para todos. Su objetivo principal es facilitar la creación de proyectos electrónicos interactivos desde los más simples hasta los más complejos, sin necesidad de ser un experto en programación o ingeniería electrónica.

Una placa Arduino recibe información a través de los pines de entrada (como sensores de temperatura o botones), procesa esa información en su microcontrolador, y luego actúa enviando señales a través de los pines de salida para controlar dispositivos como LEDs, motores o pantallas. Este ciclo de lectura, procesamiento y acción es lo que permite a Arduino interactuar con el mundo físico de una manera simple pero potente.

Una de las características que hace a Arduino tan popular es su capacidad para integrarse con una gran variedad de sensores y actuadores, permitiendo controlar desde luces y motores hasta dispositivos más complejos como robots y sistemas automatizados. Además, un software de código abierto, el Arduino IDE, facilita la programación de la tarjeta, con un lenguaje de programación simple basado en C++.

Como dato curioso, he llegado a utilizar el Arduino Mega (junto con más componentes) para hacer un impresora 3D. Aquí dejo la imagen.

 

Mencioné que hay varios tipos, estos son:

  1. Arduino UNO: La más popular y utilizada desde principiantes hasta profesionales. Tiene un microcontrolador ATmega328 y ofrece 14 pines digitales y 6 entradas analógicas, lo que la hace perfecta para proyectos simples de control de luces, sensores, o actuadores.
  2. Arduino MEGA: Ideal para proyectos más grandes que requieren más pines de entrada/salida. Esta placa tiene 54 pines digitales y 16 entradas analógicas, lo que la hace ideal para proyectos de robótica más avanzados o sistemas con muchos sensores y actuadores.
  3. Arduino NANO: Esta es una versión más pequeña que el Arduino UNO, perfecta para proyectos donde el tamaño es un factor crítico. Aunque compacta, sigue siendo muy versátil y es ideal para proyectos de micro-robótica.
  4. Arduino Leonardo: Esta placa tiene la particularidad de poder actuar como un dispositivo USB (como un teclado o ratón), lo que la hace perfecta para proyectos de interacción directa con la computadora.
  5. Arduino DUE: Esta placa es mucho más potente que las anteriores, ya que usa un micro-controlador ARM de 32 bits. Es ideal para proyectos que requieren mayor capacidad de procesamiento, como sistemas avanzados de control.

Es posible que existen más variaciones, sin embargo, estas son las más comunes.

¿Sabías qué? 😱

Los fundadores de Arduino solían reunirse en un bar llamado Bar di Re Arduino en Ivrea, Italia. El bar, a su vez, llavaba el nombre de un antiguo rey de la región llamado Arduino de Ivrea, quien fue rey de Italia en el siglo XI. Así que decidieron nombrar a la plataforma "Arduino" en honor a ese lugar, donde surgieron muchas de las primeras ideas para el proyecto.

Bar di Re Arduino significa "Bar del Rey Arduino".

¿Cómo surgió Arduino?

"Arduino fue inventado en el año 2005 por un estudiante del instituto IVRAR, Massimo Banzi, quien, en un principio, pensaba en hacer Arduino por una necesidad de aprendizaje para los estudiantes de computación y electrónica del mismo instituto, ya que (en ese momento) adquirir una placa de micro-controladores era bastante caro y no ofrecían el soporte adecuado; no obstante, nunca se imaginó que esta herramienta se llegaría a convertir, en años posteriores, en el líder mundial de tecnologías DIY (Do It Yourself)."[1].

La historia continúa, sin embargo, nosotros procederemos con el contenido introductorio a esta plataforma. Los links para que leas más están en la descripción.

El Entorno de Desarrollo Integrado (IDE) Arduino:

No podemos decir que utilizamos Arduino sino hablamos de su IDE. Esta es una herramienta esencial para programar y cargar código en las placas Arduino. Este software, dispobible para Windows, macOS y Linux, ofrece una interfaz sencilla y fácil de usar, diseñada tanto para principiantes como para expertos. El IDE de Arduino utiliza un lenguaje basado en C/C++, y permite escribir, compilar y cargar programas (denominados "sketches") directamente a la placa.

Además, cuenta con una amplia colección de librerías preinstaladas que facilitan la interacción con sensores, motores, y otros componentes, haciendo que la creación de proyectos electrónicos sea más accesible para todos.

En recientes versiones del software ya incorpora un gestor de paquetes externos. Ya sea para facilitar funciones en la tarjeta Arduino o, incluso, que te permiten utilizar tarjetas de otros proyectos (no arduinos) como el ESP32.

Creo que ya entendimos lo que es y lo que hace Arduino. Ahora sí viene lo interesante: ¡Controlar el brillo de un LED con un potenciometro!

Este es el experimento más sencillo e ilustrativo que se me vino a la mente, y considero que es bastante completo ya que incorpora una lectura mediante un puerto análogo y una salida digital (que simula ser análoga) mediante Modulación por Ancho de Pulso PWM.

Materiales que necesitamos:

  • 1 Placa Arduino UNO (Nano, Mega, o similar).
  • 1 LED. Aunque te recomendamos aquirir al menos 2.
  • 1 Resistencia de 330Ω.
  • 1 Potenciómetro (5Ω ó 10KΩ recomendados).
  • Cables y una protoboard.

¿Cómo funciona?

El potenciómetro es un dispositivo que actúa como una resistencia variable. A medida que giras su eje, el valor de la resistencia cambia, lo que modifica el voltaje que llega al pin analógico de Arduino. Arduino lee este valor analógico, lo convierte a un valor de salida de PWM y ajusta el brillo del LED en función de la posición del potenciómetro.

El valor que Arduino lee del potenciómetro varía entre 0 y 1023, y luego lo mapeamos a un rango de 0 a 255 para controlar la señal de PWM que ajusta el brillo del LED.

Conexión del circuito

  1. Conecta el potenciómetro:
    • El pin del medio del potenciómetro (wiper) va al pin A0 de Arduino.
    • Uno de los extremos del potenciómetro se conecta al 5V de Arduino.
    • El otro extremo del potenciómetro va al GND.

  2. Conecta el LED:
    • Conecta el ánodo (la pata más larga) del LED al pin 9 de Arduino.
    • El cátodo del LED (la pata más corta) se conecta a un extremo de la resistencia de 220Ω.
    • El otro extremo de la resistencia va al GND de Arduino.

 

Código para controlar el brillo del LED:

// Declaramos las variables
int potPin = A0;    // Pin donde está conectado el potenciómetro
int ledPin = 9;     // Pin donde está conectado el LED (con PWM)
int potValue = 0;   // Variable para almacenar el valor del potenciómetro
int brightness = 0; // Variable para almacenar el valor del brillo del LED

void setup() {
  pinMode(ledPin, OUTPUT); // Configura el pin del LED como salida
}

void loop() {
  potValue = analogRead(potPin);               // Lee el valor del potenciómetro (0 a 1023)
  brightness = map(potValue, 0, 1023, 0, 255); // Mapea el valor a un rango de 0 a 255
  analogWrite(ledPin, brightness);             // Ajusta el brillo del LED
  delay(10);                                   // Pequeña pausa para suavizar la lectura
}

Explicación del código

  1. Lectura del potenciómetro:
    La función analogRead(potPin) toma el valor de voltaje del potenciómetro y lo convierte en un número entre 0 y 1023. Este valor representa la posición del potenciómetro, desde 0 (mínimo) hasta 1023 (máximo).

  2. Mapeo del valor:
    Utilizamos la función map() para convertir el valor leído (que está en el rango de 0 a 1023) a un valor entre 0 y 255. Esto es necesario porque el pin de salida PWM en Arduino controla el brillo del LED en un rango de 0 a 255 (siendo 0 apagado y 255 el brillo máximo).

  3. Salida PWM:
    La función analogWrite(ledPin, brightness) ajusta el brillo del LED usando una señal de PWM. Esto cambia el ciclo de trabajo de la señal para variar el brillo del LED en función de la posición del potenciómetro.

  4. Pequeña pausa:
    El delay(10) asegura que el programa no se ejecute demasiado rápido, lo que podría provocar fluctuaciones en la lectura del potenciómetro.

Resultado Final
Al girar el potenciómetro, notarás cómo el brillo del LED varía de manera suave, dependiendo de la posición del potenciómetro. Si el potenciómetro está al mínimo, el LED estará apagado; si está al máximo, el LED brillará con toda su intensidad.

Posibles problemas y soluciones
El LED no se enciende: Asegúrate de que has conectado correctamente el ánodo y el cátodo del LED. También revisa las conexiones del potenciómetro.
El brillo no varía suavemente: Puede ser que la conexión del potenciómetro no esté firme o que el valor del mapeo no esté ajustado correctamente.

FIN

Por ahora 😂😂... Así es, ¿nos hizo falta algo? ¿Quieres que incluyamos algún tema en particular? ¿Tienes alguna duda? Nos encantaría leerte en la caja de comentarios.

En definitiva, este no puede ser el final de una introducción para Arduino. Y, es que, ya sea la parte de la programación, o la electrónica; INCLUSO más allá: domótica, automatización, brazos robot, CNC, impresión 3D, y la lista sigue...
Arduino es una excelente plataforma para empezar y hasta para hacer más que solo proyectos académicos.

¡Gracias por estar una semana más! Gran BOOM ya estamos en youtube, TikTok, Facebook e Instagram. Búscanos!

Referencias:

  1. https://arduinodhtics.weebly.com/historia.html
Translation missing: es.blogs.article.previous_blog Translation missing: es.blogs.article.next_blog