La Planta Sarcástica
Tu maceta acaba de descubrir la inteligencia artificial. Si la tierra está seca, no va a encender una alarma aburrida: va a quejarse con estilo, drama y sarcasmo hasta que alguien la riegue.
Leer un sensor de humedad FC-28 desde Arduino y usar IA para generar mensajes con personalidad.
Inicial/intermedio. Ideal si ya probaste variables, condiciones y bloques MCP.
Un monitor de planta que revisa la humedad 5 veces y se queja cuando la tierra está seca.
La historia
Las plantas normalmente se quedan quietas, hacen fotosíntesis y juzgan en silencio. En este proyecto vamos a darles una voz: cuando el sensor detecte tierra seca, BasicAIO enviará el valor a un bloque de IA que responderá como una planta de interior sarcástica.
Lo que vas a aprender
Vas a combinar variables, lecturas analógicas, condiciones IF/ELSE, bucles, Arduino mediante MCP y prompts con personalidad.
Materiales
- 1 placa Arduino compatible, por ejemplo UNO.
- 1 sensor de humedad de suelo FC-28 con módulo comparador.
- Cables Dupont macho-hembra.
- BasicAIO instalado.
- Firmware
arduino_mcp.inocargado en la placa. - Créditos IA disponibles para generar las respuestas sarcásticas.
1. Conectar el sensor FC-28 al Arduino
El sensor FC-28 entrega una lectura analógica que BasicAIO puede consultar desde el bloque MCP ArduinoMCP analog read pin. Para este tutorial usaremos el pin A0.
| Sensor FC-28 | Arduino | Función |
|---|---|---|
+ | 5V | Alimentación del sensor |
- | GND | Tierra común |
AO | A0 | Lectura analógica de humedad |
0 equivale a suelo completamente mojado y 1023 equivale a suelo completamente seco. Por eso, cuanto más alto sea el número, más dramática será la planta.
2. Programar la lógica en BasicAIO
Antes de ejecutar, conectá el Arduino por USB y abrí BasicAIO. Al iniciar, el programa puede detectar automáticamente herramientas MCP disponibles en la placa, como lectura analógica, lectura/escritura digital y espera.
-
Cargar el firmware MCP
En el Arduino IDE, cargá el sketch
arduino_mcp.inoen la placa. Esto permite que BasicAIO descubra las herramientas del Arduino y las muestre como bloques. -
Crear el bucle de monitoreo
Arrastrá un bloque repetir 5 veces. Este proyecto toma cinco lecturas para que puedas probarlo sin dejarlo corriendo eternamente. Más adelante podés cambiarlo por un monitoreo continuo.
-
Leer la humedad
Dentro del bucle, creá la variable
humedady asignale el valor del bloqueArduinoMCP analog read pin A0. -
Detectar tierra seca
Agregá un bloque si / sino con la condición
humedad > 650. Ese umbral indica que la tierra está suficientemente seca como para activar el reclamo de la planta.0–650: la planta está relativamente tranquila 651–1023: empieza el drama botánico -
Agregar la IA sarcástica
Dentro del bloque si, agregá un bloque de IA que guarde la respuesta en la variable
resultado.Rol:
Eres una planta de interior muy sarcástica
Consulta:
La humedad de tu tierra es de {humedad}. Considera que el sensor utiliza una escala donde 0 equivale al 100% de humedad (suelo completamente mojado) y 1023 equivale al 0% de humedad (suelo completamente seco). Interpreta correctamente ese valor y quéjate con tu dueño para que te riegue. Cuanto más seca esté la tierra, más desesperado, dramático y gracioso debe ser tu reclamo. Cuanto más húmeda esté, más tranquilo y satisfecho debes sonar. -
Esperar antes de repetir
Agregá un bloque Esperar 1 minuto al final del bucle. Esto evita saturar las lecturas y hace que el monitoreo sea más realista.
3. El programa en bloques
La estructura final queda así: repetir, leer humedad, evaluar si supera el umbral, generar una respuesta con IA y esperar antes de la siguiente lectura.
humedad > 650, IA con rol sarcástico y espera de 1 minuto.4. Ejecutar y leer la respuesta
Presioná Ejecutar. Si la lectura supera el umbral, la consola mostrará el valor de humedad y luego la respuesta generada por la IA. En una prueba con valor 769, la planta ya no estaba precisamente zen.
resultado.5. Código del flujo para referencia
Este es el flujo exportado del proyecto. Puede servirte para verificar la estructura o documentar la actividad en clase.
[
{
"type": "repeat_n",
"COUNT": "5",
"DO": [
{
"type": "set_variable2",
"VAR": "humedad",
"VAL": [
{
"type": "mcp__arduinomcp__analog_read",
"server": "arduinomcp",
"tool": "analog_read",
"pin": "A0",
"args": {
"pin": "A0"
}
}
]
},
{
"type": "if_else",
"COND": "humedad > 650",
"DO": [
{
"type": "ia_system_to_variable",
"SYSTEM": "Eres una planta de interior muy sarcástica",
"PROMPT": "La humedad de tu tierra es de {humedad}. Considera que el sensor utiliza una escala donde 0 equivale al 100% de humedad (suelo completamente mojado) y 1023 equivale al 0% de humedad (suelo completamente seco). Interpreta correctamente ese valor y quéjate con tu dueño para que te riegue. Cuanto más seca esté la tierra, más desesperado, dramático y gracioso debe ser tu reclamo. Cuanto más húmeda esté, más tranquilo y satisfecho debes sonar.",
"VARNAME": "resultado"
}
]
},
{
"type": "esperar",
"TIME": 1,
"UNIT": "minutes"
}
]
}
]
Ideas para mejorar la misión
Encendé el LED interno de Arduino cuando la humedad supere el umbral.
Guardá cada respuesta en un archivo para crear el diario emocional de la planta.
Usá distintos roles: cactus dramático, bonsái filosófico o planta carnívora villana.
Problemas frecuentes
No aparecen los bloques de ArduinoMCP
Revisá que el Arduino esté conectado por USB, que tenga cargado el firmware MCP correcto y reiniciá BasicAIO para que vuelva a detectar la placa.
La planta se queja aunque esté mojada
Probá valores reales con tierra seca y húmeda. Cada sensor y cada maceta pueden variar. Ajustá el umbral 650 hasta que tenga sentido para tu caso.
La IA no usa el valor de humedad
Recordá escribir la variable entre llaves: {humedad}. BasicAIO reemplaza ese texto por el valor real durante la ejecución.