
La mayoría de los tutoriales de Arduino saltan directamente al código. Pero las piezas que rodean al microcontrolador son analógicas: la resistencia que mantiene vivo un LED, el divisor que convierte un sensor en una tensión, el transistor que conmuta un motor, el regulador que saca 5 V de un adaptador de pared. Cuando una de esas piezas está mal, ningún código lo arregla.
Velxio también simula esa mitad. Ejecuta ngspice, el simulador de circuitos SPICE de código abierto, compilado a WebAssembly, así que resistencias, condensadores, diodos, transistores, amplificadores operacionales y reguladores se comportan como sus equivalentes reales en tu navegador. Puedes medirlos con un voltímetro, un amperímetro y un osciloscopio, y cambiar cualquier valor mientras el circuito está en marcha.
Este artículo recorre siete proyectos. Los cinco primeros no tienen ningún microcontrolador, solo componentes. Los dos últimos mezclan circuitos analógicos con un Arduino y un ESP32. Todos los proyectos están en la galería de ejemplos, y cada número de los que aparecen a continuación se leyó del simulador y se comprobó con la fórmula que lo explica.
Antes de empezar: los tres instrumentos
- Los circuitos sin placa se ejecutan en cuanto se abren. Haz clic derecho en cualquier componente para abrir su inspector y cambiar su valor ahí mismo: la resistencia de una resistencia, la capacidad de un condensador, el nivel de luz o la temperatura de un sensor. El circuito se vuelve a resolver con el nuevo valor.
- El voltímetro y el amperímetro son componentes como cualquier otro: el voltímetro se coloca en paralelo a lo que quieres medir, el amperímetro en serie. En un circuito de continua muestran un solo número. En un circuito de alterna muestran el valor eficaz, el pico y la media de continua, medidos una vez que el circuito se ha estabilizado.
- El osciloscopio muestra cómo cambia una tensión con el tiempo. Haz clic derecho en un cable y elige Añadir al osciloscopio; cada canal se escala solo para ajustarse a la señal. Con una placa en el lienzo, detén primero la simulación: mientras un sketch se ejecuta, el lienzo reserva sus clics para los componentes.
Una cosa que conviene saber: en los circuitos con fuentes de alterna, Velxio resuelve una ventana corta de tiempo desde el momento en que se enciende la alimentación (unos pocos ciclos de la señal) y muestra la traza del osciloscopio de esa ventana. Repite la resolución a medida que cambias cosas, así que la imagen se mantiene actualizada, pero no es una grabación continua.
1. Un LED y una resistencia: la ley de Ohm

El primer circuito que monta todo principiante, y el que más a menudo se monta mal: un LED conectado directamente a una pila se quema, porque nada limita su corriente. La resistencia en serie hace ese trabajo.
Los medidores cuentan toda la historia:
- El voltímetro en paralelo a la resistencia de 470 Ω marca 7,136 V.
- El amperímetro marca 15,18 mA. La ley de Ohm dice lo mismo: 7,136 V / 470 Ω = 15,2 mA.
- El resto de los 9 V cae en el LED: unos 1,84 V, la tensión directa de un LED rojo.
Esa es la fórmula para elegir la resistencia: R = (Valimentación − VLED) / I. Para 15 mA con una pila de 9 V: (9 − 1,8) / 0,015 = 480 Ω, así que 470 Ω es el valor normalizado más cercano.
Pruébalo: haz clic derecho en la resistencia y cámbiala a 1 kΩ. La corriente baja a 7,2 mA y el LED se atenúa, mientras que su propia tensión apenas se mueve (1,81 V). Un LED mantiene su tensión casi constante y deja que la resistencia fije la corriente.
Abrir el circuito del LED y la ley de Ohm en Velxio
2. Una fuente de alimentación de 5 V: rectificador, condensador y regulador
La clásica fuente de alimentación lineal, la que llevaba dentro todo adaptador de pared antiguo, en cuatro etapas:
- Transformador. Convierte la alterna de la red en una tensión alterna más baja y segura. Aquí es un secundario de 12-0-12 V con toma central, dibujado como dos generadores de señal en contrafase (12 V de pico cada uno, 50 Hz).
- Rectificador. Dos diodos 1N4007, uno por cada mitad del secundario. Cada uno conduce en su propio semiciclo, así que la salida recibe un pulso positivo cada 10 ms: rectificación de onda completa.
- Condensador de filtro. El condensador de 220 µF se carga en cada pico y alimenta la carga entre picos. La tensión que mantiene no es plana: cae entre picos. Esa caída es el rizado.
- Regulador. El 7805 toma esa tensión ondulante y mantiene su salida exactamente en 5 V, siempre que su entrada se quede al menos unos 2 V por encima de la salida.
La imagen del osciloscopio al principio de este artículo muestra los 12 V de alterna del transformador y la tensión rectificada en el condensador. El condensador oscila entre 10,1 V y 11,8 V, unos 1,7 V de rizado con una carga de 50 mA, y el voltímetro en la salida marca unos estables 5,000 V.
La estimación rápida del rizado es ΔV ≈ I / (2·f·C): 0,05 A / (2 × 50 Hz × 220 µF) = 2,3 V. Esa fórmula supone que el condensador alimenta la carga durante todo el semiciclo; en realidad los diodos lo recargan un poco antes, así que los 1,7 V medidos son menores.
Pruébalo: haz clic derecho en el condensador y cámbialo a 47 µF. El rizado crece hasta 6 V, los valles bajan a 5,9 V, por debajo de lo que necesita el 7805, y su salida cae a 3,9 V en cada ciclo. Por eso las fuentes de alimentación usan condensadores grandes.
Abrir la fuente de alimentación de 5 V en Velxio
3. Una luz nocturna con una LDR y dos transistores

Una luz nocturna automática, sin microcontrolador y sin código. Una fotorresistencia (LDR) mide la luz, y dos transistores encienden el LED cuando oscurece.
El módulo sensor de luz es un divisor de tensión: la LDR arriba y una resistencia de 10 kΩ abajo. Con luz de día la resistencia de la LDR es baja y la salida del módulo (AO) es alta; en la oscuridad sube a cientos de kΩ y AO cae hacia 0 V.
- Q1 es el interruptor del sensor. Cuando AO está por encima de unos 0,6 V, Q1 conduce y lleva la base de Q2 casi a 0 V.
- Q2 controla el LED. Mientras Q1 está encendido, Q2 está apagado y el LED no luce. Cuando baja la luz, Q1 deja de conducir, la resistencia de 10 kΩ sube la base de Q2, Q2 se enciende y el LED se ilumina.
¿Por qué dos transistores? Porque uno solo haría lo contrario: encender el LED cuando hay luz. La primera etapa invierte la señal.
En la simulación, a 20 lux (una habitación con poca luz) AO se queda en 0,50 V, Q1 está apagado y el LED lleva 13 mA. A 30 lux AO es 0,67 V, Q1 se enciende y el LED se apaga. Haz clic derecho en el sensor de luz y cambia Iluminación (lux) por ese rango para conmutarlo:

Abrir la luz nocturna en Velxio
4. Un amplificador con transistor: la etapa en emisor común

Así es como una señal pequeña se convierte en una grande: el amplificador en emisor común, el bloque constructivo de todo amplificador de audio discreto. Una senoide de 1 kHz de 0,4 V de pico a pico entra por un condensador de acoplamiento y sale del colector unas cuatro veces y media más grande, e invertida. (La alimentación de 9 V es el símbolo de fuente de banco de la esquina superior izquierda; el generador de señal está debajo.)
Dos cosas lo hacen funcionar.
Polarización. Un transistor solo amplifica cuando está parcialmente encendido. El divisor de 47 kΩ / 10 kΩ fija la base en 1,54 V. El emisor queda una caída de diodo por debajo, 0,89 V, así que fluyen 0,89 mA por la resistencia de emisor de 1 kΩ. La misma corriente por la resistencia de colector de 4,7 kΩ provoca una caída de 4,2 V, dejando el colector en 4,83 V, cerca de la mitad de la alimentación, con margen para oscilar en ambos sentidos.
Ganancia. Un cambio en la base aparece casi sin cambios en el emisor, así que cambia la corriente en ΔV / Re. Ese cambio de corriente fluye por Rc y mueve el colector en ΔV × Rc / Re, en la dirección opuesta. Por tanto, la ganancia es −Rc/Re = −4,7. El simulador mide 4,54: el transistor añade una pequeña resistencia interna de emisor de unos 26 mV / Ie ≈ 29 Ω, y 4700 / 1029 = 4,57.
En el osciloscopio, la base (verde) se mueve 0,4 V alrededor de 1,5 V y el colector (rojo) se mueve 1,8 V alrededor de 4,8 V, con sus picos donde la base tiene sus valles.
Pruébalo: haz clic derecho en el generador de señal y sube su amplitud a 1 V. El colector necesitaría oscilar 9 V, más de lo que permite la alimentación, así que la parte superior de la onda se aplana contra los 9 V y la inferior contra la saturación: recorte, el sonido de un amplificador sobrecargado.
Abrir el amplificador en emisor común en Velxio
5. Un termostato con un comparador de amplificador operacional

Un termostato que enciende un ventilador cuando hace calor, usando un amplificador operacional LM358 y nada de código.
El sensor. La resistencia del termistor NTC cae a medida que se calienta (10 kΩ a 25 °C, unos 7,4 kΩ a 32 °C). El módulo lo coloca bajo una resistencia fija de 10 kΩ, así que su salida cae con la temperatura: 2,50 V a 25 °C, 2,12 V a 32 °C.
El punto de consigna. El potenciómetro es un segundo divisor. Su cursor está en 2,336 V, la tensión que da el termistor a 28 °C. El voltímetro lo muestra.
El comparador. Un amplificador operacional sin realimentación tiene tanta ganancia que su salida se dispara a una u otra alimentación según cuál entrada sea mayor. El punto de consigna va a la entrada + y el termistor a la entrada −: por debajo de 28 °C la tensión del termistor es mayor y la salida está a 0 V; por encima de 28 °C es menor y la salida salta a unos 3,7 V, encendiendo el LED. A 27 °C el LED está apagado, a 29 °C está encendido.
¿Por qué 3,7 V y no 5 V? El LM358 no puede llevar su salida hasta su alimentación positiva; se queda unos 1,3 V por debajo. El proyecto 6 se topa con el mismo límite.
Un termostato real añade histéresis, para que no se encienda y apague sin parar mientras la temperatura ronda el umbral. El proyecto 7 lo hace en código.
Pruébalo: haz clic derecho en el termistor y cambia su temperatura, o haz clic derecho en el potenciómetro y cambia su posición (0 a 1023) para mover el punto de consigna.
Abrir el termostato con amplificador operacional en Velxio
6. Arduino: convertir PWM en una tensión analógica real

Un Arduino Uno no tiene DAC: analogWrite() no saca una tensión, saca PWM, una onda cuadrada de 490 Hz cuyo ciclo de trabajo fija la media. A un LED o a un motor les da igual, pero muchos circuitos necesitan una tensión real y estable. Un filtro analógico la genera.
- Filtro paso bajo RC. 10 kΩ y 10 µF promedian el PWM. Su constante de tiempo, τ = R·C = 0,1 s, es cincuenta veces el periodo del PWM, así que el rizado de 490 Hz se elimina casi por completo. El coste es la velocidad: tras un cambio, la salida tarda unos 5τ = 0,5 s en estabilizarse.
- Seguidor de tensión. Un LM358 con su salida conectada a su entrada − copia la tensión del filtro a su salida. No consume casi corriente del filtro, así que lo que conectes después no hunde la tensión.
- Realimentación. A0 lee el resultado, y el sketch imprime lo que pidió y lo que obtuvo.
PWM 0 expected 0.00 V measured 0.02 V
PWM 64 expected 1.25 V measured 1.26 V
PWM 128 expected 2.51 V measured 2.51 V
PWM 192 expected 3.76 V measured 3.77 V
PWM 255 expected 5.00 V measured 4.03 V
Hasta 192 el DAC es preciso a 10 mV. A 255 se detiene en 4,03 V: el filtro sí llega a 5 V, pero el LM358, alimentado a 5 V, no puede llevar su salida tan alto. La solución es un amplificador operacional rail-to-rail como el MCP6002, o usar solo el rango que el LM358 puede alcanzar.
Abrir el DAC PWM con Arduino en Velxio
7. ESP32: un termómetro que conmuta un ventilador

El termostato otra vez, esta vez con un microcontrolador decidiendo, para que pueda hacer cosas que un comparador no puede: mostrar la temperatura en grados y añadir histéresis.
Leer la temperatura. La salida del módulo NTC va a GPIO34, un pin solo de entrada del primer ADC del ESP32. El sketch promedia 16 lecturas, calcula la resistencia del termistor a partir del divisor (R = 10 kΩ × V / (3,3 V − V)) y la convierte a grados con la ecuación Beta de la hoja de datos del termistor: 1/T = 1/T₀ + ln(R/R₀)/β, con R₀ = 10 kΩ a T₀ = 25 °C y β = 3950. El monitor serie imprime 25,0 °C cuando el termistor está a 25 °C, y 35,0 °C a 35 °C.
Conmutar la carga. Un pin GPIO puede suministrar unos pocos miliamperios, no los cientos que necesita un ventilador. En su lugar, GPIO25 excita la puerta de un MOSFET 2N7000, a través de una resistencia de 100 Ω, y el MOSFET conecta el ventilador (aquí un LED verde) a masa. A 35 °C el drenador está a 0,06 V: el MOSFET está completamente encendido.
Histéresis. El ventilador se enciende a 30 °C y se apaga solo por debajo de 28 °C. Sin ese margen de 2 °C, una temperatura que ronde el umbral encendería y apagaría el ventilador cada segundo.
Para un ventilador real, usa un MOSFET de nivel lógico dimensionado para la corriente del ventilador (el 2N7000 solo sirve para cargas pequeñas) y un diodo en paralelo con el ventilador para absorber el pico de tensión del motor al apagarse.
Abrir el termómetro y ventilador con ESP32 en Velxio
Lo que arreglamos mientras construíamos estos
Escribir este artículo implicó medir cada circuito, y las mediciones sacaron a la luz problemas en el simulador, todos corregidos antes de publicar:
- Tras
analogWrite(pin, 0)oanalogWrite(pin, 255)después de un valor PWM, el circuito seguía viendo el nivel PWM anterior. La tabla del proyecto 6 lo detectó. - El voltímetro y el amperímetro promediaban el transitorio de encendido en sus lecturas de CA: la salida del 7805 marcaba 3,47 V en lugar de 5 V.
- Los canales analógicos del osciloscopio tenían un rango fijo de ±4 V, así que una señal de 5 V o 12 V se dibujaba fuera de la pantalla. Ahora se escalan solos.
- Los reguladores de tensión no consumían corriente de su entrada, así que una fuente de alimentación no mostraba ningún rizado.
Si construyes un circuito analógico en Velxio y los números no cuadran con la fórmula, avísanos en GitHub. Así se encontraron estos.