Go Down

Topic: [résolu] Calcul temps (Read 4 times) previous topic - next topic

Stef84

Quote
Tes "cuisses" ne vont pas se mettre à hurler parce que la brumisation aura debutée à 12H32.07  au lieu de 12H31.47  smiley-cool , ce qui est important c'est la constance.


Non pas de soucis, mais comme la brumi ne doit pas dépasser 20s, j ai gérer çà en secondes et pas minutes

Quote
après je ne saisie toujours pas ce qu'est le vrai problème..?
deux brumisation ne ce font pas c'est ça?

en fait non, les 2 brumisations (1ère/dernière) définis sur des long rentrés manuellement ne posent pas de problème
ce sont celles que j'essaie de définir par des calculs qui ne fonctionnent pas

en fait ce morceaux là:
je souhaite sur 11h15 faire 5 pulvérisations
11h15 / 5 = environ toutes les 2h20 une pulvérisation
1 ère pulverisation : 8h15
la suivante : 8h15 + 2h20
la suivante = la suivante + 2 h20


skizoh

okok, tu peut nous mettre tout le code qui plante qu'on y jete un oeuil =)

Skizo!
Un tien vaux mieux que deux tu l'auras !

Artouste

#17
May 09, 2012, 12:25 pm Last Edit: May 09, 2012, 12:37 pm by Artouste Reason: 1

Quote
Tes "cuisses" ne vont pas se mettre à hurler parce que la brumisation aura debutée à 12H32.07  au lieu de 12H31.47  smiley-cool , ce qui est important c'est la constance.


Non pas de soucis, mais comme la brumi ne doit pas dépasser 20s, j ai gérer çà en secondes et pas minutes

Quote
après je ne saisie toujours pas ce qu'est le vrai problème..?
deux brumisation ne ce font pas c'est ça?

en fait non, les 2 brumisations (1ère/dernière) définis sur des long rentrés manuellement ne posent pas de problème
ce sont celles que j'essaie de définir par des calculs qui ne fonctionnent pas

en fait ce morceaux là:
je souhaite sur 11h15 faire 5 pulvérisations
11h15 / 5 = environ toutes les 2h20 une pulvérisation
1 ère pulverisation : 8h15
la suivante : 8h15 + 2h20
la suivante = la suivante + 2 h20




alors travaille en minute relative depuis minuit
tu a 1440 minutes par jour
8H15= minute 495 (brumisation N° 0, la premiere)
2H20=140 minutes
les 4 (ou x) brumisations suivantes
interviendront à la minute
brume[ib]=495+(140*ib)

etc
ne reste qu'à reconstituer ça en heure pour comparer avec le ds1307
heurebrume (un entier) =brume[ib]/60  (division)
minutebrume (un entier)= brume[ib] % 60  (modulo)

intuitivement je travaillerais avec un tableau des minutes de brumisation :  brume[ib]
où ib est le numero (l'indice) de brumisation pour une journée (entre 0 et 4 pour 5 brumisations)


fdufnews

Y'a un truc que je comprends pas.
Tu as une horloge temps réel qui te donne des heures, minutes, secondes et tu t'embêtes à faire des calculs tordues avec des long sur des heures converties en minutes sur une journée. Serais-tu un pervers qui s'ignore?
Pourquoi ne pas travailler directement avec les heures et minutes pour le déclenchement des brumisations et utiliser le compte des secondes pour arrêter les brumisateurs?
Eventuellement, si tu es perfectionniste, créer un classe qui te permette de faire de l'arithmétique en heure,minute,seconde.

Stef84

#19
May 09, 2012, 01:49 pm Last Edit: May 09, 2012, 02:08 pm by Stef84 Reason: 1
Quote
tu t'embêtes à faire des calculs tordues ... Serais-tu un pervers qui s'ignore?


Tu viens de le dire, je suis tordu  XD

et peut être pervers aussi  XD

Question idiote, vous appelez quoi une classe ? (un void temps() par exemple)

Quote
Pourquoi ne pas travailler directement avec les heures et minutes pour le déclenchement des brumisations et utiliser le compte des secondes pour arrêter les brumisateurs?


je souhaite paramétrer à travers mon écran TFT :

l heure et date du jour (fait) sous forme  8 h 15   1  (<---jour semaine)    12/12/2012
L heure d'allumage/extinction des feux sous forme 8 h 15

à faire par terra :

consigne de température :
delta  
t°  nuit
T° jour

brumisation :
Nbre de brumi période sèche
Nbre de brumi période pluie
mois période sèche
mois période pluie

et avec çà, je faits mes calculs (pervers  ;) ) pour essayer d obtenir ce que je souhaite et çà doit coincer lorsque je faits :
(heure de fin-heure de début)/nbre de brumisation =X ,   X me donne l'écart entre chaque brumisation

je ne dirais pas perfectionniste mais plutôt ne pas avoir à rebrancher l'ordinateur à chaque fois, bon d accord j'admets un pervers perfectionniste tordu, je l assume, je suis comme çà aussi au boulot et çà complique énormément les choses car personne ne suit  ;)

est ce que l on peut convertir un INT en LONG, car au niveau de la modification à travers l'écran comment je peux gérer le L avec un LONG=xxL
Il faut que je passe par :
int essai=5;
long=(essai)L
?



Go Up