PROJET TERRARIUM POUR DENDROBATES

Bonjour ,

je souhaite réaliser un petit gestionnaire d’ environnement pour mon future terrarium dédier a des Dendrobate ( petite grenouille tropicale)

Le cahier des charges :
Faire un automate de gestion de terrarium tropicale avec Gestion de :
l’ éclairage
la température diurne et nocturne
l’ hygrométrie avec commande d’une pompe de brumisation

gérer le niveau des réservoirs d’eau de brumisation et de drainage d’ excédant .

ci dessous le détail du matériel que j’ai acheter :

  • 1 Carte Arduino UNO
    -1 Module Grove Base Shield SLD01099P( je suis un peu féniant pour les soudure lol)
    -1 Horloge temps réel Grove SEN12671P
    -1 Capteur d’humidité et de T° Grove SEN51035P
    -1 Afficheur LCD I2C Grove
    -des Floteurs pour les niveau

pour la partie commande 230V je pensais commander des Optocoupleur avec de triac

voila pour commencer

bonsoir "On" ne devrait pas tarder à voir Heloderma-kris pointer le bout de son nez :grin: en attendant regarde ce topic

beau projet que je vais suivre avec intéret !
he oui quand ça parle reptile ou amphibien je pointe le bou de mon nez :grin:

Artouste: bonsoir "On" ne devrait pas tarder à voir Heloderma-kris pointer le bout de son nez :grin: en attendant regarde ce topic

je viens de voir ce topic , sa donne envie quand même!!

Heloderma-kris tu toujours des resete du pross même avec tes filtres RC ?

non plus de probléme ! les snuber on corrigé le souci. il faut que je refasse des video car le systeme a encor evoluer .

pouquoi des opto coupleur est des triac as tu l'intention de faire des régulation en PID ? car sinon une carte a relay pour géré du on off est impécable.

Non je ne pense pas faire de régulation PID. Je voudrai utilisé une carte électronique(une carte d’extension d' un automate pour aquarium) que je possède déja avec une petite adaptation a voir ,cette carte dispose de 5 transistors PNP + 5 optocoupleurs + 5 Triac.

Après un ans d’arrêt je me remet sur mon projet
Le début de mon code faut que je me replonge dedans car de souvenir j’ avais quelque bug

// --- Inclusion des librairies ---
#include <MenuBackend.h>
#include <Wire.h>// Inclusion de la librairie pour bus I2c 
#include <DS1307.h>//Inclusion de la librairie pour RTC circuit timer
DS1307 clock;


#include <rgb_lcd.h>// Inclusion de la librairie pour afficheur LCD
#include "DHT.h"// Inclusion de la librairie pour capteur Temperature et hygrometrie
#define DHTPIN A0     // définie l entree du capteur T et H
#define DHTTYPE DHT22   //définie le type du capteur  DHT 22  (AM2302)
DHT dht(DHTPIN, DHTTYPE);
rgb_lcd lcd;

// --- Déclaration des constantes des broches E/S numériques ---

const int BP1=2;// Constante pour la broche 2 bouton bp1
const int BP2=3;// Constante pour la broche 3 bouton bp2
const int BP3=4;// Constante pour la broche 4 bouton bp3
const int S1=6;// Constante pour la broche 6  Sortie chauffage
const int S2=7;// Constante pour la broche 7  Sortie Brumisation



void setup()   
{
  // Initialisation de l' Horloge
  clock.begin();
  // Initialisation du Capteur Temperature et Hygrometrie
  dht.begin();
  
  // Initialisation de l'afficheur LCD 
  lcd.begin(16,2);
  delay(10); 
  lcd.print("LCD OK");
  delay (1000);
  lcd.clear();
  // ------- Broches en entrées numériques -------  
  pinMode (BP1,INPUT_PULLUP); // Broche BP1 configurée en entrée
  pinMode (BP2,INPUT_PULLUP); // Broche BP2 configurée en entrée
  pinMode (BP3,INPUT_PULLUP); // Broche BP3 configurée en entrée
  digitalWrite (BP1,HIGH); // Rappel au + activé sur la broche BP1 configurée en entrée
  digitalWrite (BP2,HIGH); // Rappel au + activé sur la broche BP2 configurée en entrée
  digitalWrite (BP3,HIGH); // Rappel au + activé sur la broche BP3 configurée en entrée
  // ------- Broches en sorties numériques -------  
   pinMode (S1,OUTPUT); // Broche S1 configurée en Sortie
   pinMode (S2,OUTPUT); // Broche S2 configurée en Sortie
  
  } // fin de la fonction setup()
  void loop() 
{
  

} 

  // -------Fonction du programme -------  
 void affich() //Fonction affichage température et Humidité
 { 
    float h = dht.readHumidity();
    float t = dht.readTemperature();
  if (isnan(t) || isnan(h)) 
    {
        lcd.println("Failed to read from DHT");
    } 
    else 
    {
       lcd.setCursor(0, 0);  
      lcd.print("Hum:"); 
        lcd.print(h);
        lcd.print("%");
      lcd.setCursor(9,0);
        lcd.print("T:"); 
        lcd.print(t);
        lcd.println("C");
                  
 }
 }
 void Chauf()//Fonction Gestion du chauffage
{
    float t = dht.readTemperature();
  if (( ( t ) <= ( 25 ) ))// si la temperature inferieur à 25° 
{
digitalWrite( S1, HIGH );//Sortie S1 activé
}
else
{
digitalWrite( S1, LOW );//Sinon S1 desactivé
}
}