Contenido detallado
💧 Voltaje, corriente y resistencia
Imagina un tanque de agua conectado a una tubería. La altura del agua la empuja hacia abajo: eso es el voltaje. La cantidad de agua que pasa por segundo por la tubería es la corriente. Un tramo estrecho de la tubería frena el flujo: eso es la resistencia. En los circuitos es igual, solo que en lugar de agua hay electrones y la «tubería» debe formar un camino cerrado de regreso a la fuente.
🌱 ¿Eres nuevo aquí?
Voltaje (V, voltio) es la diferencia de «presión eléctrica» entre dos puntos; siempre se mide entre dos puntos, uno de ellos generalmente el GND. Corriente (A, amperio) es la cantidad de carga que pasa por segundo; en el ESP32 hablamos de miliamperios (mA, milésimas de amperio). Resistencia (Ω, ohmio) es cuánto dificulta un componente el paso de la corriente. GND es el punto de referencia, el «cero voltios» del circuito.
Cómo leer: Compara ambos lados. A la izquierda, cuanto más alto está el tanque, más presión hay; el tramo delgado de la tubería limita el flujo. A la derecha, la batería es el tanque, la resistencia es el tramo delgado y la flecha cian muestra que la corriente debe volver al polo negativo (GND). Un cable suelto en cualquier punto = circuito abierto = corriente cero.
| Magnitud | Unidad | En tu robot |
|---|---|---|
| Voltaje | voltio (V) | 3,3 V en los pines del ESP32; 5 V en el USB; 4,8 a 6 V con 4 pilas AA |
| Corriente | amperio (A), mA | LED: 5 a 10 mA; ESP32 con Wi-Fi: hasta unos cientos de mA; motor TT: cientos de mA |
| Resistencia | ohmio (Ω), kΩ | 220 Ω en el LED; 10 kΩ en divisores y pull-ups |
Por qué aprender
Cada decisión sobre las piezas del robot plantea una pregunta sobre estas tres magnitudes: ¿la batería tiene suficiente voltaje? ¿El controlador soporta la corriente del motor? ¿Qué resistencia protege el LED? Sin conocerlas, compras a ciegas y descubres el error por el olor a quemado.
Conceptos clave
🧮 Ley de Ohm y la resistencia del LED
A ley de Ohm relaciona las tres magnitudes: V = R × I. Si conoces dos, puedes calcular la tercera. En la mesa de trabajo, el cálculo que más se usa es el de la resistencia del LED: el LED «consume» una parte fija del voltaje y la resistencia debe frenar el resto para limitar la corriente a un valor seguro para el LED y para el pin del ESP32.
🌱 ¿Eres nuevo aquí?
A caída de voltaje (Vf) del LED es el voltaje que «usa» cuando se enciende: cerca de 2,0 V en el rojo, 2,1 V en el amarillo y cerca de 3,0 V en el azul y el blanco. Una resistor no tiene polaridad; el LED sí. Los valores están indicados con código de colores: 220 Ω = rojo, rojo, marrón; 10 kΩ = marrón, negro, naranja (la cuarta banda, dorada, indica una tolerancia del 5%).
Cómo leer: la línea de arriba reparte la tensión (lo que da el pin menos lo que usa el LED queda para el resistor). El recuadro cian aplica la ley de Ohm para hallar el resistor mínimo. El de abajo comprueba la corriente con el valor que realmente vas a usar: 220 Ω, el mismo del LED parpadeante del módulo 1.1.
El cálculo en cuatro pasos
Tensión de la fuente
Pin del ESP32 = 3,3 V. Si conectas el LED a 5 V, usa 5 V en el cálculo.
Resta la caída del LED
Rojo ≈ 2,0 V. Quedan 1,3 V para el resistor.
Elige la corriente
Entre 5 y 10 mA basta para un indicador. Mantén cada pin del ESP32 por debajo de unos 12 mA; no es una fuente de potencia.
Divide y redondea hacia arriba
R = 1,3 ÷ 0,010 = 130 Ω. Valores comerciales cercanos: 150, 220, 330 Ω. Si tienes dudas, elige el mayor: el LED brilla un poco menos y nada se calienta.
✓ Hazlo
- ✓Un resistor para cada LED, aunque sean iguales.
- ✓Redondear el resistor al siguiente valor comercial más alto.
- ✓Para un LED azul o blanco con 3,3 V, usa entre 47 y 100 Ω (queda poca tensión).
✗ No lo hagas
- ✗LED conectado directamente al pin, sin resistor: el LED se quema y el pin se sobrecarga.
- ✗Un solo resistor para varios LED en paralelo: la corriente se reparte mal.
- ✗Conectar un motor, un buzzer grande o una tira de LED directamente a un GPIO.
Por qué aprender
Es el cálculo que más se repite en la robótica de mesa. La misma lógica (la tensión sobrante dividida entre la corriente deseada) aparece en el divisor de tensión del HC-SR04, al elegir el resistor de base de un transistor y al leer la batería del rover.
Conceptos clave
🧩 Protoboard: cómo se conectan las pistas
A protoboard (placa de pruebas) te permite armar circuitos sin soldar, solo insertando cables y componentes. Por dentro, cada orificio está conectado con otros mediante láminas metálicas ocultas. Si no conoces este mapa, puedes armar todo «bien» en la fila equivocada. Hay dos reglas: en el centro, los 5 orificios de una misma columna están conectados entre sí; en los bordes, las líneas largas de + y − (los buses) recorren la placa a lo largo.
Cómo leer: cada trazo de color representa una lámina metálica debajo de los orificios. Las verdes muestran dos columnas vecinas: NO se tocan. La ámbar muestra que la misma columna al otro lado de la ranura es otro punto. Las líneas roja (+) y cian (−) son los buses de alimentación. En algunas placas largas, el bus está cortado en el medio: compruébalo con el multímetro (tema 4).
✓ Montaje ordenado
- ✓Usa siempre cable rojo para + y negro o azul para GND.
- ✓Coloca el ESP32 sobre la ranura central, con una fila de pines en cada mitad.
- ✓Jumpers cortos y pegados a la placa: así es fácil seguir el recorrido.
- ✓Coloca las dos patas del componente en columnas distintas.
✗ Errores clásicos
- ✗Resistor con las dos patas en la misma columna: queda «en corto» y no hace nada.
- ✗Conectar + y − en la misma columna: cortocircuito directo en la fuente.
- ✗Motor alimentado desde la protoboard: las láminas no soportan la corriente.
- ✗ESP32 ancho que ocupa todos los orificios: algunos DevKits no dejan ninguna columna libre; usa dos protoboards una al lado de la otra.
🌱 ¿Eres nuevo aquí?
Un jumper es el cablecito con punta rígida (macho-macho para protoboard, macho-hembra para conectar a los pines de módulos). Un cortocircuito ocurre cuando + y − se encuentran sin nada en medio que limite la corriente: la fuente entrega todo lo que puede, el cable se calienta y la batería puede hincharse.
Por qué aprender
La mitad de los circuitos que «no funcionan» están bien en el papel, pero mal por una fila. Conocer el mapa interno te permite encontrar el problema con solo mirar, en vez de reescribir el código.
Conceptos clave
📏 Multímetro: mide antes de conectar
O multímetro es el instrumento que convierte «creo que está bien» en certeza. Un modelo digital sencillo resuelve todo lo que pide la Ruta 1: medir el voltaje de una batería, comprobar el valor de un resistor y probar la continuidad de un cable (si está intacto o si dos puntos están conectados).
🌱 ¿Eres nuevo aquí?
DC (corriente continua, símbolo V con una línea recta) es lo que usan las pilas, las baterías y el ESP32; AC (corriente alterna, símbolo con una onda) es la de los enchufes, que no vas a medir en este curso. Continuidad es el modo que emite un pitido cuando hay conexión entre las puntas. La punta de prueba negra va en el borne COM y en GND del circuito; la roja va en el borne VΩ y en el punto que quieres medir.
Tres mediciones que vas a repetir siempre
Tensión de la batería (circuito encendido)
Selector en V DC, escala de 20 V. Punta negra en −, roja en +. Cuatro pilas NiMH cargadas muestran cerca de 5,2 a 5,6 V; por debajo de unos 4,4 V es hora de recargarlas. Una lectura negativa solo indica que las puntas están intercambiadas.
Valor de un resistor (circuito apagado)
Selector en Ω, escala de 2 kΩ para uno de 220 Ω. Apoya una punta en cada pata, sin sostener ambas puntas con los dedos (tu cuerpo se convierte en un resistor en paralelo). Valor esperado: 209 a 231 Ω para una tolerancia del 5%.
Continuidad de un cable o pista (circuito apagado)
Selector en el símbolo de sonido. Junta las puntas: debe pitar. Después prueba el jumper sospechoso o dos agujeros de la protoboard. Si no pita, el cable está cortado o los agujeros no están conectados.
⚠️ Mide resistencia y continuidad solo con todo apagado
En estos modos, el multímetro inyecta una pequeña corriente. Medir con la batería conectada da una lectura incorrecta y puede dañar el aparato. Nunca dejes la punta roja en el borne de corriente (10A o mA) para medir tensión: provocarás un cortocircuito a través del multímetro.
✓ Buen hábito
- ✓Mide la batería antes de culpar al código.
- ✓Comprueba que el pin 3V3 del ESP32 indique cerca de 3,3 V.
- ✓Empieza por la escala más alta si no sabes cuál es el valor.
✗ Mal hábito
- ✗Girar el selector con las puntas en contacto con el circuito.
- ✗Medir corriente sin saber lo que haces (lo dejarás para más adelante).
- ✗Olvidar el multímetro encendido: se agota su batería de 9 V.
💡 ¿Todavía no tienes multímetro?
En Wokwi está el componente "Voltmeter" y el propio ESP32 mide tensión mediante el ADC (tema 6). Pero un multímetro digital básico es una de las herramientas más baratas y útiles del banco de trabajo; vale la pena tenerlo antes de los motores.
Por qué aprender
Cuando el rover del módulo 1.6 se detenga en medio de la sala, la primera pregunta es "¿la batería está bien?". Quien mide en segundos no pierde la tarde sospechando del programa. Y comprobar la continuidad antes de encender es lo que salva las placas de un cortocircuito que no viste.
Conceptos clave
🔢 Digital, analógico y lógica de 3,3 V
Una señal digital solo tiene dos estados: encendido (HIGH) o apagado (LOW), como un interruptor. Una señal analógica varía continuamente, como la tensión de un potenciómetro al girar o de una batería que se descarga. El ESP32 lee ambas: la digital con digitalRead() y la analógica mediante el ADC con analogRead(). Y aquí está el punto crítico: en el ESP32, HIGH es 3,3 V, no 5 V.
🌱 ¿Eres nuevo aquí?
GPIO (entrada y salida de uso general) es un pin que el programa configura como entrada o salida. ADC (convertidor analógico-digital) transforma una tensión en un número: en el ESP32 tiene 12 bits, es decir, de 0 a 4095. Nivel lógico es el rango de tensión que la placa interpreta como 0 o 1. Un convertidor de nivel es un módulo pequeño que traduce señales de 5 V a 3,3 V y viceversa.
Cómo leer: a la izquierda, la línea verde solo ocupa dos niveles, 0 y 3,3 V. A la derecha, la línea cian pasa por todos los valores intermedios y el ADC da un número proporcional. La franja roja de arriba marca el límite: el ESP32 tolera como máximo unos 3,6 V en un pin, así que un sensor que entrega 5 V necesita un divisor de tensión (tema 6) o un convertidor de nivel.
| Componente del kit | Señal que entrega | Precaución con el ESP32 |
|---|---|---|
| Botón | digital | usar pull-up (tema 6) |
| Potenciómetro | analógica | alimentar con 3,3 V, no con 5 V |
| HC-SR04 (ECHO) | pulso digital de 5 V | divisor de tensión en ECHO |
| Sensor IR de obstáculos | digital | alimentar con 3,3 V cuando el módulo lo permita |
💡 Qué pin usar para el ADC
En el ESP32 clásico (WROOM-32), prefiere los pines del ADC1 (GPIO 32 a 39). Los del ADC2 dejan de leer cuando el Wi-Fi está encendido, y eso solo aparece en la Ruta 2, cuando ya olvidaste el motivo. Los GPIO 34 a 39 son solo de entrada: excelentes para leer sensores, inútiles para encender un LED.
Por qué aprender
Muchos tutoriales y módulos se hicieron para el Arduino Uno, que funciona a 5 V. Conectar uno de estos directamente al ESP32 es la forma más rápida de quemar un pin, y a veces toda la placa. Saber qué señal entrega cada componente determina qué pin usar, qué función de lectura aplicar y si se necesita protección.
Conceptos clave
🪜 Divisor de tensión y resistor pull-up
Dos circuitos de dos componentes aparecen en casi todos los robots. El divisor de tensión usa dos resistores en serie para entregar una fracción de la tensión: Vsaída = Ventrada × R2 ÷ (R1 + R2). Con dos resistores iguales, la salida es la mitad. El pull-up es un resistor que "lleva" una entrada a 3,3 V mientras no ocurre nada, para que el pin nunca quede indefinido.
🌱 ¿Eres nuevo aquí?
Una entrada flotante es un pin de entrada que no está conectado a nada: capta el ruido del entorno y la lectura cambia sola entre 0 y 1. El ESP32 tiene un pull-up interno (un resistor de decenas de kΩ dentro del chip) que activas en el código con INPUT_PULLUP. Con él, el botón queda entre el pin y GND: al soltarlo lee 1; al presionarlo, lee 0.
Cómo leer: a la izquierda, sigue la tensión de arriba hacia abajo: los dos resistores iguales dividen la batería por la mitad y el punto verde del medio va al GPIO 34, siempre por debajo de 3,3 V. A la derecha, el resistor interno conecta el GPIO 4 a los 3,3 V; cuando presionas el botón, el pin queda conectado directamente a GND y lee 0. La lógica "invertida" (presionado = 0) es normal con pull-up.
Objetivo: leer la tensión de 4 pilas AA mediante el divisor y el estado de un botón con pull-up interno, mostrando ambos en el Serial Monitor dos veces por segundo. En Wokwi, cambia la batería por un potenciómetro conectado entre 3,3 V y GND (la salida del medio al GPIO 34) y observa cómo cambia la tensión de la "batería".
// Divisor de tensión + botón con pull-up (ESP32, paquete esp32 3.x)
// Batería → R1 10k → GPIO 34 → R2 10k → GND | Botón: GPIO 4 ↔ GND
const int PINO_BATERIA = 34; // ADC1, solo entrada
const int PINO_BOTAO = 4; // tiene pull-up interno
const float FATOR_DIVISOR = 2.0; // (R1 + R2) / R2 = (10k + 10k) / 10k
void setup() {
Serial.begin(115200);
pinMode(PINO_BOTAO, INPUT_PULLUP); // suelto = HIGH, presionado = LOW
analogReadResolution(12); // 0 a 4095
Serial.println("Lectura de batería y botón lista");
}
void loop() {
int bruto = analogRead(PINO_BATERIA); // número de 0 a 4095
int mvPino = analogReadMilliVolts(PINO_BATERIA); // ya en mV, calibrado
float vBateria = mvPino * FATOR_DIVISOR / 1000.0; // deshace el divisor
bool apertado = (digitalRead(PINO_BOTAO) == LOW);
Serial.print("ADC: "); Serial.print(bruto);
Serial.print(" | pin: "); Serial.print(mvPino); Serial.print(" mV");
Serial.print(" | batería: "); Serial.print(vBateria, 2); Serial.print(" V");
Serial.print(" | botón: "); Serial.println(apertado ? "APERTADO" : "solto");
delay(500);
}
Cómo verificar
- ✓Con 4 pilas NiMH cargadas, "batería" muestra cerca de 5,2 a 5,6 V; compruébalo con el multímetro (una diferencia de hasta unos 0,1 V es normal).
- ✓"botón" cambia a PRESIONADO solo mientras lo mantienes presionado.
- ✗¿"botón" cambia solo? El pin elegido no tiene pull-up (GPIO 34 a 39) o el cable está suelto.
- ✗¿ADC fijo en 4095? El pin está recibiendo 3,3 V o más: falta el divisor o está montado al revés.
⚠️ Calcula antes de conectar a la batería
Con 2 celdas 18650 en serie (hasta 8,4 V), dos resistencias iguales entregarían 4,2 V al pin: por encima del límite. Usa R1 = 20 kΩ y R2 = 10 kΩ (divide entre 3, máximo de 2,8 V) y cambia FACTOR_DIVISOR a 3.0. Siempre vuelve a hacer el cálculo con el voltaje MÁXIMO de la batería cargada.
Por qué aprender
El divisor es lo que protege al ESP32 del pin ECHO de 5 V del HC-SR04 (módulo 1.4) y permite que el rover avise cuando la batería se está agotando. El pull-up permite que los botones, los interruptores de fin de carrera y los sensores de «colisión» se lean sin señales fantasma.
Conceptos clave
✅ Resumen del módulo
Para profundizar
- ADC en Arduino-ESP32 (Espressif) — analogRead, analogReadMilliVolts y atenuación
- GPIO en Arduino-ESP32 — pinMode, INPUT_PULLUP y precauciones
- Cómo usar una protoboard (SparkFun) — fotos del interior de la placa
- Cómo usar un multímetro (SparkFun) — voltaje, resistencia y continuidad
- Documentación de Wokwi — probar los circuitos sin hardware
Siguiente módulo
1.3 · ESP32: el primer programa. Arduino IDE 2.x, paquete esp32 3.x, primera carga en la placa real, Serial Monitor, entradas y PWM con la nueva API.