Saltar al contenido

🌱 Proyecto maker · BasicAIO + Arduino + IA

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.

Objetivo
Leer un sensor de humedad FC-28 desde Arduino y usar IA para generar mensajes con personalidad.
Nivel
Inicial/intermedio. Ideal si ya probaste variables, condiciones y bloques MCP.
Resultado
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.ino cargado 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-28ArduinoFunción
+5VAlimentación del sensor
-GNDTierra común
AOA0Lectura analógica de humedad
Diagrama de conexión entre Arduino UNO, módulo FC-28 y sensor de humedad de suelo
Conexión recomendada: VCC a 5V, GND a GND y salida analógica AO al pin A0 del Arduino.
Importante: en este ejemplo interpretamos la escala del sensor así: 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.

  1. Cargar el firmware MCP

    En el Arduino IDE, cargá el sketch arduino_mcp.ino en la placa. Esto permite que BasicAIO descubra las herramientas del Arduino y las muestre como bloques.

  2. 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.

  3. Leer la humedad

    Dentro del bucle, creá la variable humedad y asignale el valor del bloque ArduinoMCP analog read pin A0.

  4. 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
  5. 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.
  6. 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.

Bloques de BasicAIO para el proyecto Planta Sarcástica
Bloques principales del proyecto: lectura analógica en A0, condición 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.

Pantalla completa de BasicAIO ejecutando el proyecto Planta Sarcástica
BasicAIO ejecutando el flujo: lectura del sensor, evaluación de la condición y respuesta sarcástica guardada en la variable 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

Modo alarma
Encendé el LED interno de Arduino cuando la humedad supere el umbral.
Modo diario
Guardá cada respuesta en un archivo para crear el diario emocional de la planta.
Modo diva
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.