Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Contrôleur d'irrigation intelligent Arduino – Arrosage automatique avec capteurs météo et lumière

Composants et fournitures

Arduino Nano R3 ×1
IO Expander ×1
IO Expander Bundle ×1

Applications et services en ligne

À propos de ce projet

Créer un contrôleur d'irrigation intelligent avec Arduino

Irriguez intelligemment votre jardin avec des cycles d'arrosage dynamiques. Arrêtez l'arrosage s'il pleut ou s'il a plu depuis le dernier arrosage. Utilisez le capteur de lumière pour détecter l'aube et ajuster automatiquement les heures de début d'arrosage. Arrêtez l'arrosage s'il fait trop froid.

Liste des fonctionnalités

Contrôleur d irrigation intelligent Arduino – Arrosage automatique avec capteurs météo et lumière

Pièces nécessaires pour construire le contrôleur d'irrigation intelligent

Schéma de câblage

Contrôleur d irrigation intelligent Arduino – Arrosage automatique avec capteurs météo et lumière

Écran OLED

Contrôleur d irrigation intelligent Arduino – Arrosage automatique avec capteurs météo et lumière

Appuyez sur le bouton Menu pour afficher le menu et continuez d'appuyer pour faire défiler les options. Le menu disparaît automatiquement après 30 secondes d'inactivité. Appuyez sur le bouton Select pour exécuter la fonction choisie.

Pourquoi utiliser l'IO Expander ?

Construire le système

Connectez l'Arduino Nano à l'IO Expander et programmez-le avec le code suivant. Le connecteur 6 broches est le port série logiciel de débogage, non nécessaire en installation finale.

Contrôleur d irrigation intelligent Arduino – Arrosage automatique avec capteurs météo et lumière

Important : Modifiez les adresses définies ONEWIRE_TO_I2C_ROM1 et ONEWIRE_TO_I2C_ROM2 pour qu'elles correspondent aux adresses de vos convertisseurs 1-Wire vers I2C.

Code principal (extrait)

/* IO Expander sketch optimisé
 * Système d'irrigation v1.1 */
#include <math.h>
#include <time.h>
#include <util/crc16.h>
#include <avr/wdt.h>
#include <SoftwareSerial.h>
#include "IOExpander.h"

#define FAHRENHEIT
#define INIT_BOARD "g5w1;g11w1;g11d0,75;g12w1;g12d0,75;rsf"
#define ONEWIRE_TO_I2C_ROM1 "i4scc"
#define ONEWIRE_TO_I2C_ROM2 "i6s8f"
#define ONEWIRE_TEMPERATURE "t6s0300"
#define RTC_SENSOR "s4te"
#define I2C_EEPROM "s4tf"
#define I2C_OLED "s4t10"
#define I2C_LIGHT "s3t9;sc0"
#define OPTICAL_SENSOR "g5a"
#define BUTTON1 "g11d"
#define BUTTON2 "g12d"

#define WATER_TIME_BEFORE_SUNRISE 60
#define SUNRISE_LUX 100
#define RAIN_DETECT_LEVEL 4.0
#define DO_NOT_WATER_TEMP 4.4444 // 40°F
#define MAX_ZONES 4
// ... (constantes de temps, jours, zones, relais, structures ZONE, SCHEDULE, NVRAM)

void setup() {
  Serial.begin(115200);
  pinMode(13, OUTPUT);
  wdt_enable(WDTO_8S);
}

void loop() {
  // Lecture RTC, capteurs, gestion programmation, boutons, affichage OLED, écriture EEPROM
  // Logique complète : détection aube, pluie, température, gestion 4 zones, menu interactif
  wdt_reset();
}

Note : Si vous programmez l'Arduino Nano via le port USB, déconnectez-le de l'IO Expander car ils partagent le même port série. Pour le débogage, utilisez le port ICSP pour programmer l'ATmega328P. Décommentez SERIAL_DEBUG pour activer le port de débogage logiciel.

Le répartiteur doit être configuré pour isoler la ligne de données du capteur infrarouge optique de la ligne du capteur distant 1-Wire. Soudez une résistance 0 ohm 0603 en R2.

Contrôleur d irrigation intelligent Arduino – Arrosage automatique avec capteurs météo et lumière

Percez un trou de 7/16" dans le petit boîtier et 11/16" dans le grand boîtier (côté droit) pour les pressacâbles PG7 et PG11. Utilisez une Dremel pour ajuster. Le PG7 passe les capteurs distants, le PG11 les fils 12VDC, 24VAC, collecteur et RJ11.

Contrôleur d irrigation intelligent Arduino – Arrosage automatique avec capteurs météo et lumière

Câblez les micro-interrupteurs poussoirs SPST et connectez-les à la prise RJ11 à bornier. Utilisez du thermorétractable pour isoler les contacts.

Contrôleur d irrigation intelligent Arduino – Arrosage automatique avec capteurs météo et lumière

Connectez tous les fils et assemblez les pièces dans le grand boîtier. Le fil RJ11 de 50ft pour les capteurs distants doit passer par le pressacâble PG11 sans être coupé.

Contrôleur d irrigation intelligent Arduino – Arrosage automatique avec capteurs météo et lumière

Percez un trou de 9/16" sur le dessus du petit boîtier pour le capteur infrarouge optique d'eau. Ajustez à la Dremel. Le petit boîtier de capteurs distants est un ajustement serré ; raccourcissez les fils RJ11 au maximum. Une fois assemblé, ajoutez de la colle marine dans la rondelle du pressacâble avant de serrer pour une meilleure étanchéité.

Contrôleur d irrigation intelligent Arduino – Arrosage automatique avec capteurs météo et lumière

Installez le boîtier de capteurs distants à l'extérieur, surélevé sur le côté est de votre maison, avec le capteur infrarouge optique d'eau et le capteur de lumière pointant vers le ciel sans obstruction.

Contrôleur d irrigation intelligent Arduino – Arrosage automatique avec capteurs météo et lumière

Percez des trous de 1/4" au haut, milieu et bas du grand boîtier pour les boutons. Ajustez à la Dremel.

Contrôleur d irrigation intelligent Arduino – Arrosage automatique avec capteurs météo et lumière

Testez le système. Pour tester relais et capteurs, déconnectez l'Arduino de l'IO Expander et connectez-le directement à l'ordinateur pour contrôle manuel. Une fois tout vérifié, assemblez dans le boîtier avec ruban double face et mousse de calage, et profitez des économies de votre contrôleur d'irrigation intelligent.

Vidéo de fonctionnement

Mise à jour 12/09/2019

Version v1.1 corrigeant un problème de démarrage si le système perd l'alimentation pendant plusieurs jours.

Mise à jour 02/10/2019

Lors de la connexion du 1-Wire vers I2C au DS3231 puis à l'écran SSD1306 OLED, vous avez trois résistances de pull-up différentes sur SDA et SCL (voir image cerclées). Cela donne un pull-up effectif de 4.7k/3 = 1.56k, trop fort, causant des corruptions d'écran aléatoires.

Contrôleur d irrigation intelligent Arduino – Arrosage automatique avec capteurs météo et lumière

Comme le DS3231 utilise un réseau de résistances partagé, retirez les autres pull-up :

Schéma

Contrôleur d irrigation intelligent Arduino – Arrosage automatique avec capteurs météo et lumière

Processus de fabrication

  1. Construire des systèmes d'agriculture intelligente open-source : donner aux agriculteurs les moyens d'une IoT abordable et interopérable
  2. ECM3532 : La première carte capteur IA intégrée ultra-basse consommation d'Eta Compute accélère le développement edge
  3. Construire un contrôleur domotique 433 MHz avec Sensorflare et Raspberry Pi
  4. Construire un moniteur de température domestique avec Raspberry Pi, MCP9808, InfluxDB et Grafana
  5. Poubelle intelligente : Une solution IoT cellulaire pour la gestion automatisée des déchets
  6. Barman intelligent : Construisez votre propre station de cocktails alimentée par Raspberry Pi
  7. Capteur d'émotion & EEG : Matériel low-cost pour détection d'émotion en temps réel
  8. Contrôleur d'irrigation intelligent avec Windows 10 IoT, Raspberry Pi et capteurs d'humidité XBee
  9. Capteur de déformation ultra-sensible et durable pour textiles intelligents