Curso C para Arduino
¿Qué es Arduino?
Arduino es una plataforma de hardware libre diseñada para facilitar el uso de la electrónica y la programación a usuarios sin experiencia previa. Está compuesta principalmente por una placa con microcontrolador y un entorno de desarrollo (IDE) fácil de usar. Arduino permite crear proyectos interactivos como robots, sensores inteligentes, automatización doméstica, entre otros.
Introducción a la plataforma Arduino
Arduino cuenta con varias placas, siendo las más comunes Arduino Uno, Arduino Mega, Arduino Nano y Arduino Leonardo. La elección dependerá del proyecto a realizar. Todas estas placas se basan en microcontroladores que permiten controlar componentes electrónicos mediante un programa cargado desde el ordenador.
Componentes básicos de una placa Arduino Uno:
- Microcontrolador (ATmega328P en Arduino Uno)
- Pines digitales (entrada/salida)
- Pines analógicos (entrada)
- Conexión USB
- Alimentación externa y regulador de voltaje
- LED integrado (pin 13)
Instalación y configuración del entorno Arduino IDE
Arduino IDE es el software oficial para programar placas Arduino, basado en el lenguaje C y C++. A continuación se indican los pasos para instalar y configurar el IDE:
-
Descarga del IDE Arduino:
- Ir a la página oficial: https://www.arduino.cc/en/software
- Seleccionar la versión según tu sistema operativo (Windows, macOS o Linux).
-
Instalación:
- Ejecutar el archivo descargado y seguir los pasos del asistente.
- Abrir Arduino IDE una vez finalizada la instalación.
-
Configuración inicial:
- Conectar la placa Arduino al ordenador mediante cable USB.
- Seleccionar el tipo de placa desde el menú superior:
Herramientas -> Placa -> Arduino Uno(u otra según corresponda). - Seleccionar el puerto COM correspondiente desde:
Herramientas -> Puerto.
Estructura básica de un programa en C para Arduino
El código básico en Arduino consta principalmente de dos funciones:
- setup(): Se ejecuta una sola vez al iniciar el programa. Aquí se realizan configuraciones iniciales, como declarar pines de entrada/salida.
- loop(): Se ejecuta repetidamente de forma indefinida. Aquí va la lógica principal del programa.
Ejemplo de un programa básico: encender y apagar un LED integrado
1// Definir el pin del LED 2int ledPin = 13; 3 4void setup() { 5 pinMode(ledPin, OUTPUT); // configurar el pin como salida 6} 7 8void loop() { 9 digitalWrite(ledPin, HIGH); // encender LED 10 delay(1000); // esperar 1 segundo 11 digitalWrite(ledPin, LOW); // apagar LED 12 delay(1000); // esperar otro segundo 13}
En este ejemplo sencillo se usa pinMode(), digitalWrite() y delay(), funciones fundamentales en proyectos Arduino.
¿Cómo practicar Arduino?
Existen varias plataformas online gratuitas donde puedes probar la mayoría de los ejemplos de Arduino sin necesidad de tener la placa física. Aquí te dejo las más recomendadas:
🧪 1. Tinkercad Circuits (Autodesk)
✅ Recomendada para principiantes y docentes
- Permite simular placas Arduino Uno con sensores, botones, LEDs, zumbadores, etc.
- Puedes programar en lenguaje C/C++ (Arduino).
- Interfaz muy intuitiva y visual.
- No requiere instalación: todo es online.
- Puedes guardar proyectos, compartir enlaces y trabajar en grupo.
🔧 Soporta:
- Lecturas analógicas (
analogRead) - PWM (
analogWrite) Serialydelay(),millis()- Montaje de circuitos realistas
📌 Requiere registro gratuito.
🧪 2. Wokwi Arduino Simulator
✅ Ideal para usuarios más avanzados
- Simulador rápido y ligero.
- Puedes escribir código directamente en C/C++.
- Soporta múltiples placas (UNO, MEGA, ESP32, etc.)
- Simulación precisa de sensores como DHT11, LM35, HC-SR04, LCDs, EEPROM, etc.
- Permite ver la traza de tiempo en millis(), consumo de RAM y depuración.
🎯 Características clave:
- Puedes clonar y compartir proyectos fácilmente.
- También tiene modo sin cuenta (guardar como enlace).
- Editor con autocompletado.
🧪 3. Arduino Cloud Web Editor
✅ Oficial de Arduino
- Editor en la nube con compilador real (no simulador visual).
- Útil si tienes una placa conectada al ordenador.
- Permite compilar y subir el código directamente si tienes el plugin instalado.
- No permite simulación de sensores como Tinkercad, pero sí verificar el código.
📌 Necesitas una cuenta Arduino gratuita.