velxio/test/test_circuit/plan/phase_6_end_to_end.md

1.9 KiB
Raw Blame History

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.js
  • test/e2e_thermistor.test.js