🌱 Reg automàtic amb blocs
Projecte extraescolar de programació per blocs per a 1r i 2n d'ESO
El projecte
En aquest projecte, una placa ESP32 STEAMakers (de Keyestudio) vigila una planta i la rega sola quan la terra és massa seca. Quatre sensors mesuren la humitat de la terra, la temperatura i la humitat de l'aire i la pluja; una pantalla mostra les mesures, i una bomba d'aigua, governada per un relé, rega la planta. Es programa amb blocs a STEAMakersBlocks, sense escriure codi de text.
| Què detecta | Què fa |
|---|---|
| La terra és seca (humitat de la terra inferior al 75 %) | Activa la bomba durant 2 segons |
| Plou (el sensor de pluja marca més del 50 %) | Encén el LED |
| No plou (el sensor de pluja marca menys del 50 %) | Apaga el LED |
| Sempre, a cada cicle | Mostra a la pantalla la temperatura, la humitat de l'aire, la humitat de la terra i la pluja |
La pantalla permet veure i entendre què mesura la placa en cada moment.
Materials i connexions
| Component | Per a què serveix | Pin |
|---|---|---|
| Placa ESP32 STEAMakers (Keyestudio) | El «cervell» del projecte | — |
| Sensor DHT-11 | Temperatura i humitat de l'aire | 25 (D3) |
| Sonda d'humitat de la terra | Mesura com d'humida és la terra | 14 (D7) |
| Sensor d'aigua / pluja | Detecta si plou | 12 (D8) |
| Mòdul de relé | Connecta i desconnecta la bomba | 17 (D4) |
| Bomba d'aigua compatible amb Arduino | Rega la planta | Via relé |
| Mòdul LED | Indica que plou | 2 (A0) |
| Pantalla OLED | Mostra les mesures | I2C (adreça 0x3C) |
Alimentació: una pila de 9 V o una bateria portàtil USB.
- Treballem sempre amb baixa tensió (pila o bateria USB), mai amb la xarxa elèctrica.
- La bomba, el relé i l'alimentació han de ser compatibles entre ells: mira la tensió indicada a la bomba.
- Les connexions elèctriques es mantenen lluny de l'aigua, i la bomba no es deixa funcionar en sec.
- Els alumnes treballen sempre amb el monitor al costat.
Per què és important?
Fa servir la programació per resoldre un problema real: una planta que necessita aigua. El resultat es veu de seguida: si el programa és correcte, la planta es rega quan toca; si no, cal descobrir per què i ajustar-lo. Així s'aprèn a analitzar errors, a provar i a treballar de manera metòdica, i es connecta la programació amb l'electrònica i amb les ciències.
Què s'aprèn?
És un projecte ideal per a un primer contacte amb la programació d'una placa electrònica. Concretament, s'aprèn a:
- Dividir un problema en parts amb funcions: llegir els sensors, mostrar les dades i regar.
- Prendre decisions amb condicions: «si la terra és seca, rega».
- Llegir sensors i guardar els valors en variables amb nom.
- Controlar un aparell (una bomba) amb un relé.
- Mostrar informació en una pantalla.
- Provar, ajustar i corregir: decidir a partir de quin valor ha de regar.
Conceptes de programació per blocs que es fan servir
Per fer aquest programa cal dominar aquestes idees bàsiques:
- Inicialitzar: ordres que s'executen una sola vegada, en arrencar, com deixar el relé apagat i preparar la pantalla.
- Bucle: repetir les mateixes instruccions per sempre.
- Funcions (Sensors, Pantalla, Regar): grups d'ordres amb nom, que es poden cridar quan cal.
- Variables: una «caixa» amb nom on guardem una lectura, com la humitat de la terra.
- Condicions (si… fer… si no, si…): executar unes ordres només si es compleix una situació.
- Comparar valors (
<i>): preguntar si un valor és més petit o més gran que un altre. - Esperar: fer una pausa. 1000 mil·lisegons són 1 segon.
- Sensors i actuadors: els sensors llegeixen el món; els actuadors, com el relé i la bomba, hi actuen.
- Pantalla amb coordenades: posar un text a la pantalla indicant-ne la posició (X, Y).
Preguntes freqüents
Què és un reg automàtic?
És un sistema que mesura la humitat de la terra i rega la planta sol quan fa falta, sense que ningú hi intervingui.
Com es programa?
Amb blocs, a STEAMakersBlocks, una plataforma de programació per blocs per a plaques com l'ESP32. No cal escriure codi de text.
A qui va dirigit?
A alumnes de 1r i 2n d'ESO, a les extraescolars de RobotSitges, a Sitges.
Quins components s'utilitzen?
Una placa ESP32 STEAMakers, sensors d'humitat de la terra, de temperatura i humitat de l'aire i de pluja, un relé, una bomba d'aigua, un LED i una pantalla OLED.
- Si el programa torna a mirar la humitat cada pocs segons, què passa mentre l'aigua encara no ha arribat al sensor? Què canviaria si després de regar esperés 30 segons?
- Ara el sensor de pluja només encén un LED. Com es podria fer que, si plou, no reguï?
- Com es pot calibrar el 75 % perquè funcioni bé per a una planta concreta?
- Per què es mostren la temperatura i la humitat de l'aire si no es fan servir per decidir? Quin ús podrien tenir?
- Què passaria si la pantalla s'actualitzés cada 10 segons en lloc de cada segon?
Per saber-ne més
- STEAMakersBlocks, la plataforma de programació per blocs que fem servir.
- Guia de sensors: com funcionen i quins tipus hi ha.
- Robot seguidor de línia: un altre projecte, ara programat en Python.
Text escrit amb l'ajuda d'intel·ligència artificial (Claude Sonnet 5.5, d'Anthropic) i revisat per RobotSitges.