Construir un controlador de riego propio no es complicado en una escala pequeña, pero el problema crece cuando hay que llegar a válvulas alejadas, distribuidas por varias hectáreas. Para resolverlo, Vinnie apostó por el clásico par diferencial RS-485 para comunicar de forma confiable un controlador central con válvulas cada vez más distantes en el sistema de riego de su granja, según publicó Hackaday.

¿Cómo está armado el sistema?

El cerebro central es un Raspberry Pi que decide cuándo abrir cada válvula y por cuánto tiempo. El Pi no habla RS-485 directamente: se comunica vía I2C con una placa maestra custom, la "RS-485 valve master board", cuyo código y archivos de diseño están publicados en GitHub.

La placa maestra cumple dos funciones:

1. Traduce comandos I2C a RS-485 para enviarlos por el bus diferencial hacia los nodos remotos. 2. Controla la línea de 12V que alimenta las válvulas, encendiéndola solo durante el ciclo de riego.

Toggle del suministro de 12V no es un detalle menor. Mantener el bus de potencia apagado fuera del ciclo de riego ahorra energía y reduce el desgaste de los componentes. En un sistema de granja con decenas de nodos distribuidos, esa optimización compuesta hace diferencia mensual en el consumo.

¿Por qué RS-485 y no otro bus?

RS-485 trabaja con señalización diferencial, lo que permite cubrir distancias de hasta 1.200 metros a velocidades bajas (típicamente 9.600 a 115.200 bps) con cableado de par trenzado básico, sin necesidad de fibra ni transceptores costosos. La inmunidad al ruido eléctrico es muy superior a UART simple o I2C, ambos limitados a unos pocos metros en ambientes electromagnéticamente sucios como un campo con bombas y motores.

Para irrigación, donde los cables corren cerca de motores trifásicos y líneas de potencia, RS-485 es prácticamente el estándar de facto. La industrial automation lo usa por las mismas razones desde los años 80.

¿Qué hay dentro de cada nodo de válvula?

En cada válvula vive una "valve node board" (también en el repo de GitHub). Cada nodo:

  • Tiene una dirección única en el bus, de modo que solo responde cuando se le invoca por nombre.
  • Acciona solenoides latching, que mantienen su estado (abierto o cerrado) sin consumo continuo de corriente. Solo necesitan un pulso para cambiar de estado.
  • Implementa un protocolo propio sobre RS-485 para reportar estado, versión de firmware y permitir configuración in-situ sin desarmar la instalación.

La elección del solenoide latching es la otra optimización energética clave. Un solenoide tradicional necesitaría mantener corriente constante para sostener una válvula abierta durante un ciclo de riego de 20 a 60 minutos. El latching solo gasta energía en el instante del cambio de estado, lo que reduce drásticamente la demanda total del sistema.

¿Por qué importa este proyecto?

Vinnie publicó la documentación completa y los archivos de diseño en abierto. Para makers que enfrentan el mismo problema (más de 8 a 10 válvulas, distancias mayores a 50 metros entre la central y la zona más lejana, ambiente con ruido eléctrico), el repositorio es un punto de partida realista en vez de tener que diseñar el bus desde cero.

Adicionalmente, la arquitectura I2C + RS-485 es portable. El mismo patrón vale para controlar luces de un invernadero, ventilación de un gallinero, o cualquier red de actuadores físicos en distancias grandes. El proyecto entero está en su página de proyecto.