1.9 KiB
1.9 KiB
Fase 6 — Pruebas end-to-end
E2E-1: Potenciómetro → PWM → brillo LED
Topología
+5V ─┬──── pot_top
│
R_pot_top (variable)
│
├──── A0 (canal 0 del ADC)
│
R_pot_bot (variable = 10k - R_pot_top)
│
GND ─┴──── pot_bot
Pin 9 (PWM) ─── R_series=220Ω ─── LED_anode
LED_cathode ──── GND
Sketch (lógica)
void setup() { pinMode(9, OUTPUT); }
void loop() {
int v = analogRead(A0); // 0..1023
analogWrite(9, v >> 2); // 0..255
}
Expected
- Wiper al 0 % →
ADC=0→ PWM duty 0 % → corriente LED ≈ 0 mA - Wiper al 50 % →
ADC≈512→ PWM duty 50 % → V_pin9_avg = 2.5 V → corriente ≈ 2.27 mA - Wiper al 100 %→
ADC=1023→ PWM duty ~100 % → corriente ≈ 13.6 mA (rojo, 220Ω)
Verificación
Monótonamente creciente: I(wiper=0) < I(wiper=50) < I(wiper=100).
E2E-2: Termistor NTC → lectura de temperatura
Topología
+5V ─── R_pullup=10kΩ ─┬─── A0
│
NTC (10k, β=3950)
│
GND ─────────────────────
Sketch (lógica)
void loop() {
int raw = analogRead(A0);
// V_A0 = 5 · raw/1023
// R_ntc = 10k · V_A0 / (5 − V_A0)
// T = 1 / (1/298.15 + (1/β) · ln(R_ntc/10k))
}
Expected
| T ambiente | R_ntc | V_A0 | ADC raw |
|---|---|---|---|
| 0 °C | 27.3 kΩ | 3.66 V | 749 |
| 25 °C | 10.0 kΩ | 2.50 V | 512 |
| 50 °C | 3.6 kΩ | 1.32 V | 270 |
Verificación
- Para 3 valores de T, el ADC raw debe coincidir con la tabla ± 2 LSB.
Archivos
test/e2e_pot_pwm_led.test.jstest/e2e_thermistor.test.js