111 proyectos con bloques · Arduino · ESP32 · Pico

Programación por bloques con Arduino, ESP32 y Pico

En lugar de leer el código línea a línea, sigue bloques de colores. 111 proyectos de BlueGrays ya tienen su versión en bloques, y cada bloque corresponde a una línea del código real que se carga en la placa.

¿Qué es la programación por bloques?

Programar por bloques es construir un programa con piezas que encajan como un puzle en vez de escribirlo. «Configurar el pin como salida», «encender el LED» o «esperar 1 segundo» son bloques, y al apilarlos se forma el programa. Sin puntos y coma, sin paréntesis y sin erratas: toda la atención va a la lógica.

BlueGrays usa su propio conjunto de bloques y los muestra en tu idioma: si usas la app en español, los bloques también están en español. En los proyectos de Arduino y ESP32 los bloques equivalen a código C++; en los de Raspberry Pi Pico, a MicroPython.

La idea no es quedarse en los bloques, sino entender el código. Con los bloques y el código de un proyecto uno al lado del otro ves para qué sirve cada línea, y tras unos cuantos proyectos empiezas a leer el código sin bloques.

Cómo funciona la programación por bloques en BlueGrays

En la app, los bloques están en la sección de código de cada proyecto que los tiene. En cuatro pasos:

  1. 01

    Elige un proyecto con bloques

    Los proyectos con la insignia de bloques traen su versión en bloques. También puedes filtrar la lista para ver solo esos proyectos.

  2. 02

    Activa «Ver en bloques»

    Un interruptor en la sección de código convierte el código en bloques. Toca la imagen para verla a pantalla completa y ampliarla.

  3. 03

    Entiende los bloques

    La pestaña «Entiende los bloques» explica el programa paso a paso y en cada paso muestra solo sus bloques y lo que hacen.

  4. 04

    Pasa al código real

    Desactiva el interruptor y aparece el mismo programa en código. Cópialo en el IDE de Arduino (en Thonny si es una Pico) y cárgalo en tu placa.

Un mismo programa: bloques y código

A la izquierda, los bloques del proyecto; a la derecha, el código que se carga en la placa. Cada bloque tiene su línea de código.

Bloques

Parpadeo de LED en bloques
Parpadeo de LEDVer a tamaño completo

Código

Arduino (C++)
1// ─────────────────────────────────────────
2//   BlueGrays · bluegrays.com
3//   Parpadeo de LED
4// ─────────────────────────────────────────
5// Hace parpadear un único LED, encendido y apagado cada 100 ms. Muestra el
6// uso básico de las funciones digitalWrite y delay.
7//
8// Pines:
9//   D9 -> LED (con una resistencia de 220 ohmios)
10
11void setup() {
12  pinMode(9,OUTPUT);     // Pin del LED como salida
13}
14
15void loop() {
16  digitalWrite(9,HIGH);  // Encender el LED
17  delay(100);            // Esperar 100 ms (1000 ms = 1 s)
18  digitalWrite(9,LOW);   // Apagar el LED
19  delay(100);
20}
21
Abrir el proyecto: Parpadeo de LED

Proyectos con bloques

Todos los proyectos con versión en bloques, por plataforma. Los gratuitos van primero: en 31 proyectos los bloques y el código son totalmente gratis.

Proyectos Arduino76 proyectos con bloques

Parpadeo de LED
#1Principiante

Parpadeo de LED

El primer hola de la electrónica: encender y apagar un solo LED. El Arduino enciende y apaga el LED a intervalos cortos, así que la luz parpadea rápido. Ves de la forma más sencilla cómo la placa cont

4.6(180)
998
Dos LED parpadeando alternadamente
#2Principiante

Dos LED parpadeando alternadamente

Dos LED parpadean rápido por turnos: cuando uno se enciende, el otro se apaga, como si se pasaran una pelota. El Arduino deja cada luz encendida una quinta parte de segundo y luego le toca a la otra.

4.6(103)
329
Semáforo
#3Principiante

Semáforo

Una copia en miniatura del semáforo que ves cada día en la calle. El rojo se queda dos segundos, el amarillo brilla un instante, el verde se queda dos segundos y luego vuelve al rojo pasando otra vez

4.8(129)
369
Luces de policía LED
#4Principiante

Luces de policía LED

Como las luces de un coche de policía: el LED rojo destella tres veces muy rápido, después el azul destella otras tres, y la secuencia se repite sin parar. Solo necesitas dos LED y dos resistencias co

4.7(99)
238
Luz secuencial LED
#5Intermedio

Luz secuencial LED

Luces que se encienden una tras otra, como si corrieran. El Arduino enciende seis LED de uno en uno; cada uno brilla un instante y se apaga, así que la luz recorre la fila de principio a fin y vuelve

4.6(85)
202
Efecto coche fantástico con LED
#6Intermedio

Efecto coche fantástico con LED

La clásica luz que va y viene: un punto de luz recorre seis LED de un extremo al otro y luego regresa. El Arduino enciende cada LED una décima de segundo antes de pasar al siguiente, da la vuelta en c

4.8(105)
198
Luz secuencial LED con velocidad regulable
#7Intermedio

Luz secuencial LED con velocidad regulable

Seis LED se encienden uno tras otro y la luz parece correr de un extremo al otro. Al girar el mando del potenciómetro, la velocidad de esa carrera cambia al instante: hacia un lado la luz vuela, hacia

4.6(71)
142
Efecto coche fantástico con velocidad regulable
#8Intermedio

Efecto coche fantástico con velocidad regulable

Una luz recorre seis LED de un extremo a otro, da la vuelta y vuelve a correr. Girando el mando del potenciómetro cambias al instante la velocidad de esa carrera: con el mando a un lado la luz casi vu

4.5(59)
118

Proyectos Arduino: todos los proyectos con bloques

Proyectos ESP3225 proyectos con bloques

LED Parpadeante con ESP32
#103Principiante

LED Parpadeante con ESP32

Enseña el uso básico de la salida GPIO con ESP32. Conseguimos un efecto de parpadeo encendiendo y apagando un LED desde el pin digital. Versión para ESP32 del clásico proyecto blink en Arduino UNO; los comandos básicos de blink en el entorno Arduino son los mismos, pero la distribución de pines y los niveles GPIO de 3,3 V del ESP32 difieren de los del Arduino UNO.

4.7(37)
97
Control de LED con pulsador en ESP32 (Push)
#104Principiante

Control de LED con pulsador en ESP32 (Push)

El LED se enciende cuando se pulsa el botón y se apaga cuando se suelta. Muestra cómo se utiliza el pin de entrada digital del ESP32 y la resistencia pull-up interna. Gracias al modo INPUT_PULLUP, no se necesita ninguna resistencia externa.

4.6(36)
55
Control de LED con botón en ESP32 (Toggle)
#105Principiante

Control de LED con botón en ESP32 (Toggle)

Cada vez que se pulsa el botón, cambia el estado del LED: si está encendido se apaga, si está apagado se enciende. Patrón de conmutación clásico. Con debounce limpiamos el ruido mecánico del pulsador para garantizar una sola conmutación con una sola pulsación.

4.6(39)
57
Parpadeo del LED interno del ESP32
#106Principiante

Parpadeo del LED interno del ESP32

Parpadeo del LED azul incorporado en el ESP32 DevKit V1. ¡No se necesitan componentes externos! El primer proyecto que debe probar cuando compra un ESP32. GPIO 2 está conectado al LED interno.

4.8(29)
53
ESP32 Semáforo
#107Principiante

ESP32 Semáforo

Simulación de un semáforo real con 3 LED rojo-amarillo-verde. Los tiempos se aproximan a la lógica del tráfico real: rojo largo, amarillo corto, verde largo. Ejemplo clásico de control GPIO secuencial.

4.4(21)
44
Lectura de la intensidad luminosa con el módulo LDR del ESP32
#113Principiante

Lectura de la intensidad luminosa con el módulo LDR del ESP32

Visualización en tiempo real en el monitor serie del valor bruto del ADC del módulo LDR y del porcentaje relativo de luz calculado a partir de referencias de oscuridad y claridad. Este porcentaje no es una medición en lux. Explica el funcionamiento de la calibración del módulo. Es recomendable realizarlo antes del Proyecto 10, ya que se utiliza para determinar el valor umbral.

4.6(36)
55
ESP32 HC-SR04 Medidor de distancia por ultrasonidos
#116Intermedio

ESP32 HC-SR04 Medidor de distancia por ultrasonidos

El sensor ultrasónico HC-SR04 calcula la distancia midiendo el tiempo de vuelo (Time of Flight) de la onda sonora que emite al chocar contra un objeto y rebotar. En este proyecto, enviaremos un pulso de 10 microsegundos desde el ESP32 al pin TRIG del sensor y leeremos el tiempo de eco procedente del pin ECHO mediante `pulseIn()`. Mostraremos la distancia calculada en centímetros en una pantalla LCD I2C de 16x2. Dado que el HC-SR04 funciona a 5 V, es obligatorio utilizar un **divisor de tensión**

4.9(28)
44
ESP32 DHT22 Temperatura y humedad (con pantalla LCD)
#117Intermedio

ESP32 DHT22 Temperatura y humedad (con pantalla LCD)

Se trata de un proyecto que mide la temperatura y la humedad ambientales mediante el sensor DHT22 y las muestra en tiempo real en una pantalla LCD I2C 16x2. Los datos del sensor se leen mediante el protocolo de un solo cable (one-wire) utilizando la biblioteca DHT de Adafruit. Este proyecto constituye la base para estaciones meteorológicas IoT, sistemas de automatización doméstica inteligente o sistemas de monitorización ambiental en invernaderos.

4.8(38)
55

Proyectos Raspberry Pi Pico10 proyectos con bloques

Parpadeo LED Integrado Raspberry Pi Pico (GP25 LED Onboard)
#147Principiante

Parpadeo LED Integrado Raspberry Pi Pico (GP25 LED Onboard)

¡El proyecto de apertura de la serie Raspberry Pi Pico! Hacemos parpadear el LED integrado (LED verde conectado a GP25) para verificar que la placa funciona — un experimento clásico "Hello World". SIN componentes externos, solo Pico y cable USB. El código está escrito en **MicroPython** (el lenguaje oficialmente respaldado por la Raspberry Pi Foundation). Aprende la clase `machine.Pin`, el modo `Pin.OUT`, los métodos `led.on()/off()` y `time.sleep()` en Thonny IDE. Sigue cada cambio en vivo en l

5.0(1)
9
Encendido de un LED externo con la Raspberry Pi Pico (GP14 + placa de pruebas)
#148Principiante

Encendido de un LED externo con la Raspberry Pi Pico (GP14 + placa de pruebas)

El siguiente paso tras el LED integrado de Pico: conectar un LED externo a la placa de pruebas y controlarlo a través del pin GP14. Con este proyecto aprenderás a utilizar cualquier pin GPIO de uso general del Pico como salida, la polaridad del LED (patilla larga = ánodo/+, patilla corta = cátodo/–) y por qué es imprescindible utilizar una resistencia limitadora de corriente (220 Ω). Si no colocas la resistencia, el LED recibirá una corriente excesiva y podría quemarse. El circuito es muy sencil

4.5(2)
7
Raspberry Pi Pico Dos LEDs alternos (Flip-Flop, GP14 + GP13)
#149Principiante

Raspberry Pi Pico Dos LEDs alternos (Flip-Flop, GP14 + GP13)

El siguiente paso después del LED único en el Pico: dos LEDs parpadean alternativamente en un patrón flip-flop clásico. Dos LEDs de diferentes colores (rojo en GP14, verde en GP13) intercambian estados cada 500ms. `Pin.toggle()` de MicroPython hace el código corto. Base de semáforos, luces de policía.

5.0(1)
17
Simulador de Semáforo Raspberry Pi Pico (3 LEDs Secuenciales, GP11/GP12/GP13)
#150Principiante

Simulador de Semáforo Raspberry Pi Pico (3 LEDs Secuenciales, GP11/GP12/GP13)

Simulamos un semáforo real con LEDs rojo, amarillo y verde. Verde 4 seg "pase", amarillo 1,5 seg "prepárese", rojo 3 seg "detenga" y rojo+amarillo 1 seg "arranque" (patrón europeo). Aprende definición de función, lógica de máquina de estados y sincronización multi-GPIO. Circuito simple: 3 LEDs en GP11/GP12/GP13.

4.0(1)
12
Raspberry Pi Pico Efecto Luces Policía (Rojo + Azul Estroboscopio, GP11 + GP12)
#151Principiante

Raspberry Pi Pico Efecto Luces Policía (Rojo + Azul Estroboscopio, GP11 + GP12)

¡Simulamos la barra de luces de un coche de policía con una Raspberry Pi Pico en su forma más sencilla! 🚨 Los LED rojo y azul se turnan (flip-flop): mientras el rojo está encendido el azul está apagado, y cada 0,3 segundos se intercambian, sin fin. El código escribe los dos pasos directamente en un único bucle `while True`; la velocidad se ajusta con la constante `WAIT_MS`.

4.7(3)
10
Raspberry Pi Pico Flip-Flop Policía 3 Ráfaga (2 LED GP11 + GP12)
#152Principiante
Premium

Raspberry Pi Pico Flip-Flop Policía 3 Ráfaga (2 LED GP11 + GP12)

Variación rítmica del proyecto luces policía — flip-flop 3 ráfaga! 🚨 Mismo circuito 2 LEDs que #151, pero patrón diferente: LED rojo parpadea 3 veces rápidamente, luego azul 3 veces, indefinidamente.

0.0(0)
15
Raspberry Pi Pico LED Controlado por Botón (Push, GP14 + GP2)
#155Principiante
Premium

Raspberry Pi Pico LED Controlado por Botón (Push, GP14 + GP2)

¡Primer proyecto de **entrada** con Pico — lectura de botón! 🔘 LED se enciende mientras el botón está presionado. Aprende `Pin.IN`, `Pin.PULL_UP` y `button.value()`. GP14 LED, GP2 botón con PULL_UP interno. Presionado = 0, liberado = 1 — estándar.

0.0(0)
11
Raspberry Pi Pico Botón Toggle LED (GP14 + GP2)
#156Principiante
Premium

Raspberry Pi Pico Botón Toggle LED (GP14 + GP2)

¡Botón + LED — siguiente nivel! 🔁 A diferencia de #155, no necesitas mantener el botón presionado. Presiona y suelta → LED encendido. Presiona de nuevo → LED apagado (toggle). Mismo circuito que #155, gran diferencia de código. Aprende edge detection, state tracking y debounce.

0.0(0)
9

¿Para quién es?

Niños y familias

La programación para niños se recuerda mucho mejor cuando termina con un LED encendido sobre la mesa. Los bloques hacen legible el programa y el circuito lo montáis juntos.

Docentes y talleres

En una clase de robótica puedes explicar un proyecto primero con bloques y luego pasar al código. Cada proyecto incluye la lista de materiales y el esquema.

Principiantes

Con bloques entiendes la lógica de tus primeros proyectos de Arduino mucho más rápido. Empieza con bloques y pasa al código cuando te sientas listo.

Preguntas frecuentes

¿Qué es la programación basada en bloques?

Es una forma de programar en la que las instrucciones no se escriben, sino que aparecen como bloques que encajan entre sí como piezas de un puzle. Como no hay erratas posibles, los principiantes y los niños entienden la lógica del programa con más facilidad.

¿Cuántos proyectos de BlueGrays tienen bloques?

Ahora mismo 111: 76 de Arduino, 25 de ESP32 y 10 de Raspberry Pi Pico. La lista crece a medida que convertimos más proyectos.

¿La programación por bloques es gratis?

La app es gratuita. Los bloques y el código de 31 proyectos están abiertos a todos. En el resto, los bloques se desbloquean con Premium, igual que el código.

¿Puedo cargar los bloques directamente en la placa?

No. Los bloques sirven para leer y entender el programa; lo que se carga en la placa es siempre el código real del proyecto. Lo copias en el IDE de Arduino, o en Thonny para la Pico, y lo subes.

¿Puedo crear mis propios programas con los bloques?

Todavía no. Preparamos los bloques de cada proyecto y los hacemos coincidir uno a uno con el código, así que detrás de cada bloque hay un programa probado que funciona.

¿En qué se diferencia de Scratch o mBlock?

En Scratch y mBlock arrastras bloques en el ordenador para escribir tu propio programa. En BlueGrays cada proyecto con bloques viene con esquema, lista de materiales y código real, y los bloques son la versión legible de ese código. Se complementan bien.

¿Es apto para niños? ¿A qué edad se puede empezar?

Los niños de unos 9 o 10 años que ya leen con soltura pueden empezar acompañados de un adulto. Los primeros proyectos no necesitan soldadura: se montan en una protoboard con LEDs, botones y un zumbador.

¿En qué idiomas están los bloques?

En español, inglés, turco, alemán, francés e italiano. Los bloques aparecen en el idioma en que uses la app.

La app BlueGrays

Empieza a programar con bloques desde el móvil

Bloques, esquema, lista de materiales y código real en una sola pantalla. Gratis en iOS y Android.

Páginas por plataforma