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

Système de jardin automatisé intelligent avec Arduino UNO et Raspberry Pi

Composants et fournitures

Système de jardin automatisé intelligent avec Arduino UNO et Raspberry Pi
Arduino UNO
× 1
Système de jardin automatisé intelligent avec Arduino UNO et Raspberry Pi
Raspberry Pi 2 Model B
N'importe quel modèle devrait fonctionner
× 1
Système de jardin automatisé intelligent avec Arduino UNO et Raspberry Pi
Module caméra Raspberry Pi
× 1
Système de jardin automatisé intelligent avec Arduino UNO et Raspberry Pi
Shield Ethernet Arduino 2
× 1
Relais (générique)
× 1
Système de jardin automatisé intelligent avec Arduino UNO et Raspberry Pi
Câble OpenBuilds - Au mètre
× 1
Système de jardin automatisé intelligent avec Arduino UNO et Raspberry Pi
Photorésistance
× 1
Pompe à eau (générique)
× 1
Ventilateur (générique)
J'ai utilisé celui d'un vieux PC.
× 1
Système de jardin automatisé intelligent avec Arduino UNO et Raspberry Pi
Transistor NPN usage général
× 1
Carte MicroSD (générique)
16 Go pour time-lapse
× 1

Applications et services en ligne

Système de jardin automatisé intelligent avec Arduino UNO et Raspberry Pi
Arduino IDE
Système de jardin automatisé intelligent avec Arduino UNO et Raspberry Pi
Raspberry Pi Raspbian
win32diskimager
putty
Système de jardin automatisé intelligent avec Arduino UNO et Raspberry Pi
myDevices Cayenne

À propos de ce projet

Système de jardin automatisé intelligent avec Arduino UNO et Raspberry Pi

C'est mon deuxième projet utilisant mon jardin automatisé, mais cette fois tout sera contrôlé par Cayenne, ce qui sera beaucoup plus facile. J'ai aussi ajouté un Raspberry Pi pour faire une vidéo en time-lapse.

Configuration de l'Arduino

Système de jardin automatisé intelligent avec Arduino UNO et Raspberry Pi
Système de jardin automatisé intelligent avec Arduino UNO et Raspberry Pi
Système de jardin automatisé intelligent avec Arduino UNO et Raspberry Pi
Système de jardin automatisé intelligent avec Arduino UNO et Raspberry Pi
Système de jardin automatisé intelligent avec Arduino UNO et Raspberry Pi
Système de jardin automatisé intelligent avec Arduino UNO et Raspberry Pi
Système de jardin automatisé intelligent avec Arduino UNO et Raspberry Pi
Système de jardin automatisé intelligent avec Arduino UNO et Raspberry Pi
Système de jardin automatisé intelligent avec Arduino UNO et Raspberry Pi

Pour surveiller notre jardin, j'ai utilisé quelques dispositifs qui peuvent être utiles. Avant de commencer, n'oubliez pas de connecter le shield Ethernet à l'Arduino.

Connexions

Humidité du sol : Pour vérifier si les plantes ont besoin d'eau.

Le ventilateur : S'il fait trop chaud, il s'active ou juste pour donner de l'air frais.

La pompe à eau : Elle s'active avec l'humidité du sol.

Photorésistance (optionnel) : Cette partie permet de mesurer s'il y a assez de lumière dans la pièce.

Lumière :

Capteur humidité/température : Du code est requis pour ce dispositif afin qu'il fonctionne correctement avec Cayenne.

Capteur de niveau d'eau :

Montage final

Système de jardin automatisé intelligent avec Arduino UNO et Raspberry Pi
Système de jardin automatisé intelligent avec Arduino UNO et Raspberry Pi

J'ai utilisé 2 relais dans le schéma car Fritzing n'a pas encore de relais 4 canaux. Pour le relais, j'ai utilisé une seule alimentation 12 V. J'ai séparé les fils positif et négatif, puis soudé 3 fils depuis le positif et connecté chaque partie sur le relais. Un seul suffit car tout ne s'allume pas en même temps.

J'ai utilisé une alimentation 5 V pour l'Arduino RELAIS :

Configuration Cayenne

Ici, nous allons voir comment configurer Cayenne, ce qui est très facile.

Ce code fonctionne pour le shield w5100 ; le code est disponible sur Cayenne pour d'autres shields Ethernet/WiFi. N'oubliez pas d'ajouter votre token que vous obtenez après la création de votre compte.

#include "DHT.h"
//#define CAYENNE_DEBUG // Décommenter pour afficher les messages de débogage
#define CAYENNE_PRINT Serial // Commenter pour désactiver les affichages et économiser de l'espace
#include 
#include 

#define DHTPIN 8 // quelle broche numérique on est connecté
#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321

#define VIRT_TEMP V1
#define VIRT_HUM V2

// Jeton d'authentification Cayenne. À obtenir depuis le tableau de bord Cayenne.
char token[] = "votre_token";

DHT dht(DHTPIN, DHTTYPE);
unsigned long prev_DHT_refresh, interval_DHT_refresh = 1000;

void setup() {
  Serial.begin(9600);
  Cayenne.begin(token);
  dht.begin();
}

void loop() {
  Cayenne.run();
  getDhtValues();
}

void getDhtValues() {
  unsigned long now = millis();
  if (now - prev_DHT_refresh > interval_DHT_refresh) {
    // La lecture de la température ou de l'humidité prend environ 250 ms !
    // Les lectures du capteur peuvent aussi être vieilles de 2 secondes (c'est un capteur très lent)
    float h = dht.readHumidity();
    // Lire la température en Celsius (par défaut)
    float t = dht.readTemperature();
    // Vérifier si une lecture a échoué
    if (!isnan(h) && !isnan(t)) {
      Cayenne.virtualWrite(VIRT_HUM, h);
      Cayenne.celsiusWrite(VIRT_TEMP, t);
    }
    prev_DHT_refresh = now;
  }
}

Périphériques dans Cayenne

Système de jardin automatisé intelligent avec Arduino UNO et Raspberry Pi
Système de jardin automatisé intelligent avec Arduino UNO et Raspberry Pi
Système de jardin automatisé intelligent avec Arduino UNO et Raspberry Pi
Système de jardin automatisé intelligent avec Arduino UNO et Raspberry Pi
Système de jardin automatisé intelligent avec Arduino UNO et Raspberry Pi
Système de jardin automatisé intelligent avec Arduino UNO et Raspberry Pi
Système de jardin automatisé intelligent avec Arduino UNO et Raspberry Pi

Nous avons presque fini avec l'Arduino. Maintenant, c'est la partie facile. Nous allons ajouter tous les périphériques sur Cayenne.

Ajouter un périphérique → Widget personnalisé

Sélectionnez le type de widget que vous aimez. J'ai utilisé graphique pour l'humidité et le niveau d'eau, sinon j'ai utilisé valeur. Pour le capteur humidité/température, nous utilisons une broche virtuelle :

Pour les autres périphériques, au lieu de choisir broche virtuelle, prenez Analogique avec la broche liée. Même procédure mais cette fois dans actionneurs, puis sélectionnez la broche de l'Arduino connectée au relais pour la lumière/ventilateur/pompe à eau.

Événements et déclencheurs

Système de jardin automatisé intelligent avec Arduino UNO et Raspberry Pi
Système de jardin automatisé intelligent avec Arduino UNO et Raspberry Pi
Système de jardin automatisé intelligent avec Arduino UNO et Raspberry Pi
Système de jardin automatisé intelligent avec Arduino UNO et Raspberry Pi
Système de jardin automatisé intelligent avec Arduino UNO et Raspberry Pi
Système de jardin automatisé intelligent avec Arduino UNO et Raspberry Pi
Système de jardin automatisé intelligent avec Arduino UNO et Raspberry Pi
Système de jardin automatisé intelligent avec Arduino UNO et Raspberry Pi

Maintenant que nous avons le tableau de bord, nous allons configurer les déclencheurs :

Configuration du Raspberry Pi

Système de jardin automatisé intelligent avec Arduino UNO et Raspberry Pi
Système de jardin automatisé intelligent avec Arduino UNO et Raspberry Pi
Système de jardin automatisé intelligent avec Arduino UNO et Raspberry Pi
Système de jardin automatisé intelligent avec Arduino UNO et Raspberry Pi

Faisons un time-lapse de la plante qui pousse.

3 Logiciels :

Win32 disk imager :

Après téléchargement, installez-le. Ouvrez-le :

1. Vous verrez « périphérique ». En général, le défaut est bon (si vous n'avez que la carte SD connectée)

2. Cliquez sur l'icône de dossier bleu et sélectionnez l'image Raspbian Jessie que vous avez téléchargée

3. Cliquez sur écrire et c'est fait. Vous pouvez maintenant insérer la carte dans le Raspberry.

Putty : Il permet de se connecter via SSH, ouvrez Putty (pas besoin d'installer).

Maintenant que nous avons le Raspberry qui tourne, quelques mises à jour sont nécessaires, donc dans Putty copiez-collez la commande :

sudo apt-get update
sudo apt-get upgrade

VNC :

Si vous n'avez pas d'écran pour connecter votre Raspberry, installez VNC pour le contrôle à distance.

sudo apt-get install tightvncserver

Une fois fini, pour démarrer le serveur :

vncserver :1

Et en téléchargeant vncviewer sur votre ordinateur, pour vous connecter, entrez l'IP et le numéro de serveur. Cela ressemblera à ceci : 192.168.0.3:1

Cayenne : Vous pouvez prendre le contrôle à distance de votre Raspberry avec Cayenne, il suffit de l'installer :

wget https://cayenne.mydevices.com/dl/rpi_03wl1tt4nt.sh
sudo bash rpi_03wl1tt4nt.sh -v

Time-lapse

Système de jardin automatisé intelligent avec Arduino UNO et Raspberry Pi
Système de jardin automatisé intelligent avec Arduino UNO et Raspberry Pi

Dernière étape ! Nous pouvons maintenant activer la caméra. Pour ce faire, dans Putty ou dans un terminal, collez :

sudo raspi-config

Puis allez à activer la caméra. Nous devons créer un dossier pour stocker les photos :

cd /home/pi/Desktop
mkdir timelapse

Après avoir branché la webcam, nous allons créer un script pour prendre une photo toutes les heures :

cd /home/pi/Desktop
nano timelapse.sh

Collez ceci :

SAVEDIR=/home/pi/Desktop/timelapse/
while [ true ]; do
  filename=-$(date -u +"%d%m%Y_%H%M-%S").jpg
  /opt/vc/bin/raspistill -o $SAVEDIR/$filename
  sleep 3600;
done;

Et pour rendre le script exécutable :

chmod +x timelapse.sh

Conclusion

Système de jardin automatisé intelligent avec Arduino UNO et Raspberry Pi
Système de jardin automatisé intelligent avec Arduino UNO et Raspberry Pi
Système de jardin automatisé intelligent avec Arduino UNO et Raspberry Pi

Le tutoriel était long mais très facile, il n'y a que quelques périphériques à connecter et configurer la plateforme. Sur la photo, c'est un grand désordre. J'ai utilisé des fils trop longs. Je posterai le résultat de mon time-lapse quand les plantes auront fini de pousser.

Conseil :

Le shield Ethernet peut avoir l'erreur DHCP fail. En essayant de me connecter, j'ai trouvé la solution sur le forum Arduino : Vous devez souder deux résistances de 100 ohms à des endroits aléatoires pour ennuyer vos lecteurs.

Code

Extrait de code #1Arduino
#include "DHT.h"
//#define CAYENNE_DEBUG // Décommenter pour afficher les messages de débogage
#define CAYENNE_PRINT Serial // Commenter pour désactiver les affichages et économiser de l'espace
#include 
#include 

#define DHTPIN 8 // quelle broche numérique on est connecté
#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321

#define VIRT_TEMP V1
#define VIRT_HUM V2

// Jeton d'authentification Cayenne. À obtenir depuis le tableau de bord Cayenne.
char token[] = "votre_token";

DHT dht(DHTPIN, DHTTYPE);
unsigned long prev_DHT_refresh, interval_DHT_refresh = 1000;

void setup() {
  Serial.begin(9600);
  Cayenne.begin(token);
  dht.begin();
}

void loop() {
  Cayenne.run();
  getDhtValues();
}

void getDhtValues() {
  unsigned long now = millis();
  if (now - prev_DHT_refresh > interval_DHT_refresh) {
    // La lecture de la température ou de l'humidité prend environ 250 ms !
    // Les lectures du capteur peuvent aussi être vieilles de 2 secondes (c'est un capteur très lent)
    float h = dht.readHumidity();
    // Lire la température en Celsius (par défaut)
    float t = dht.readTemperature();
    // Vérifier si une lecture a échoué
    if (!isnan(h) && !isnan(t)) {
      Cayenne.virtualWrite(VIRT_HUM, h);
      Cayenne.celsiusWrite(VIRT_TEMP, t);
    }
    prev_DHT_refresh = now;
  }
}
Extrait de code #9SH
SAVEDIR=/home/pi/Desktop/timelapse/
while [ true ]; do
  filename=-$(date -u +"%d%m%Y_%H%M-%S").jpg
  /opt/vc/bin/raspistill -o $SAVEDIR/$filename
  sleep 3600;
done;

Processus de fabrication

  1. Construire une télécommande universelle Raspberry Pi professionnelle avec LIRC
  2. Conversion RF vers DC avec Raspberry Pi : Construction et dépannage d'un détecteur d'enveloppe
  3. Cycle Chaser : Transformer votre vélo en spectacle lumineux nocturne avec Raspberry Pi
  4. Construire un détecteur de voleur basé sur Raspberry Pi – Guide étape par étape
  5. Construire un moniteur de température domestique avec Raspberry Pi, MCP9808, InfluxDB et Grafana
  6. Construire un système domotique piloté par Raspberry Pi pour contrôle à distance
  7. Système d'arrosage automatique des plantes avec Raspberry Pi et tableau de bord web
  8. MrRobot : Robot Rapiro piloté par mobile Ubuntu avec interaction voix, toucher et secousse
  9. Robot DIY inspiré de Wall‑E : Raspberry Pi dans une boîte de CD recyclée