Practica aquí antes de tocar la placa. Vas a conectar un sensor ultravioleta a la ESP32 Plus, comprobar cuánta radiación UV frenan un cristal, unas gafas o una crema solar, calibrar el sensor y programar un aviso solar. Cada paso se desbloquea al completar el anterior.
Prototipo educativo. Los porcentajes de cada material son ilustrativos: los de tus gafas o tu crema serán distintos. El sensor sirve para comparar, no para decidir sobre tu salud: para eso, el índice UV oficial y la protección solar.
El sol, el material y el sensor
Los rayos morados son la radiación UV: cuantos más llegan al sensor, mayor es la lectura.
1Conecta los cables
El sensor ultravioleta lleva tres pines: alimentación (V), tierra (G) y señal (S / OUT). Revisa las etiquetas del módulo, no el orden de los cables. Hazlo con el USB desenchufado.
2Qué entrega este sensor
3Prueba cristal, gafas y crema
Elige un día y mide primero «Nada»: será tu referencia. Luego mide cada material y la página calcula qué porcentaje de UV deja pasar. Si cambias de día, la tabla se borra.
| Material | Lectura | Deja pasar |
|---|
4Calibra y programa el aviso solar
Un mediodía el índice UV oficial es 6 y tu sensor, sin filtro, lee unas 660 unidades (descontando el cero).
Ahora el programa: el LED debe encenderse cuando el índice llegue a 3.
5Piensa como un científico
Lee y predice
Hay una nube fina delante del sol. ¿Baja mucho el UV?
Puede bajar poco: las nubes finas dejan pasar bastante radiación UV. Por eso puedes quemarte en un día «cubierto».Apuntas el sensor hacia la arena clara o el agua. ¿Qué ocurre?
Esas superficies reflejan parte del UV, así que llega más radiación de la que esperabas. La nieve y la arena aumentan el riesgo.Giras el sensor un poco respecto al sol. ¿Cambia la lectura?
Sí: depende del ángulo. Para comparar mediciones hay que apuntar siempre igual y a la misma distancia.El mismo programa en Arduino (el que genera ACECode)
// generated by Block
#include <Arduino.h>
void setup() {
pinMode(35,INPUT);
Serial.begin(115200);
}
void loop() {
Serial.println((String("U:") + String((analogRead(35)))));
delay(1 * 1000);
}Placa ESP32 Plus y programación por bloques con ACECode: Acebott. Módulo: kit avanzado de robótica.