Currículo: aquí encontrarás el desarrollo detallado de los contenidos que forman parte del Curso de pensamiento computacional, robótica e internet de las cosas, organizado por el CEP de Huelva – Isla Cristina.
Tabla de contenidos
- 1. Introducción
- 2. La placa controladora Arduino UNO R3
- 3. El entorno de desarrollo
- 4. Protoboard, ¿qué es y para qué se usa?
- 5. Mecánica de trabajo
- 6. Proyectos de entrenamiento
Duración: 3 horas.
Objetivos: el objetivo de esta sesión es ir un paso más allá en la robótica básica que nos ofrece Micro:bit, para descubrir la naturaleza de un sistema mucho más complejo, como Arduino, estudiar sus componentes y comenzar a realizar pequeños proyectos.
Prerrequisitos: los participantes deberán tener un conocimiento, de cierta entidad, al menos con la robótica basada en Micro:bit.
1. Introducción
En la sesión anterior, hicimos un ejercicio de profundización en las capacidades que nos ofrecían Micro:bit, Maqueen y Makecode, para el desarrollo de proyectos de robótica educativa. Tuvimos la oportunidad de programar dos tipos de LEDs, mover un servomotor, aplicar conceptos de señales digitales y radiofrecuencia.
En el campo de la robótica educativa, que es donde desarrollamos nuestra labor profesional, estamos buscando constantemente herramientas que faciliten el aprendizaje de conceptos básicos. Pero llegados a cierto punto, también es necesario permitir a los alumnos desarrollar habilidades más avanzadas. Micro:bit es una plataforma excepcional que se utiliza ampliamente en la educación, pero hay momentos específicos en que es recomendable avanzar hacia Arduino por varias razones de peso:
- Capacidad de procesamiento. Arduino está muy por encima en capacidad de procesamiento y memoria, permitiendo manejar proyectos más complejos y con mayor cantidad de datos.
- Compatibilidad con componentes electrónicos. La amplia compatibilidad de Arduino con miles de componentes electrónicos facilita la realización de proyectos más avanzados.
- Escalabilidad. Arduino ofrece una plataforma escalable que permite a los alumnos evolucionar desde proyectos básicos hasta aplicaciones complejas sin necesidad de cambiar de hardware.
- Programación. El entorno de programación de Arduino, basado en C/C++, brinda una base sólida para aprender técnicas de programación aplicables a un enorme universo de campos tecnológicos.
- Extensibilidad. Arduino destaca por su amplio rango de bibliotecas y una comunidad gigantesca que expanden las posibilidades de aprendizaje y desarrollo de proyectos complejos.
- Desarrollo profesional. El uso de Arduino entrena a los alumnos para el mundo profesional, desarrollando habilidades avanzadas en solución de problemas y pensamiento computacional, fundamentales en carreras técnicas.
Bueno, ahora que estás convencido, vamos a empezar a describir los componentes que debemos dominar para trabajar con soltura en esta tecnología.
Como ya supondrás, necesitaremos conocer la placa controladora -Arduino-, pero también otros elementos de gran ayuda como la «protoboard». Además, todo esto debemos ser capaces de gestionarlo en los portátiles de nuestros centros –sistema operativo EducaAndOS-, y también de programarlos –Tinkercad y Arduino IDE-.
Muchas cosas nuevas, ¿verdad?
No te preocupes, es más sencillo de lo que parece.
2. La placa controladora Arduino UNO R3
Estamos ante una de las placas controladoras más versátiles que existen, pero antes de entrar a desgranar los componentes concretos de este modelo, necesitamos conocer algunas de las características generales de esta tecnología.
2.1. ¿Qué es Arduino?
Empecemos por el principio, ¿qué es Arduino?

En su definición oficial se dice que “Arduino es un entorno de prototipado basado en microcontroladores para el diseño y desarrollo de prototipos electrónicos”.
Pero, como seguro que no has entendido nada, vamos a verlo con más detenimiento.
Arduino es una combinación de hardware y software que permite a estudiantes como vosotros dar vida a vuestras ideas. Es una placa con un microcontrolador que se puede programar para realizar diversas tareas.
Imagina que queréis hacer que una luz parpadee o que un motor gire; Arduino puede hacerlo posible.
Lo que hace especial a Arduino es su simplicidad y accesibilidad. A diferencia de otros sistemas de microcontroladores, está diseñado para ser fácil de usar, incluso para aquellos que no tienen experiencia previa en electrónica o programación. Su entorno de desarrollo integrado (IDE) os permitirá escribir código en un lenguaje sencillo, parecido a C++, y cargarlo fácilmente en la placa para dar vida a vuestros proyectos.
En nuestras clases, utilizaremos Arduino para aprender conceptos fundamentales de programación y electrónica.
Por ejemplo, al controlar LEDs o motores, entenderéis cómo funciona la programación secuencial y cómo se interactúa con componentes electrónicos.
Este aprendizaje práctico os ayudará a comprender mejor la teoría que hay detrás de lo que estáis programando.
Además, Arduino es una herramienta fantástica para fomentar la creatividad y la resolución de problemas. Podréis trabajar en proyectos que van desde estaciones meteorológicas automatizadas hasta pequeños robots.
Finalmente, la comunidad de Arduino es un recurso de incalculable valor. En internet, encontraréis innumerables proyectos, tutoriales y foros donde personas de todo el mundo comparten sus conocimientos y experiencias. De hecho, si buscas “comunidad arduino” en Google, obtienes casi 6 millones de resultados.

Esto significa que, además de aprender en clase, tendréis acceso a una amplia gama de recursos para seguir explorando y aprendiendo por vuestra cuenta.
Como ves, Arduino no es solo una herramienta educativa; es una puerta hacia un mundo de descubrimiento.
2.2. Conceptos básicos de la placa
Existen muchas versiones de placas controladoras Arduino, tantas como estas:

Cada una de ellas ha sido fabricada con un propósito específico, que queda fuera del alcance de este curso. Sin embargo, sí que debemos aprender cuáles son las partes principales de la placa con la que trabajaremos: el modelo UNO R3.
Además, cuando tengas algo de experiencia, verás que las partes fundamentales que vamos a ver se pueden encontrar en la mayoría de las placas y que son comunes también en otros tipos de controladores.
2.2.1. Esquema de componentes principales
Para empezar, es importante comprender que Arduino es una plataforma diseñada para facilitar el aprendizaje y el desarrollo de habilidades de electrónica y programación. Esta plataforma se centra en un microcontrolador y ofrece una serie de entradas y salidas que están listas para ser utilizadas. Además, se caracteriza por su facilidad para comunicarse con otros dispositivos.
Espero que no te desanime la siguiente imagen, porque con el tiempo verás que casi siempre utilizamos los mismos componentes:

2.2.2. Una caja negra
A pesar de la gran cantidad de elementos que puede verse en la imagen anterior, puedes visualizar a Arduino como una caja negra. Este término, comúnmente asociado con los sistemas de registro de los aviones, se refiere a algo cuya funcionalidad conocemos, pero cuyo funcionamiento interno no está a la vista. En el caso de Arduino, lo consideraremos una caja negra porque nos centraremos en sus entradas, el procesamiento que realiza y sus salidas, sin profundizar en los detalles técnicos de cómo se lleva a cabo este procesamiento.

Piensa en cómo usas el móvil: seleccionas una foto y le das a subir a Instagram (entrada), aparece una barrita que te indica el progreso de la subida (proceso) y la imagen aparece publicada en tu feed (salida).
En ningún momento necesitas saber qué hace internamente la red social para que tu imagen consiga aparecer publicada, sin embargo ahí está ya para siempre. Así, como en este ejemplo, hay muchos sistemas a nuestro alrededor que siguen esta lógica de entrada, proceso y salida.
2.2.3. Señales de entrada y salida
Ahora, apliquemos este concepto a Arduino. Las señales que entran y salen de Arduino pueden ser de dos tipos: digitales y analógicas.
Las señales digitales tienen solo dos estados: encendido o apagado, alto o bajo, HIGH o LOW, representado por 5V o 0V. Esto es similar a una luz de una habitación que está encendida o apagada. Nuestro Arduino Uno, tiene 14 pines que pueden actuar como entradas o salidas digitales, lo que significa que pueden leer o entregar 5V o 0V.

Cuando conectamos nuestro Arduino al ordenador a través del cable USB, debemos tener cuidado con los pines marcados como TX y RX. Estos pines están relacionados con la comunicación serie a través del puerto USB. Si los utilizamos para otras cosas mientras el Arduino está conectado al ordenador, podríamos experimentar comportamientos inesperados en nuestro proyecto. Es como si intentáramos hablar por teléfono mientras otra persona también está usando la misma línea para una llamada diferente; la comunicación no sería clara.
En cuanto a las entradas analógicas, estas nos permiten medir valores que varían con el tiempo, como las señales de audio. Aunque teóricamente estos valores pueden ser infinitos, en la práctica, las entradas analógicas de Arduino pueden medir voltajes entre 0V y 5V. Ya no tenemos o 5V o 0V, sino un valor comprendido entre 0 y 5V. Estos voltajes se traducen en valores digitales que la placa puede entender, que van desde 0 hasta 1023, lo que representa 1024 valores posibles.
Por ejemplo, una señal analógica de entrada de 2,5V (la mitad de 5V) será traducida a un valor digital de 512 (la mitad de 1024).
El modelo Arduino Uno, por ejemplo, tiene 6 entradas analógicas. Estas entradas están diseñadas para soportar tensiones de hasta 5V. Es importante no exceder este límite para evitar dañar la placa.

Las entradas analógicas también pueden ser utilizadas como señales digitales, por ejemplo, en nuestra placa la entrada analógica A0 equivale al pin 14.
Hasta ahora, hemos hablado de entradas/salidas digitales y entradas analógicas.
¿Qué ocurre con las salidas analógicas?
Es interesante indicar que, técnicamente, Arduino no proporciona salidas analógicas reales. Sin embargo, hay una técnica muy ingeniosa llamada modulación por ancho de pulso (PWM) que nos permite emular una salida analógica. Podéis identificar los pines que soportan PWM en la placa Arduino por una ~ al lado de números como el 3 y el 5.

¿Qué hace especial a la PWM? Esta técnica juega con el tiempo que una señal digital está en estado alto (1) o bajo (0), es decir, el ancho de los pulsos de la señal. Al variar este ancho, podemos simular una señal analógica a partir de una digital. Esto es especialmente útil, por ejemplo, para controlar la intensidad de un LED o la velocidad de un motor.
Para entenderlo mejor, imaginad que estáis ajustando el volumen de vuestra música. Con la PWM, en lugar de tener solo “volumen alto (+)” o “volumen bajo (-)”, podéis obtener niveles graduales de volumen, aunque en el fondo solo estéis encendiendo y apagando rápidamente la señal digital.
2.2.4. Alimentación
Junto a las entradas analógicas, podemos localizar la zona de alimentación de la placa. El objetivo de estos conectores tiene una doble función:
- Alimentar de electricidad la placa controladora.
- Distribuir la alimentación desde la placa a algunos sensores o tareas de control.

En Arduino Uno, encontraréis salidas de 3.3V y 5V. Estas salidas pueden ser utilizadas para alimentar componentes externos que se integren en vuestros proyectos. Es importante recordar que debemos usar cualquier pin marcado como GND (tierra) como el polo negativo para esta alimentación. Esto es como asegurarnos de conectar correctamente el polo positivo y negativo de una batería en un dispositivo.
Además, nuestra placa tiene una entrada llamada Vin. Esta entrada nos permite alimentar la placa externamente con voltajes de hasta 12V. La placa funciona internamente con 5V, pero gracias a un regulador interno, puede manejar voltajes de entrada más altos. Sin embargo, debemos tener cuidado de no exceder este límite de 12V para evitar dañar la placa.
En cuanto a las formas convencionales de alimentar la placa, tenemos dos opciones principales:
- La primera es a través del puerto USB. Esta opción no solo alimenta la placa, sino que también nos permite conectarla a un ordenador para programarla, hacer pruebas y monitorear su funcionamiento.
- La segunda opción es mediante un Jack de alimentación, comúnmente utilizado con baterías de 9V (por ese motivo nuestro kit incluye un porta pilas con 6 pilas de 1,5V = 9V). Este método es muy útil cuando queremos hacer funcionar nuestros proyectos de forma independiente, sin estar conectados a un ordenador.
2.2.5. Conectores ICSP
En nuestras clases sobre Arduino, es importante conocer todos los aspectos de la placa para aprovechar al máximo sus capacidades. Por eso, es necesario que hablemos sobre las conexiones para comunicación ICSP (In-Circuit Serial Programming) presentes en la placa Arduino y su importancia tanto en la programación como en la comunicación de la misma.
Aunque el funcionamiento de los pines ICSP es materia para un curso avanzado, simplemente citaremos por qué están presentes y tener la foto global de la placa.
La tarjeta Arduino cuenta con dos conexiones ICSP, que son puntos específicos para la comunicación serial dentro del circuito. Esta forma de comunicación es fundamental para programar ciertos aspectos de la placa.
El primer ICSP, ubicado cerca de las entradas analógicas, tiene un propósito muy específico: se utiliza para programar el Bootloader del microcontrolador de Arduino.
¿Qué es el Bootloader? Es un pequeño programa que gestiona el arranque de la placa. Este gestor de arranque es esencial porque interpreta los programas que cargamos en Arduino, facilita la recepción y envío de datos a través de los puertos y hace posible la comunicación USB. En resumen, el Bootloader es como el director de una orquesta, asegurándose de que todo funcione correctamente cuando encendemos nuestra placa Arduino.

El segundo ICSP, situado cerca del conector USB de la tarjeta, tiene una función diferente. Se utiliza para programar el microcontrolador que se encarga específicamente de la comunicación USB. Esto es crucial porque nos permite establecer y modificar cómo la placa Arduino comunica y recibe información a través del puerto USB, una función vital para muchos de nuestros proyectos.

2.2.6. Otros componentes importantes
A lo largo de este documento hemos explorado los componentes más importantes para programar la placa, pero hay otros tremendamente importantes que la hacen funcionar. Veamos algunos de ellos, antes de terminar este repaso.
Uno de los componentes que seguramente llamará vuestra atención es el cristal de cuarzo. Este oscilador de 16 MHz es muy importante porque determina la velocidad a la que se ejecutan los programas en Arduino. Podéis pensar en él como el metrónomo de un músico, marcando el ritmo al que se procesan las instrucciones.

El corazón de la placa Arduino es el microcontrolador ATmega328. Este es el cerebro detrás de toda la acción: ejecuta vuestros programas, lee las señales de entrada y envía comandos a otros dispositivos. La rapidez con la que realiza estas tareas está dictada por el cristal de cuarzo.

Además del ATmega328, hay otro microcontrolador importante en la placa Arduino, especialmente para aquellos de vosotros interesados en la comunicación USB. Este es el ATmega16u2, ubicado cerca del conector USB. Aunque no profundizaremos en detalles técnicos sobre este chip, es importante saber que facilita la comunicación entre el Arduino y vuestro ordenador a través del USB.

En resumen, estos componentes son fundamentales para entender cómo funciona Arduino y son la base para empezar a programar y crear vuestros propios proyectos. Con el tiempo y a medida que avancemos en vuestro aprendizaje, adquiriréis un conocimiento más profundo sobre cada uno de estos elementos. Por ahora, el objetivo es daros una visión general de estos componentes y su función, sin adentrarnos en una clase completa de electrónica digital.
Visto.
Conocemos la placa con la que vamos a trabajar, pero también necesitamos conocer qué aspecto tiene nuestro entorno de programación. Así que, vamos a instalarlo.
3. El entorno de desarrollo
Para instalar Arduino, procedemos de la misma manera que se instalan todas las aplicaciones en EducaAndOS, accediendo a la siguiente ruta:
Aplicaciones > Herramientas del sistema > Centro de software de educandos

Buscar con la lupa: Arduino.

Clicar sobre Arduino y pulsar en instalar.

Cuando termine de instalar, no lanzamos el programa, simplemente cerramos la ventana.
El programa se ha instalado y aparecerá en la siguiente localización:
Aplicaciones > Educación > Entorno de desarrollo de Arduino

Pinchamos sobre él y lo abrimos.
La primera vez que lo abrimos nos aparecerá una ventana informando de los Términos del Servicio, es decir, en las condiciones que se proporciona el programa.

Aceptamos con Agree los Términos del Servicio.
El programa estará desactualizado, así que nos ofrecerá si queremos actualizarlo a la última versión. Le decimos que sí, pulsando en DOWNLOAD.

Finalmente, cuando haya terminado de descargar la actualización, le decimos CLOSE AND INSTALL:

Ya tenemos nuestro entorno de desarrollo listo para trabajar, sin embargo, como hemos visto, existen muchas versiones distintas de placas controladoras Arduino. Debemos decirle aquí, con qué placa queremos trabajar:

Para ello, lo más sencillo es cerrar el programa. Conectamos la placa por USB al ordenador y volvemos a abrir el programa.
Ahora, en la lista de placas disponibles, sí que nos aparecerá la nuestra. Lo único que hacemos es clicar sobre ella:

Ya tenemos nuestro entorno completamente configurado para empezar a programar la placa.
Si te fijas, se trata de un editor especial de texto, en este caso de código del lenguaje de programación C++.
Esto que aparece aquí, es el nombre del archivo que estamos editando. Lo sabemos porque todos los archivos de código de Arduino terminan en .ino. Como ves, tiene un nombre un poco raro que se asigna por defecto.

Sin embargo, siempre puedes cambiarlo y guardarlo con otro nombre más fácil de recordar. Para hacerlo, solo tienes que pulsar sobre File > Save As…, escribir arriba el nombre que quieres darle y seleccionar dónde quieres guardarlo:

Después de hacer esto y pulsar en Guardar, se habrá creado en la localización que elegiste una nueva carpeta con el nombre que indicaste. y dentro de ella, encontrarás tu archivo.

Si lo que quieres es abrir un archivo descargado desde otro programa, simplemente pulsa sobre File > Open, seleccionas el archivo, y en la ventana de confirmación que sale, aceptas.
Este es el entorno de programación profesional de Arduino. Entre otras funciones tremendamente útiles tenemos acceso a:
- Docenas de códigos de ejemplo.
- Gestión de librerías externas.
- Carga directa del archivo dentro de la placa.
- Tutoriales.
- Muchas otras utilidades avanzadas.
Aquí, en este entorno, es donde terminan programando todas las personas que ya dominan los conceptos básicos de esta tecnología. Pero ese no es nuestro caso, apenas empezamos a andar en el mundo del hardware libre.
Por todo ello, nuestro camino se iniciará en otro sitio, en Tinkercad, un entorno basado en la web, que nos permitirá diseñar nuestros circuitos y escribir nuestros programas de manera que podamos probarlos con su simulador integrado, antes de cargarlos en la placa. Esto al principio es muy importante porque todavía no dominamos muchos conceptos que son necesarios para no cometer errores que dañen de forma irreversible nuestro material.
Este es el aspecto de nuestro entorno de trabajo inicial con Tinkercad:

Ahora, es el momento de dirigirnos allí y empezar a trabajar. Pero antes, hay una última cosa que debes saber: qué es y cómo funciona una protoboard.
4. Protoboard, ¿qué es y para qué se usa?
Antes de comenzar con la práctica directa en Tinkercad y posteriormente en nuestras placas físicas de Arduino, es importante que entendáis el componente fundamental en la construcción de circuitos electrónicos sin soldadura: la protoboard o breadboard.
Este elemento es utilizado tanto por aficionados como por profesionales para probar circuitos de manera rápida. Ahora, vamos a repasar su funcionamiento.

4.1. ¿Qué es una protoboard?
Imagínate que tienes un puzle que puedes montar y desmontar tantas veces como quieras, pero en lugar de piezas de rompecabezas, usas componentes electrónicos como resistencias, LEDs y cables.
Eso es una protoboard: una tabla que te permite unir todas estas piezas para ver cómo funcionan juntas en un circuito, sin tener que usar soldadura ni herramientas complicadas.
La protoboard tiene muchísimos agujeritos donde podéis insertar los componentes. De esta manera, si conectas un cable en una fila, y al otro extremo pones, por ejemplo, un LED, están conectados. Es como hacer un boceto antes de pintar un cuadro definitivo. En lugar de crear una placa de circuito impreso (PCB) para cada prueba, que lleva mucho tiempo y es más permanente, usamos la protoboard para hacer pruebas rápidas y aprender de los errores sin preocupaciones.
Usar una protoboard os va a ayudar a entender cómo fluye la electricidad y cómo interactúan los diferentes componentes. Además, es la mejor manera de aprender de prueba y error sin el miedo de dañar nada. Y lo mejor de todo, es que lo que aprendáis con la protoboard, luego lo podréis hacer de verdad con vuestra placa Arduino.
4.2. Cómo funciona una protoboard.
La protoboard que vamos a usar es como una matriz de puntos. Es decir tiene filas y columnas, y además están etiquetados con letras que van de la a a la j, y con números que van del 1 al 30 (como en esta imagen, aunque dependiendo de las dimensiones de cada protoboard esta numeración podría ser mayor o menor).

De esta manera, si queremos localizar este orificio, podemos hacer como en el ajedrez, nombrarlo por su posición con la letra y el número. El punto que puedes ver en este ejemplo, sería el C4.

Otra cosa importante que debes saber es que todos los agujeros que tienen el mismo número, están eléctricamente conectados, hasta la mitad de la protoboard:

Por tanto, si conectamos un componente en el agujero D10, estará eléctricamente conectado también al A10, B10, C10 y E10, pero no a los F10, G10, H10, I10 y J10.
Además, a lo largo de las partes superior e inferior, hay unas zonas especiales etiquetadas con un + y un –. Estas son como las líneas de la electricidad: una lleva la energía (Vcc) y se considera el + (positivo), y la otra la tierra (GND) considerándose el – (negativo). A estas zonas es donde los componentes van a buscar su energía o dónde vuelven después de un recorrido eléctrico.
En este caso, todos los puntos de la línea positiva están internamente conectados, y todos los puntos de la línea negativa, también:


Para conectar todo, vais a usar cables que utilizaremos para llevar los electrones de un lado a otro. Pero, como cualquier medio de transporte, tienen que tener el tamaño adecuado para que encajen bien en los agujeros. Por eso usaremos cables Dupont:

5. Mecánica de trabajo
Como ya habíamos dicho, utilizaremos Tinkercad como entorno de trabajo básico al inicio de nuestro aprendizaje.

Para usar esta espectacular herramienta online debemos ir a https://www.tinkercad.com/ y registrarnos.
Para ello, simplemente pulsamos sobre el botón correspondiente y seleccionamos GOOGLE como método de registro. Nos registramos con nuestro correo electrónico y listo, es un proceso muy sencillo.
Una vez que estemos dentro, verás un menú principal:

Si pulsas sobre Tinker, podrás ver todas las cosas que pueden hacerse con esta aplicación:

Nosotros trabajaremos siempre en la sección de Circuitos.
En el extremo superior derecho tendrás siempre visible el icono de tu perfil de usuario. Pincha ahí, y luego haz click en Nuevo diseño > Cirtuito.

Después de eso, se nos abrirá la interfaz de trabajo de nuestro entorno de diseño. Tiene este aspecto y estas son sus partes principales:

- ZONA NARANJA: copiar, pegar y eliminar componentes de nuestro diseño.
- ZONA MORADA: deshacer el último paso o rehacer el que hemos deshecho.
- ZONA VERDE: escribir comentarios en nuestro diseño y ocultarlos o ponerlos visibles.
- ZONA AZUL: seleccionar el color y tipo de cable que queremos usar.
- ZONA MARRÓN: girar o voltear un componente.
- ZONA GRIS: ver el panel para escribir código, iniciar/parar la simulación, y enviar el diseño.
- ZONA AMARILLA: panel de componentes disponibles que podemos añadir a nuestro diseño.
Ahora, lo único que tenemos que ir haciendo es añadir componentes a nuestro espacio de trabajo, conectar cables en sus pines y/o agujeros correspondientes, escribir código (si fuera necesario) y probar si todo funciona correctamente pulsando el botón:

¿Cómo podemos enviar un trabajo hecho con Tinkercad? Muy sencillo. Pulsamos sobre el botón superior derecho:

Se nos abrirá una ventana. Si nos desplazamos hacia abajo, veremos:

Pulsamos sobre ese botón y nos aparecerá un enlace que podemos copiar, para enviárselo al profesor, entregarlo en classroom o enviárselo a otro compañero para que pueda verlo. Sea quien sea a quién se lo envíes, podrá modificarlo y hacerle todas las pruebas que necesite.

Por último, ¿cómo nos llevamos nuestro trabajo a nuestra placa Arduino?
Muy sencillo, pulsas en el botón de Código que encontrarás en el extremo superior derecho, y luego en el botón de descargar. Ya tienes el archivo que puedes abrir con Arduino IDE.
Luego, utilizando el material físico:
1. Conecta la placa al ordenador.
2. Abre Arduino IDE.
3. Carga el programa y revisa que el código sea correcto.
Para cargar el programa tienes que pulsar sobre File > Open y seleccionar el archivo de tu código.
Después, verifica que todo el código está bien, sin errores, pulsando aquí:

4. Desde Arduino IDE, guarda el programa en la placa.

En la placa comenzará a parpadear durante unos segundos una luz naranja. Cuando deje de hacerlo, tu programa estará ya cargado en ella.
5. Desconecta la placa.
6. Monta tu circuito sobre la mesa.
7. Asegúrate de que todo está donde debe -puedes ayudarte mirando tu diseño en Tinkercad-.
8. Conecta la placa y comprueba que todo funciona correctamente.
6. Proyectos de entrenamiento
Ahora que ya tenemos todos los elementos sobre la mesa, es el momento de comenzar a diseñar, programar y montar nuestros circuitos con Arduino.
Comenzaremos con un par de proyectos muy sencillos, para irnos haciendo con la mecánica de trabajo, y los iremos complicando un poco más cada vez, añadiendo elementos más complejos.
6.1. Hola mundo de Arduino
En este primer proyecto, vamos a realizar un pequeño montaje para ir familiarizándonos con el entorno de trabajo y también con algunos conceptos de la electrónica.
Nuestro objetivo es hacer que se encienda un LED y se apague. Quizás pueda parecerte poco espectacular ahora, pero esto va muy rápido, así que atiende a los detalles que lo que viene es muy importante.
Lo primero que vamos a hacer es ir a Tinkercad, crear un diseño nuevo, ponerle de nombre Hola mundo de Arduino, y añadir dos elementos: la placa controladora y la protoboard.

Como ves, vamos a usar el cable USB para alimentar la placa, por lo que no vamos a necesitar pilas.
Ahora, necesitamos crear un flujo de corriente eléctrica que circule por la protoboard para que la corriente llegue a los componentes que le conectaremos. Por tanto, debemos colocar un cable desde GND a la línea negativa de la protoboard (cable superior negro del diagrama que tienes aquí abajo), y también cualquier PIN de salida (por ejemplo el 12) a la línea positiva de la protoboard (cable superior rojo).
Además, aunque en este proyecto no lo necesitemos, siempre es un buen hábito -especialmente cuando se empieza-, alimentar la otra mitad de la protoboard (la mitad inferior). Para ello, hacemos dos puentes en la parte inferior para llevar tanto el positivo como el negativo a la parte inferior. Así, tenemos toda la protoboard completamente alimentada con corriente circulando por todos sus agujeros.

Es el momento de colocar el LED. Desde el panel de componentes buscamos LED, y lo arrastramos a nuestro diseño.

Una cuestión importante es que los LED están polarizados, esto significa que IMPORTA donde colocamos cada una de sus patillas. ¿Te has fijado que una está doblada? Ésa es el ÁNODO (o polo positivo). La otra es el CÁTODO (o polo negativo). Es muy importante porque eso te está marcando en qué tipo de agujero tienes que colocarlos.
| Cuando estés trabajando con el material del aula, el LED no tendrá una patilla doblada, sino que una será más larga que la otra. La larga es el ÁNODO. |
Sabiendo esto, puedes colocarlo en cualquier sitio. En mi caso lo colocaré en los agujeros E14 y E15.

Hemos conectado el polo positivo (ánodo) del LED a corriente y el polo negativo (cátodo) a GND/tierra. Es decir, positivo con positivo y negativo con negativo.
Sin embargo, se nos ha escapado un pequeño detalle, y es que si hacemos esto con nuestro material de clase, quemaremos el LED, porque es un elemento muy sensible que se quema si el voltaje que recibe es demasiado alto.
De hecho, si pulsas sobre Iniciar simulación, Tinkercad te avisa con un mensajito de advertencia:

Cuando nosotros alimentamos la placa con el cable USB estamos enviando 5V a los pines digitales de salida (como el 12 que estamos usando), y eso es demasiado para conectarlo directamente al LED (normalmente operan con un voltaje de entre 1.8 y 3.3V). Para no quemarlo, tenemos que poner una resistencia, en este caso de 220 Ω (ohmios).
Pues, buscamos en nuestro panel de componentes una resistencia y modificamos su valor para establecerlo a 220 Ω:

Y lo situamos en la protoboard, de manera que la resistencia esté conectada al ánodo del LED. Como necesitamos que la corriente que envía la placa llegue al positivo del LED, es ahí donde debemos colocar la resistencia:

Nuestro montaje está terminado, pero todavía no podemos iniciar la simulación, porque a pesar de que todos los cables y componentes están en su lugar correcto, no le hemos dicho a la placa controladora qué tiene que hacer. No sabe, por ejemplo, que queremos hacer funcionar el PIN 12. Tenemos que elaborar el programa que controle nuestro circuito.
Para hacerlo un poco más interesante, no vamos simplemente a encender el LED, sino que vamos a hacer que parpadee. Se encenderá, durante 1s, luego estará apagado durante 1s, se volverá a encender durante 1s y así eternamente.
Para escribir nuestro programa pulsamos en:

Nos aparecerá este panel, para programar por bloques:

En esa interfaz de programación por bloques hay algunas zonas importantes que debes conocer.
Primero asegúrate que estamos en el modo de programación por bloques –indicado por la flecha naranja-.
Después asegúrate de que está seleccionada la placa controladora Arduino R3 –indicado por la flecha rosa-.
Luego puedes empezar a arrastrar bloques de la parte izquierda –la categorías de bloques aparecen rodeadas de amarillo-, hacia la derecha –el espacio de programación aparece rodeado de verde-.
En el programa que hemos elaborado, fíjate bien como para que se encienda el LED, debemos utilizar un bloque de Salida, porque lo que queremos hacer es que la electricidad salga de la placa, vaya al LED y vuelva a tierra -GND-. Además usamos el bloque que usa ALTA / BAJA, porque se trata de un pin digital. El LED sólo necesitamos encenderlo o apagarlo, es decir, sólo manejamos dos estados, por eso elegimos un pin digital.
Una vez que tengas tu programa terminado, puedes probar a ver si funciona, simplemente pulsando el botón Iniciar simulación –marcado con la flecha violeta-.
Si tras probarlo en el simulador verificas que todo funciona correctamente, puedes descargar el archivo y abrirlo en Arduino IDE para subirlo a la placa. Esto es algo que ya sabes hacer porque lo aprendiste aquí.
Finalmente, con el programa subido a la placa, ya puedes desconectarla y montar el circuito en tu mesa siguiendo los pasos que has aprendido.
¿Funciona verdad?
Pues ahora, extiende su funcionamiento, para simular un semáforo. Tu circuito debe tener 3 LEDs, uno rojo, otro amarillo y otro verde. La secuencia de encendido debe ser: luz verde durante 1s – luz amarilla durante 1s – luz roja durante 1s, y vuelta a empezar. Como es evidente, sólo puede haber una luz encendida en cada momento. Pide al ponente los componentes electrónicos que entiendas que debes usar.
6.2. LED RGB
Igual que hicimos en el caso de Micro:bit, vamos a trabajar el uso del LED RGB, para que puedas comparar entre ambos proyectos.
En Tinkercad nuestro componente LED RGB, tiene este aspecto:

Como puedes ver, tiene 4 patillas que sabrás a qué se dedica cada una porque si sitúas el ratón encima de ellas, aparecerá un «tooltip» informándote de su naturaleza. Si lo haces, comprobarás cómo:
- Patilla 1: canal del Rojo (R).
- Patilla 2: cátodo -aquí debemos conectar la tierra GND-.
- Patilla 3: canal del Azul (B).
- Patilla 4: canal del Verde (G).
Pues sabiendo cómo funcionan los LEDs -esto no dejar de ser 3 LEDs en 1-, puedes montar el circuito que lo controla.

Es importante que uses esos pines de Arduino, luego veremos por qué.
Ya que tenemos el circuito, disponemos de varias opciones para programarlo. Por ejemplo, sabiendo que estos son los colores primarios -rojo, verde y azul- y estos los secundarios -amarillo, cyan y magenta-:

Podemos programar nuestro LED RGB para que muestre los colores primarios en secuencias de 1s, es decir: rojo – verde – azul – rojo – verde -… y así indefinidamente. Esta secuencia se programaría así:

Sencillo, ¿verdad?
Ahora te propongo que pares aquí e intentes hacer el programa que mostraría la secuencia de los colores secundarios.
Para terminar, te explico porqué debían de ser esos pines los elegidos para este proyecto.
Cuando iniciamos la explicación de los pines disponibles en Arduino, explicamos que hay unos pines especiales marcados con una ~, son los pines PWM y representan salidas o escrituras analógicas.
Hasta ahora sólo habíamos utilizado la escritura digital. ¿Recuerdas cuando usábamos el PIN 12 y lo poníamos en HIGH o LOW? Estábamos haciendo escrituras digitales, poniendo un pin a 1 (HIGH = pasa corriente) o a 0 (LOW = no pasa corriente). Es decir, sólo podíamos tener 2 valores distintos: 0 y 1.
Resulta que con la escritura analógica, tenemos la posibilidad de trabajar con 256 valores distintos: del 0 al 255.
Cuando trabajamos con colores RGB, cada uno de los canales de color tiene 256 posibles valores, del 0 al 255, que se corresponden con las distintas intensidades a las que puede brillar cada canal. 256 rojos, 256 verdes y 256 azules. Así conseguimos una completa paleta de color.
¡Pero si hemos programado cada canal con un HIGH y un LOW!
Efectivamente, por eso o sale el rojo -o verde o azul- más intenso, o sale apagado. Porque HIGH representa el valor más alto y LOW el valor más bajo. Y por ese motivo también, con esos bloques, sólo podemos iluminar el LED RGB con los colores primarios y secundarios.
Entonces, si se trata de un LED RGB, ¿cómo podemos encenderlo de color marrón, por ejemplo?
Tenemos que recurrir a otro bloque disponible en Tinkercad, este:

Le indicamos en qué pin está cada canal de color, por orden RGB, y pulsamos en el color que queremos que muestre. En el caso de la imagen, está mandando al LED una cantidad de rojo de 204, una cantidad de verde de 153, de y una cantidad de azul de 51 -puedes verlo situando el ratón sobre un color-.

Evidentemente ahí no están recogidos todos los posibles colores que se pueden crear con una configuración RGB, pero Tinkercad solo ofrece estos porque el resto se aprecia con muy poca diferencia cuando se enciende un LED.
Ten en cuenta que cuando montes tu circuito sobre la mesa, los pines del LED RGB, no tiene la misma configuración que el de Tinkercad.

Para asegurarte de que el montaje es correcto, tan solo tienes que fijarte en la inscripción que aparece junto a cada patilla del componente. El que no tiene la inscripción RGB, es el cátodo, ahí debes conectar la tierra GND.
6.3. Pulsadores
En este otro proyecto vamos a aprender a utilizar dos elementos nuevos, el pulsador y el monitor serie.
Todo entorno de programación que se precie dispone de lo que llamamos la Consola, que es un espacio que nos permite, entre otras cosas, mostrar información sobre algún elemento de nuestro interés. Esta consola en el caso de Arduino se llama monitor serial.
De esta manera, podemos hacer que mientras nuestro programa se está ejecutando vaya enviando información al monitor serial para nosotros poder comprobar por ejemplo qué color hemos enviado al LED, qué valor está usando un potenciómetro o qué cantidad de voltaje estamos enviando a un zumbador. Incluso podemos hacer lo contrario, podemos usar el monitor serial para introducir datos en el circuito.
Desde el punto de vista del programador, nos facilita mucho la tarea, porque nos ayuda a explicarnos qué está pasando en nuestro circuito.
Piensa en el monitor serial como en el cable que nos permite comunicar el ordenador con la placa Arduino y viceversa.
En nuestro Arduino IDE podemos acceder al Monitor Serie activando este icono:

Se nos abrirá una ventana que tiene este aspecto, que será donde irán apareciendo los mensajes que vayamos enviando desde nuestro programa:

Igualmente, podemos acceder al monitor serial en TinkerCad pulsando en Monitor en serie que verás en la parte de abajo de tu código:

Para enviar información al monitor serie en Tinkercad, podemos programar una prueba como esta:

Esto nos será de gran ayuda en nuestros proyectos para saber qué está ocurriendo con los componentes que nos interesen.
Ahora, lo que vamos a hacer es aprender a usar un pulsador, como este:

Verás que tiene 4 patillas, y si vas recorriendo con el ratón cada una de ellas, aparecerán sus respectivas etiquetas. Las dos de la izquierda se llaman: Terminal 1a (la de abajo) y Terminal 1b (la de arriba). Igualmente, las dos de la derecha se llaman Terminal 2a (la de abajo) y Terminal 2b (la de arriba).
Esto es así, porque el pulsador funciona de forma parecida a un interruptor. Las dos terminales 1 están conectadas entre sí, y las dos terminales 2 también. Pero las terminales 1 y 2 están desconectadas. Cuando el botón se pulsa, se cierra el circuito y tanto los terminales 1 como 2 se conectan entre ellos.
Observa este circuito, que enciende un LED cuando se pulsa el botón:

Aquí, tenemos dos circuitos independientes, el del LED por un lado y el del pulsador por el otro. Lo que haremos será comprobar con código si el botón está pulsado o no, y encenderemos con código el LED o lo apagaremos.
El funcionamiento del LED ya lo conoces a la perfección, así que nos centraremos en el pulsador.
Cuando se conecta Arduino con el cable USB, la corriente circularía por el pin de 5V hacia el pulsador. Pero como las dos patillas de la derecha no están conectadas con las de la izquierda, la corriente no puede circular. No pasa nada.
Cuando se pulsa el botón, las dos patillas de la derecha se conectan con las de la izquierda, así circula la corriente y tenemos una señal en el pin digital de entrada 2 que podemos comprobar para encender o apagar el LED enviando una señal al pin digital de salida 12.
¿Y por qué usamos esa resistencia de 10KΩ? Esto es más complejo de explicar, pero lo vamos a intentar.
Como ya sabes, las dos patillas de la izquierda del pulsador, están permanentemente conectadas, y además las tenemos conectadas al pin 2. Cuando el pulsador no está activo, al pin 2 no estamos mandando ni una señal de ALTA, ni una señal de BAJA, por lo que el LED podría comportarse de manera inesperada. Incluir esa resistencia garantiza que cuando no esté pulsado, esté recibiendo una señal de BAJA. Pero, cuando se activa el pulsador, ¿no se generaría un corto? Podría pensarse que si, pero la corriente, por principios físicos, tiende a fluir por el camino que tenga menos resistencia. De esta manera, cuando el pulsador no esté activo, la placa sabrá que hay corriente negativa en el pin 2. Y cuando se active el pulsador, tomará el camino de menor resistencia, es decir, no tomará el camino de su patilla inferior izquierda, sino de la superior izquierda.
Sabiendo cómo funciona el montaje eléctrico, el código asociado a nuestra solución sería algo tan sencillo como esto:

La modificación que te propongo es similar a lo que sucede cuando se pulsa el botón de un semáforo. Debes tener dos LED, uno verde y otro rojo. El LED estará inicialmente encendido fijo. Cuando se detecte una pulsación del botón, el LED verde debe parpadear dos veces en secuencias de 1s, y luego apagarse y encenderse el rojo durante 5s. Y así, debe funcionar para siempre. Además, en el monitor serie debe aparecer un mensaje para el peatón: «Puedes pasar» o «No puedes pasar».