Salut Laurent, salut tout le monde!
Bon alors, si notre "libraireur" se lance dans la météo, allons-y, soyons fous!
Mon idée était la suivante:
1.Déterminer si le jour est nuageux ou pas, en prenant en compte les saisons (moins de nuages en été en général).
2.Déterminer dans le cas d'un jour nuageux, si on a un ciel couvert, très couvert, ou seulement voilé.
3.Simuler les nuageux en fonction des 2 paramètres précédents.
Le tout génère un coefficient que l'on applique aux sortie PWM. Dans mon cas, je voulais que les nuages arrivent d'un côté du bac et partent à l'opposé.
A l'époque, je me souviens que tout était fait mais j'avais eu un gros coup de flemme et je n'avais pas intégré les fonctions à mon code.
Pour la première fonction, c'est ici:
bool JourNuageux()
{
float chanceDePluie;
if (jourDeLannee < 183)
{
chanceDePluie = 80.0 / (1.0 + exp(-(13.0/250.0)*(91.0 - jourDeLannee)))+ 10;
}
else
{
chanceDePluie = 80.0/(1.0 + exp((-(13.0/250.0)*(jourDeLannee - 271.0))))+10;
}
if(chanceDePluie > random(0,100))
{
return 1; //Jour Nuageux
}
else
{
return 0; //Jour Ensoleillé
}
}
Ce qui donne ça:
On vois bien que le ciel est plus nuageux en hiver/automne. Et en plus, on peut ajuster comme on veux!
Pour déterminer si le ciel est couvert, très couvert, voilé, il suffit de récupérer la valeur de la variable "chancedepluie" que l'on pourrait utiliser en pourcentage de nuages.
Pour la simulation des nuages, je dois retrouver mon code mais ça donnait ça sur 8 bits, il suffit de multiplier par 4 pour passer en 14 bits: