Últimos artículos

En los primeros proyectos con Arduino es común usar la función delay() para controlar el tiempo. Sin embargo, esta función tiene una gran limitación: detiene completamente el programa mientras espera.

En este artículo aprenderás a hacer parpadear un LED sin usar delay(), utilizando una técnica más avanzada y profesional con la función millis().

🎯 Objetivo

Lograr que un LED parpadee sin bloquear el programa, permitiendo ejecutar otras tareas al mismo tiempo.

⚠️ Problema con delay()

Ejemplo clásico:

    digitalWrite(led, HIGH);

    delay(1000);

    digitalWrite(led, LOW);

    delay(1000);

👉 ¿Qué pasa aquí?

    • Arduino se detiene completamente durante cada delay()
    • No puede leer botones ni sensores en ese tiempo
    • No permite hacer múltiples tareas

🧠 ¿Qué es millis()?

La función millis() devuelve el tiempo en milisegundos desde que el Arduino comenzó a ejecutar el programa.

👉 Es como un cronómetro interno que nunca se detiene.

🔌 Materiales

    • 1 Arduino Uno
    • 1 LED
    • 1 resistencia (220Ω)
    • Protoboard y cables

Conexión

    • LED (ánodo) → Pin 8
    • LED (cátodo) → Resistencia → GND


💻 Código Arduino

int led = 8; 
unsigned long tiempoAnterior = 0; 
int intervalo = 1000;    // 1 segundo 
int estadoLed = LOW; 

void setup() { 
	pinMode(led, OUTPUT); 
} 

void loop() { 
	unsigned long tiempoActual = millis(); 
	if (tiempoActual - tiempoAnterior >= intervalo) { 
		tiempoAnterior = tiempoActual;    // Cambia el estado del LED 
		if (estadoLed == LOW) { 
			estadoLed = HIGH; 
			} 
		else { estadoLed = LOW; 
		} 
		digitalWrite(led, estadoLed); 
	} 
}

🔍 Explicación del Código

    • millis() obtiene el tiempo actual
    • Se compara con el tiempo anterior
    • Si pasa el intervalo (1 segundo), se ejecuta la acción
    • El LED cambia de estado sin detener el programa

🔁 ¿Qué ventaja tiene?

✔ Permite hacer varias cosas al mismo tiempo

✔ Arduino no se “congela”

✔ Es la base de proyectos más avanzados

🚀 Mejora del ejercicio

Puedes combinar este código con otros elementos:

    • 🔘 Leer un botón mientras el LED parpadea
    • 🎚️ Cambiar la velocidad con un potenciómetro
    • 🔊 Activar un buzzer al mismo tiempo

🧾 Conclusión

El uso de millis() en lugar de delay() es un paso fundamental para pasar de proyectos básicos a proyectos más profesionales con Arduino. Permite crear sistemas más eficientes, dinámicos y capaces de realizar múltiples tareas al mismo tiempo.

💡 Consejo: Intenta modificar el intervalo para cambiar la velocidad del parpadeo. 


[warning title="Simulación en Wokwi" icon="check-circle"] https://wokwi.com/projects/458781252932657153 [/warning]


Uno de los proyectos más básicos y útiles al iniciar con Arduino es controlar un LED mediante un botón. Este ejercicio permite comprender cómo funcionan las entradas digitales y las salidas digitales, base de casi todos los proyectos electrónicos.

🎯 Objetivo

Encender un LED al presionar un botón y apagarlo al soltarlo.

🧰 Materiales

    • 1 Arduino Uno
    • 1 LED
    • 1 botón (push button)
    • 2 resistencias (220Ω y 10kΩ)
    • Protoboard
    • Cables jumper

🔌 Descripción del Circuito

En este proyecto:

    • El LED se conecta a un pin digital de salida (por ejemplo, el pin 8).
    • El botón se conecta a un pin digital de entrada (por ejemplo, el pin 7).
    • Se usa una resistencia para proteger el LED y otra como pull-down para el botón.

👉 Cuando presionas el botón, el Arduino detecta un HIGH (1) y enciende el LED.


💻 Código Arduino

//Mientras mantenga presionado el botón
//se mantiene encendido el Led

int led=8;                //definimos el valor del pin para el led
int boton=7;              //definimos el valor del pin para el boton

void setup() {
  pinMode(led, OUTPUT);   //declaramos el pin led como salida
  pinMode(boton, INPUT);  //declaramos el pin boton como entrada
}

void loop() {
  if (digitalRead(boton) == HIGH) {   //si el botón esta presionado
    digitalWrite(led, HIGH);          //encendemos el led
  }
  else {                              //caso contrario
    digitalWrite(led, LOW);           //apagamos el led
  }
}


[warning title="Simulación en Wokwi" icon="check-circle"] https://wokwi.com/projects/458711382664387585 [/warning]


🔁 Encender LED con Botón en Modo Interruptor (Toggle)

En el ejemplo anterior, el LED solo se encendía mientras mantenías presionado el botón. Ahora vamos a mejorar el proyecto para que funcione como un interruptor real (modo toggle).

🎯 ¿Qué es el modo Toggle?

El modo toggle permite que:

    • 🔘 Presionas una vez → el LED se enciende
    • 🔘 Presionas otra vez → el LED se apaga

Es decir, cada pulsación cambia el estado del LED, igual que un interruptor de luz en casa.


🔌 Circuito

✔ Se utiliza exactamente el mismo circuito anterior

(No necesitas hacer ningún cambio en las conexiones)

🧠 ¿Cómo funciona?

El Arduino debe detectar el momento exacto en que presionas el botón, no solo si está presionado.

Para eso:

    • Se guarda el estado anterior del botón
    • Se compara con el estado actual
    • Si detecta un cambio (de LOW a HIGH), cambia el estado del LED

💻 Código en Arduino

// Presiona botón enciende LED
// Vuelve a presionar botón y se apaga el LED

int led = 8;           // definimos el valor del pin para el led
int boton = 7;         // definimos el valor del pin para el boton


// Variable que guarda el estado actual del botón
int estadoBoton = 0;       

// Variable que guarda el estado que tenía el botón en la vuelta anterior
// del programa. Se usa para detectar cuándo el botón acaba de ser presionado
int estadoAnterior = 0;

// Variable que almacena el estado del LED
// 0 (LOW) = Apagado - 1 (HIGH) = Encendido
int estadoLed = 0;         

void setup() {
  pinMode(led, OUTPUT);     // declaramos el pin led como salida
  pinMode(boton, INPUT);    // declaramos el pin boton como entrada
}

void loop() {

// Lee el estado actual del botón 
// Si está presionado devuelve HIGH. Si no está presionado devuelve LOW.

   estadoBoton = digitalRead(boton);

// Detecta cuando se presiona el botón. Esto ocurre cuando:
// Ahora está en HIGH (presionado) - Antes estaba en LOW (sin presionar)

   if (estadoBoton == HIGH && estadoAnterior == LOW) {

        // Cambia el estado del LED.
        // Si estaba apagado (0), pasa a encendido (1).
        // Si estaba encendido (1), pasa a apagado (0).

        estadoLed = !estadoLed; // Cambia el estado del LED
        
        // Espera 200 milisegundos (anti-rebote)
        delay(200); // Pequeño anti-rebote
   }

// Envía el valor almacenado en estadoLed al pin del LED
// Si estadoLed vale HIGH, el LED se enciende. Si vale LOW, el LED se apaga.

  digitalWrite(led, estadoLed);


// Guarda el estado actual del botón para compararlo 
// en la siguiente repetición del programa
  estadoAnterior = estadoBoton;
}


[warning title="Simulación en Wokwi" icon="check-circle"] https://wokwi.com/projects/458764769388938241 [/warning]


🔍 Explicación del Código

    • estadoAnterior guarda el estado previo del botón
    • Se detecta el cambio de LOW → HIGH (cuando presionas)
    • estadoLed = !estadoLed invierte el estado:
      • Si estaba apagado → se enciende
      • Si estaba encendido → se apaga

⚠️ Importante: Anti-rebote

Los botones físicos generan pequeñas vibraciones eléctricas al presionarse (rebote), lo que puede hacer que el Arduino detecte múltiples pulsaciones.

Por eso usamos:

delay(200);


🚀 Aplicaciones del modo Toggle

Este tipo de control es muy útil en proyectos reales:

    • 💡 Encendido/apagado de luces
    • 🔐 Sistemas de seguridad
    • 🤖 Robots
    • 🎮 Interfaces con botones


🧾 Conclusión

Este proyecto es fundamental para entender cómo Arduino interactúa con el mundo físico mediante entradas (botón) y salidas (LED). Dominar este ejercicio te permitirá avanzar hacia proyectos más complejos como sistemas automatizados, alarmas o interfaces interactivas.

El modo toggle convierte un simple botón en un verdadero interruptor digital. Dominar esta técnica te permitirá crear interfaces más avanzadas y mejorar la interacción en tus proyectos con Arduino.

 

 


En este proyecto realizaremos un semáforo con Leds, un ejercicio clásico que te ayudará a dominar conceptos básicos de programación y montaje de circuitos en Protoboard de forma rápida y sencilla.

🛠️Materiales Necesarios

Para este proyecto, asegúrate de tener a mano los siguientes componentes:

    • 1 x Arduino UNO
    • 1 x Protoboard
    • 1 x Led rojo
    • 1 x Led amarillo
    • 1 x Led verde
    • 3 x resistencias de 220Ω.
    • Cables Jumper (macho - macho)

🔌Montaje del Circuito

Sigue el esquema que verás a continuación. Es fundamental conectar cada componente en su lugar para que el código funcione correctamente.



Configuración de Pines

Para este ejemplo, utilizaremos los siguientes pines digitales:

🔴 Pin 2: LED Rojo

🟡 Pin 4: LED Amarillo

🟢 Pin 7: LED Verde


💻Código Arduino

/*************/
/*  SEMAFORO */
/*************/

//** Definiciones **//
int rojo=2;      //definimos el valor del pin para el led rojo
int amarillo=4;  //definimos el valor del pin para el led amarillo
int verde=7;     //definimos el valor del pin para el led verde

//** Programa **//

void setup() {
  pinMode(verde,OUTPUT);   //declaramos el pin verde como salida  
  pinMode(amarillo,OUTPUT);//declaramos el pin amarillo como salida
  pinMode(rojo,OUTPUT);    //declaramos el pin rojo como salida  
}

void loop() {
 digitalWrite(verde,HIGH); //encendemos el led rojo
 delay(2000);             //esperamos 2 segundos
 digitalWrite(verde,LOW);  //apagamos el led rojo
 delay(500);              //esperamos medio segundo
 
 digitalWrite(amarillo,HIGH); //encendemos el led amarillo
 delay(2000);                 //esperamos 2 segundos
 digitalWrite(amarillo,LOW);  //apagamos el led amarillo
 delay(500);                  //esperamos medio segundo
 
 digitalWrite(rojo,HIGH); //encendemos el led verde
 delay(2000);              //esperamos 2 segundos
 digitalWrite(rojo,LOW);  //apagamos el led verde
 delay(500);               //esperamos medio segundo
}

[warning title="Simulación en Wokwi" icon="check-circle"] https://wokwi.com/projects/458705807342132225 [/warning]



En este tutorial aprenderás a controlar el flujo de electricidad para hacer que un LED parpadee. Es un proyecto sencillo, pero sienta las bases de toda la programación embebida.

📋Materiales necesarios

No necesitas mucho para empezar, lo más probable es que ya lo tengas todo en tu kit básico:

    • 1 x Arduino UNO
    • 1 x LED (cualquier color)
    • 1 x Resistencia de 220Ω
    • 1 x Protoboard
    • 2 x Cables Jumper

Conexión

LED

    • Ánodo → Pin 2
    • Cátodo → Resistencia de 220Ω → GND

💻Código Arduino
void setup() {
  // código de configuración, para que se ejecute una sola vez:
  pinMode(2, OUTPUT);
}

void loop() {
  // código principal, para que se ejecute repetidamente:
  digitalWrite(2, HIGH);
  delay(400);
  digitalWrite(2, LOW);
  delay(400);
}


[warning title="Simulación en Wokwi" icon="check-circle"] https://wokwi.com/projects/458783539508066305 [/warning]


marzo 15, 2026 , ,

 

El Arduino Uno es una de las placas más populares en el mundo de la electrónica y la programación, especialmente en el ámbito educativo. Su versatilidad permite trabajar tanto con señales digitales como analógicas, lo que lo convierte en una excelente herramienta para aprender y desarrollar proyectos tecnológicos.

Componentes Digitales

Los componentes digitales trabajan con señales binarias, es decir, solo pueden tener dos estados: HIGH (1) o LOW (0).

🔹Pines Digitales (0–13)

Cuando hablamos de los pines digitales en Arduino Uno, nos referimos a los pines de la parte superior numerados del 0 al 13. El Arduino Uno cuenta con 14 pines digitales, que pueden configurarse como entrada o salida.

Usos comunes:

    • Encender o apagar un LED
    • Leer el estado de un botón
    • Controlar relés o motores

Algunos pines tienen funciones especiales:

    • PWM (~3, ~5, ~6, ~9, ~10, ~11): permiten simular señales analógicas mediante modulación por ancho de pulso.
    • RX-0 y TX-1: comunicación serial.

Nota: El Arduino Uno utiliza los pines 0 y 1 para la comunicación serial con la computadora a través del cable USB. Conectar dispositivos a estos pines puede causar interferencias, afectando tanto la comunicación serial como cualquier otra función prevista, como la carga de programas a la placa Arduino.

📊Componentes Analógicos

A diferencia de los digitales, los componentes analógicos trabajan con valores continuos.

🔹Pines Analógicos (A0–A5)

Arduino Uno dispone de 6 pines de entrada analógica (Analog In), que permiten leer señales variables, numerados a partir de la letra 'A'.

Ejemplos de uso:

    • Sensores de temperatura
    • Potenciómetros
    • Sensores de luz

Estos pines convierten la señal analógica en un valor digital mediante un ADC (Convertidor Analógico-Digital) de 10 bits, generando valores entre 0 y 1023.

🔹Salidas Analógicas (PWM)

Aunque Arduino no tiene salidas analógicas reales, utiliza la tecnología PWM (Pulse Width Modulation) para simularlas.

Aplicaciones:

    • Control de brillo de un LED
    • Regulación de velocidad de un motor
    • Generación de señales variables


marzo 14, 2026 , ,

Arduino es una plataforma de hardware y software de código abierto que permite crear proyectos electrónicos de forma sencilla. Gracias a su facilidad de uso, se ha convertido en una excelente opción para quienes desean iniciarse en la programación y la electrónica sin necesidad de tener conocimientos avanzados.

Una placa Arduino puede controlar luces, leer sensores, detectar pulsadores y comunicarse con otros dispositivos mediante instrucciones cargadas desde un programa. Por eso, Arduino es muy utilizado en el ámbito educativo y en proyectos prácticos, ya que permite aprender de forma interactiva y visualizar resultados reales desde el inicio.

Modelos de Arduino Uno más utilizados

Un vistazo a los 4 modelos más conocidos de la familia Arduino Uno

Arduino Uno Rev3
Modelo clásico

Arduino Uno Rev3

Es el modelo más popular y el más utilizado en tutoriales, cursos y prácticas de iniciación. Resulta ideal para aprender electrónica y programación desde cero.

Arduino Uno Rev3 SMD
Versión SMD

Arduino Uno Rev3 SMD

Mantiene funciones muy similares al Uno Rev3 tradicional, pero utiliza componentes montados en superficie. Es una alternativa muy usada en proyectos educativos y de práctica.

Arduino Uno R4 Minima
Nueva generación

Arduino Uno R4 Minima

Ofrece más velocidad, mayor memoria y arquitectura de 32 bits, conservando el formato clásico de la familia Uno. Es una excelente opción para proyectos más exigentes.

Arduino Uno R4 WiFi
WiFi + Bluetooth

Arduino Uno R4 WiFi

Incorpora conectividad WiFi y Bluetooth, además de nuevas capacidades para proyectos IoT y aplicaciones modernas. Es ideal para propuestas conectadas y más avanzadas.

Componentes principales de una placa Arduino

Aunque existen varios modelos, una placa Arduino incluye una serie de elementos básicos que conviene conocer desde el inicio. Entender estas partes ayuda a trabajar con mayor seguridad y a comprender mejor cómo funciona cada proyecto.

1. Microcontrolador

El microcontrolador es el corazón de la placa. Se encarga de ejecutar el programa que cargamos y de controlar el comportamiento general del circuito. Podríamos decir que actúa como el “cerebro” de Arduino, porque procesa información, toma decisiones según el código y coordina la interacción con sensores, botones, luces y otros dispositivos.

2. Pines digitales

Los pines digitales permiten trabajar con señales que tienen dos estados: encendido o apagado, HIGH o LOW. Estos pines pueden servir tanto para enviar señales como para recibirlas. Por ejemplo, se pueden usar para encender un LED, leer el estado de un pulsador o activar un módulo externo. Son fundamentales en los primeros proyectos porque ayudan a comprender la lógica básica de entrada y salida.

3. Pines analógicos

A diferencia de los pines digitales, los pines analógicos permiten leer valores variables dentro de un rango. Esto resulta muy útil cuando trabajamos con sensores que no solo entregan dos estados, sino cambios graduales, como un potenciómetro, un sensor de luz o un sensor de temperatura. Gracias a ellos, Arduino puede interpretar señales más precisas del entorno.

4. Pines de alimentación

Los pines de alimentación suministran energía a distintos componentes del circuito. En una placa Arduino suelen encontrarse salidas de 5V y 3.3V, además del pin GND, que representa la conexión a tierra. También es importante el pin VIN, que permite alimentar la placa desde una fuente externa. Estos pines son esenciales para que sensores y módulos funcionen correctamente dentro del proyecto.

5. Regulador de voltaje

El regulador de voltaje cumple una función muy importante: adaptar y estabilizar la energía que recibe la placa. Gracias a este componente, Arduino puede trabajar de forma segura con una alimentación externa, manteniendo el voltaje adecuado para sus circuitos internos. Esto ayuda a proteger la placa y a garantizar un funcionamiento más estable. La página base indica que suele recomendarse una entrada aproximada de 7 a 12 voltios para alimentar la placa externamente.

6. Puerto USB y comunicación serial

El puerto USB no solo sirve para conectar la placa a la computadora y cargar el programa, sino también para establecer comunicación entre ambos dispositivos. A través de esta conexión, es posible enviar y recibir datos, lo que facilita mucho la depuración de proyectos mediante el monitor serial. Esta herramienta permite observar mensajes, valores y estados del programa mientras Arduino está funcionando.

7. Botón reset

El botón reset permite reiniciar la ejecución del programa en la placa. Es útil cuando queremos volver a comenzar una prueba desde el inicio o cuando necesitamos reiniciar el microcontrolador después de ciertos cambios. Aunque parece un detalle pequeño, en la práctica resulta bastante importante durante la fase de pruebas y depuración.


¿Por qué es importante conocer estas partes?

Antes de programar con Arduino, es importante conocer la estructura de la placa y la función de sus componentes, ya que esto ayuda a realizar conexiones correctas, evitar errores y comprender mejor cómo trabaja todo el sistema en conjunto dentro de un proyecto electrónico.

Conclusión

Arduino es una herramienta ideal para iniciarse en la electrónica y la programación porque combina simplicidad, versatilidad y aprendizaje práctico. Conocer sus componentes principales es el primer paso para aprovechar todo su potencial. Desde el microcontrolador hasta los pines de entrada y salida, cada parte cumple una función esencial dentro de la placa.

Dominar estos conceptos básicos te permitirá avanzar con más seguridad hacia proyectos cada vez más interesantes, como encender LEDs, leer sensores, controlar motores o comunicar Arduino con otros dispositivos. En definitiva, comprender la placa por dentro es comenzar a hablar el lenguaje de Arduino.


 

En este artículo aprenderás a configurar Java 11 LTS en Visual Studio Code utilizando la versión ligera de Liberica JDK (BellSoft).

Esta guía está pensada especialmente para:

  • Laboratorios escolares

  • Equipos con Windows de 32 bits

  • Instalaciones portables sin instaladores tradicionales


1️⃣ Descargar Liberica JDK 11 Lite

Descarga Liberica JDK 11 Lite desde la página: https://bell-sw.com/pages/downloads/#jdk-11-lts

Luego:

  1. Descomprímelo en la siguiente ruta:

C:\portapps

Al finalizar, debería quedar algo como:

C:\portapps\jdk-11.0.30-lite

2️⃣ Configurar variables de entorno

Para que Windows y Visual Studio Code reconozcan Java, es necesario configurar las variables del sistema.

Crear la variable JAVA_HOME

  1. Haz clic derecho en Este equipo (Mi PC).

  2. Selecciona Propiedades.

  3. Ve a Configuración avanzada del sistema.

  4. Haz clic en Variables de entorno.

  5. En Variables del sistema, selecciona Nueva.

Configura:

  • Nombre de la variable:

    JAVA_HOME
  • Valor de la variable:

    C:\portapps\jdk-11.0.30-lite

Agregar Java al PATH

  1. En Variables del sistema, selecciona Path.

  2. Haz clic en Editar.

  3. Presiona Nuevo.

  4. Agrega:

C:\portapps\jdk-11.0.30-lite\bin
  1. Acepta todos los cambios.

Verificar instalación

Abre una ventana de CMD y escribe:

java --version

Si aparece la versión 11, la configuración es correcta.

3️⃣ Instalar soporte de Java en Visual Studio Code

  1. Abre Visual Studio Code.

  2. Abre un archivo con extensión .java.

  3. Ve a Extensiones (Ctrl + Shift + X).

  4. Instala:

  • Language Support for Java™ by Red Hat

Esta extensión proporciona:

  • Resaltado de sintaxis

  • Autocompletado

  • Detección de errores

  • Soporte para compilación

4️⃣ Configurar VS Code para usar el JDK portable

Ahora debemos indicarle a VS Code que utilice el JDK instalado en C:\portapps.

Pasos:

  1. Ve a Archivo → Preferencias → Configuración.

  2. En el cuadro de búsqueda de configuración, haz clic en el ícono de hoja, a la derecha y arriba de la caja de texto de Buscar configuración (Abrir configuración JSON). 

  3. Ve al final del archivo.

  4. En la última línea antes de }, agrega una coma , y presiona Enter.

  5. Pega el siguiente código antes del cierre }:

"java.jdt.ls.java.home": "C:\\portapps\\jdk-11.0.30-lite", "java.configuration.runtimes": [ { "name": "JavaSE-11", "path": "C:\\portapps\\jdk-11.0.30-lite", "default": true } ]
  1. Guarda los cambios.

  2. Cierra completamente VS Code.

  3. Vuelve a abrirlo.

5️⃣ Compilar y ejecutar programas Java

  1. Abre tu archivo .java.

  2. Ve a:

    Menú Ver → Terminal

⚠ Importante:
El prompt debe estar ubicado en la misma carpeta donde está guardado el archivo .java.

Compilar

En la terminal escribe:

javac nombre.java

Si no aparece ningún mensaje, significa que el programa no tiene errores.

Ejecutar

Luego escribe:

java nombre

⚠ No se debe escribir .java al ejecutar.

6️⃣ Recomendaciones para laboratorio

  • Siempre guarda el archivo antes de compilar.

  • Si aparece error de comando no reconocido, revisa el PATH.

  • Usa nombres de archivos que coincidan exactamente con el nombre de la clase pública.

  • Trabaja siempre desde la carpeta correcta en la terminal.

Conclusión

Con esta configuración:

  • Java 11 LTS funciona en modo portable.

  • No es necesario instalar el JDK de forma tradicional.

  • Visual Studio Code reconoce correctamente el entorno.

  • Puedes compilar y ejecutar desde la terminal de forma profesional.

Este método es ideal para:

  • Laboratorios escolares

  • Equipos antiguos

  • Instalaciones limpias sin permisos de administrador


MKRdezign

Formulario de contacto

Nombre

Correo electrónico *

Mensaje *

Con tecnología de Blogger.
Javascript DisablePlease Enable Javascript To See All Widget