Gestion Aquarium

Bonjour,

Je suis sur un projet d'un automate pour aquarium.
Jusqu'ici, ls parties éclairage, lune, osmolation, temperature sont finis.

Je souhaite ajouter une fonctionnalité intéressante qui serait de synchroniser l’éclairage avec les vrais heures de lever et coucher du soleil.
Je ne vois pas comment m'y prendre pour stocker un tel calendrier.

Pouvez vous m'orienter sur ce sujet ?

Merci d'avance.

Bonsoir

Mettre une photocelule serais plus simple non ?
Cordialement

héhé, pas con mais non.

Souvent, tu laisses ton aquarium le soir pour le voir car la journée tu travailles...
Donc si le soleil se lève à 6h en réel, il faut pouvoir décaler la journée avec un lever de soleil à 12h.
D'ou un stockage des éphémérides.

il faudrait stocker un truc du genre:

01/01/2011 6h20 17h23
02/01/2011 6h22 17h24
etc...

stocker et lire pour récupérer les valeurs du jour
La question est comment stocker ça ?

Ben... une cellule photoélectrique et tu retardes les actions de 6 heures avec la fonction millis, comme ça pas de calcul compliqués pour l'éphéméride et pas de stockage dans une bdd.

Bonjour

Les heures de lever et coucher du soleil peuvent etre calculées pour une latitude et une longitude données.
voir par exemple les sites
http://obswww.unige.ch/Questions_Reponses/R98.html
http://jean-paul.cornec.pagesperso-orange.fr/heures_lc.htm

@Jean-François: Impossible pour la cellule, ma batterie d'aquarium est dans le sous sol, donc pas de lumière extérieure.
@MM38: je regarde tout ça dans l'aprem.

Merci pour vos réponses.

Tu devrais faire une recherche sur le forum (sur l'ancien aussi). Le sujet a déjà été abordé aussi bien sur le forum français que sur celui en langue anglaise.

@fdufnew: Merci !


donc, j'ai trouvé 2 librairies interessantes.

TimeLord permet pas mal de chose (calcul phase lune, etc..) mais pour ce qui concerne le lever et coucher elle retourne 1 ou 0 si le soleil est levé ou couché. Mais aucune heure de lever ou coucher.

SunRise retourne l'heure de lever et coucher mais les résultats me semblent faux.

voici comment je procède:

#include <Sunrise.h>

int jour = 21;
int mois = 4;
int annee = 11;
int fuseau_horaire = +1;
float latitude = 48.083333;
float longitude = -1.683333;

Sunrise soleil(latitude, longitude, fuseau_horaire);

void setup(){
  Serial.begin(9600);
  soleil.Actual(); //Actual, Civil, Nautical, Astronomical
}

void loop(){
  
  byte h,m;
  int t;
  
  // Lever
  t = soleil.Rise(jour, mois);
  if(t >= 0){
    h = soleil.Hour();
    m = soleil.Minute();
    Serial.print(h, DEC);
    Serial.print(":");
    if(m<10) Serial.print("0");
    Serial.print(m,DEC);
    Serial.print(" - ");
  }

  // Coucher
  t = soleil.Set(jour ,mois);
  if( t >= 0){
    h = soleil.Hour();
    m = soleil.Minute();
    Serial.print(h, DEC);
    Serial.print(":");
    if(m<10) Serial.print("0");
    Serial.println(m,DEC);
  }

  delay(2000);
}

les résultats sont:

6:26 - 19:46

Si on se réfère à un site de météo : site:Worldmeteo.info . - Google Search
Je devrais avoir 7:07 - 21:05

Le décallage est énorme, j'ai remarqué qu'il n'était pas nécessaire d'indiquer l'année, et je pense que l'année est importante.
Mes coordonnées géographique ne sont pas les même que le site de météo car je connais leurs coordonnées mais bon, la différence est trop importante.

Avez vous une idée ?

Merci.

Bonjour Collègue

Juste en passant, pourquoi veux tu simuler des levers/coucher variable en fonction de la réalité locale ?

Que maintiens tu comme espèce qui vive sous des latitudes où les temps d’éclairage soient variables en fonction de la saison ?

Curiosité, car la plupart des aquariophiles dont je fais parti, maintiennent des espèces tropicales où les plages jour/nuit sont constantes (12h/12h). Certes, le cycle lunaire peut être intéressant, pour les cycles de reproduction, mais hormis cela… Je pense que ce ne serait pas un bien pour les animaux.

Amicalement,
Franck

Hey Bubule.

Je cherche a réaliser un cycle le plus fidèle possible, pour le fun et non pour la reproduction.
Mon objectif, pourvoir synchroniser mon bac avec un point géographique de la planète

Eclairage variable suivant les durées d'ensoleillement
Lune variable suivant heure de lever et coucher et phase
Température variable suivant les saisons
Etc...


Je ne suis pas d'accord avec toi sur le fait que ce ne serait pas un bien pour les animaux.
Dans la nature les cycles ne sot pas constant avec du 12h/12h
Sachant que le temps d'ensoleillement est a peine différent d'un jour à l'autre, cela ne posera aucun problème à nos chers petits poissons, ni a nos chères petites plantes.
Mais inutile pour le bien être d'un aquarium..., ça c'est sur ! ^^

Pour la lune, le problème est encore différent.
La seul chose importante est de laisser un éclairage minimum afin que les parents surveillent correctement leurs alevins.
Donc phase ou pas phase... peu importe.
Cela peu surement déclencher une ponte..., mais j'en doute fortement.

Pour le chauffage, on est certains que la température des eaux en hivers et en été est différente.
Donc si on veut une moyenne à 28°
janvier 27,5°
juin 28°
septembre 28,5°
décembre 28°
Le duomat deluxe de chez Dennerle a cette fonctionnalité.


Bon je suis toujours sur mon décalage, rrr !

Pour info, c'est pour mon bac à discus et je double mon boitier pour récifal.

Voilou...

Je pourrais également utiliser un client web pour récupérer un XML sur le net avec la météo d'un lieu choisi.

Soleil, Lune, Température, Nuages, etc...

Mais si ma connexion internet plante ou l'api de météo plante, c'est la memerde...
Donc, non pas cette solution là.

Si la panne ne dure qu'un jour tu mets par défaut les valeurs du jours d'avant + 1 ou 2 minutes.

@Jean-François: j'y avais pensé... mais si la panne dure plus longtemps... il faut bien réfléchir au schmilblick...

L'idée de connecter l'aquarium à une base météo est pas mal comme idée...
Il faudra que j'ajoute un CPL du coup...

Existe t'il une librairie pour arduino qui parse les XML ?
Je demande au cas où avant de me lancer dans des recherches...

Je creuse ça ce soir... si vous avez d'autres idées....

Merci pour vos réponses, c'est bien cool ^^

Il faut malgré tout que tu codes un mode par défaut en cas de panne, ensuite, à toi d'estimer combien de temps peut durer une panne... et à partir de quand tu en sera mis au courant, à ce moment tu peux choisir de basculer le système sur un mode manuel ou automatique basé sur une autre source d'info.

@Jean-François: oui, je pense avoir bien compris le truc... Le hic, c'est le CPL, je doute qu'il aime le nombre d'appareils branchés sur la prise !

Je réfléchi...

CPL ?

Sur un API, je vais récupérer au maximum les informations suivantes:

  • heure lever soleil
  • heure coucher soleil
  • heure lever lune
  • heure coucher lune
  • phase lune
  • couverture nuageuse

les autres paramètres sont inutiles (température extérieure, pression atmosphérique, etc...)

je suis obligé de calculer des paramètres qui ne seront pas fournis par l'API, comme par exemple l'angle du soleil afin de faire un allumage progressif des leds ou des différentes rampes de néons et HQI.

A savoir que les paramètres de l'api sont calculable avec la longitude et la latitude, prk faire une connexion internet si c'est pour recalculer derrière, seul la couverture nuageuse n'est pas calculable, mais je peux la remplacer avec une fonction aléatoire (jour sans nuage, avec peu de nuage, etc... avec de l'aléatoire d'ans tous les sens...)

Hummm, je me tâte..., c'est pas la même chose entre de l'aléatoire et du réel.

C'est vraiment du tuning de bac ^^ j'adore !

@Jean-François: CPL -> Courant porteur en ligne.

En gros, tu branches ton ethernet sur une prise que tu branches sur une prise 220V, idem du coté de ton modem, et tu as un réseau via ton circuit électrique de ta maison ^^. Plus rapide que du wifi et peu de cable. Par contre, les CPL n'aiment pas les multi-prises et généralement sur un aquarium tu as bcp de prises.
Sur la version actuel de mon programme, j'ai 16 relais, 4 sondes. Même si tout est branché sur les relais, je doute que le CPL aime ça.

Plus d'info: Courants porteurs en ligne — Wikipédia

De toute façon, je vais passer par la car la config du programme se fait via une interface web. Etant développeur web, j'en profite pour me faire plaisir avec une interface bien ficelé et des graphs dans tous les sens pour les historiques ^^

Merci pour ces précisions.