Go Down

Topic: gestion aquarium recifal allumage progressif (Read 9598 times) previous topic - next topic

Artouste


Bonjour

il s'agit d'un ventilo 6cm 2 pole 12v dc 7w.
Je ne comprend pas trop pourquoi sa te questionne temps que sa.
mon driver dit "driver led" sert a faire varier mon 12v en fonction de ma sorti pwm 5v de mon arduino.
Que se soit des led ou un ventilo, le driver ne feras pas la différence et délivreras le courant demander non ?

bonsoir
perso ça ne me questionne pas plus que ça  :smiley-mr-green: , ce n'est pas mon materiel   8)

fais donc un simple test avec ton driver, ton ventilo et ton driver
commande ce dernier en PWM arduino , fais des test en injectant de la PWM par palier de 5 ou 10 et regarde le comportement de ton ventilo
et si cela fonctionne bien et que cela te convient alors c'est tout bon pour integrer ça dans ton appli.

djbouns

Bonsoir
au paravent javait 5 ventilo brancher sur 5 driver qui controlait des led selon les heures (les 10w + ventilos) et sa fonctionait correctement.
il n'y a donc plus de raison que sa ne marche plus.
la seul difference la est que je ne veut que le ventilot soit proportionel a la temperature et plus un alumage selon l'heure.
peut tu me donner une parti du code a adapter stp

seth1er

slt a tous,

dsl je remonte un peu le topic car le sujet m'interesse.
je voulais prendre des nouvelles de djbouns pour savoir si il avait terminé son programme et lui posé quelque question:

la dernière version du programme que tu as posté fonctionne t'elle chez toi? je viens de le lire et il ne devrait pas fonctionné, il y a quelque erreur de signe comme par ex:

else if ((heure <= 21) && (heure > 8 )){
analogWrite(rouge, 0);

ca ne peut pas marché.

je pense que tu as du te trompé et pas collé la dernieres version de ton programme.

tu t'en es sortie avec la gestion de tes ventilateurs?

cdt,

AlienArea51

Salut @ tous
Bubule va peut-être vous être utile dans vos questions , je l'ai contacté .
@+
Will

The truth is elsewhere !!

djbouns

bonjour,

le dernier code que j'utilisait etait :

Code: [Select]
#include "LiquidCrystal.h"
#include "Arduino.h"
#include "Wire.h"
#include "DS1307.h"

LiquidCrystal lcd(7, 2, 3, 4, 5, 6);
int pompe = 8;
int soleil = 9;
int ventilateur = 10;
int rampeled = 11;
int led = 12;
int niveau = 13;

int valeurPWM=0;

int minut;
int heure;
int seconde;
int time;

float sensorPin;
float temp;
float temp1;
float Vact = 0;  // variable valeur instantanée
int Fd=20; // facteur de division de la moyenne = moyenne toutes les FD boucles ici 20
long Accm=0; // accumulateur pour moyenne
int Nbcl=0; // compteur de boucles
float vitventilo;
int off;
int printvitvent;

void setup() {
 
  lcd.begin(16,2);
Serial.begin(9600);

  pinMode(pompe, OUTPUT); 
  pinMode(ventilateur, OUTPUT); 
  pinMode(soleil, OUTPUT); 
  pinMode(led, OUTPUT); 
  pinMode(rampeled, OUTPUT);
  pinMode(niveau, INPUT);
}
 
 
  void loop(){
 
sensorPin = analogRead(0);
Vact = ((sensorPin*0.5)+1.5)*100 ;
Accm=Accm+Vact;
Nbcl ++;

if (Nbcl == Fd) {
  temp1 = (Accm / Fd) ;
  temp = temp1/100;
  Accm= Accm-(Accm/20) ;
  Nbcl= 19;
  }   
else{
   temp = (Accm / Nbcl) ;
   temp = temp/100;   
   }

//Récupération de l'heure du DS1307**********************************************************************************************
  heure = RTC.get(DS1307_HR,true); 
  minut = RTC.get(DS1307_MIN,true);
  seconde = RTC.get(DS1307_SEC,true);
  time = (heure * 100) + minut;
 
//Affichage ******************************************************************************************
lcd.clear();
lcd.setCursor(0,0);
   lcd.print ("  AQUA GESTION  ");
   lcd.setCursor(0,1);
   lcd.print("     ");
  if (heure < 10)
  {
    lcd.print("0");
  }
  lcd.print(heure);
  lcd.print("H");
  if (minut < 10)
  {
    lcd.print("0");
  }
  lcd.print(minut);
lcd.print("      ");
  delay (5000);
lcd.setCursor(0,1);
lcd.print("     ");
  lcd.print(temp);
  lcd.print((char)223);
  lcd.print("     ");
  delay (5000);


//*****Controle des sorties eclairage *********
//***on-off***** soleil ***
 
if ((time >= 930) && (time < 1020)){
    valeurPWM = map(time, 930, 1019, 0, 255);
    analogWrite (soleil, valeurPWM);
lcd.setCursor(0,1);
    lcd.print(" + + soleil + + ");
    delay(5000);
  }
else if ((time >= 2230) && (time < 2300)){ 
   valeurPWM = map(time, 2230, 2259, 255, 0);
    analogWrite (soleil, valeurPWM);
lcd.setCursor(0,1);
    lcd.print(" - - soleil - - ");
    delay(5000);
  }   
  else if ((time >= 1020 ) && (time < 2230)) {
    analogWrite(soleil, 255);
  }
else {
    analogWrite(soleil, 0);
      lcd.setCursor(0,1);
    lcd.print("   BONNE NUIT   ");
    delay(5000);
}


//***on-off*****led 1w***
     if((time >= 1030) && (time < 2225)){
    digitalWrite(led, HIGH);
   }
  else{
    digitalWrite(led, LOW);
   }
   

//***on-off***** ventilateur  ***

lcd.setCursor(0,0);
lcd.print("     ");
  lcd.print(temp);
  lcd.print((char)223);
  lcd.print("     ");

if (temp1 > 2725){
  temp1 = 2725;
}

if (temp1 < 2676){
  temp1 = 2625;
}

vitventilo = map(temp1,2625,2725, 0, 255);
analogWrite (ventilateur, vitventilo);
  lcd.setCursor(0,1);
    lcd.print("ventilateur ");
        off = ((vitventilo*100)/255);
    if (off == 0){
    lcd.print(" OFF");
    delay(5000);
    }
   
    else {
    printvitvent = ((vitventilo*100)/255);
    lcd.print(printvitvent);
    lcd.print("% ");
    delay(5000);
    }

//***on-off***** pompe ***
if (digitalRead (niveau) == HIGH)
{
   lcd.setCursor(0,1);
    lcd.print("niveau d'eau BAS");
    delay(5000);
if ((time >= 800) && (time <= 2359)){
if ((minut % 10)== 0) {
   delay (35000);
     lcd.setCursor(0,1);
    lcd.print("  ajout  d'eau  ");
    digitalWrite(pompe, HIGH);
    delay (4500);
    digitalWrite(pompe, LOW);
   
}
}
}
else if (digitalRead (niveau) == LOW){
      lcd.setCursor(0,1);
    lcd.print("niveau d'eau  OK");
    delay(5000);
}

}

djbouns

tout fonctionnait correctement.
depuis, j'ai déménager et j'en est profiter pour agrandir mon bac.
du coup, pour le moment, j'ai un arduino pour faire l'osmolation, un pour mes pompe doseuse et un autre pour la gestion provisoire de mon éclairage.

seth1er

Merci pour ta réponse, je vais regardé ca en détail,
en tout cas, merci pour ton post qui aide bien

bonne continuation

Go Up