Projet mega 2560 v3 aquarium avec ds3132 , ds18b20 et ws2812b

bonjour
encore une question de débutant (he oui, je suis un débutant et j'essaye d'apprendre).

#ifdef ESP8266
// esp8266 / NodeMCU software serial ports
SoftwareSerial mySerial(D2, D1); // RX, TX
#else
//SoftwareSerial mySerial(15,14); // RX, TX
HardwareSerial mySerial(Serial2) ;
#endif
Nextion *next = Nextion::GetInstance(mySerial); // software serial
//Nextion *next = Nextion::GetInstance(mySerial); // HW serial

quand j'utilise le SoftwareSerial il y a communication avec mon nextion, mais quand j'utlise le HardwareSerial , rien....

je me suis planter quelque part??

Projet uno aquarium

Etant donné qu'une UNO n'a qu'un seul port (Serial), Serial2 n'existant pas, je ne vois rien d'anormal. Le code ne doit même pas se compiler.

bonjour
sur mon post #40 je précise que je viens de passer sur un mega2560 v3.
mais j'ai résolu mon soucis de port en cherchant et trouver finalement bêtement tellement c'etais simple.

#ifdef ESP8266
// esp8266 / NodeMCU software serial ports
SoftwareSerial mySerial(D2, D1); // RX, TX
#else
//SoftwareSerial mySerial(15,14); // RX, TX
//HardwareSerial mySerial(Serial3)  ;
#endif
Nextion *next = Nextion::GetInstance(Serial3); // software serial
//Nextion *next = Nextion::GetInstance(mySerial); // HW serial

par contre j'ai toujour un soucis de detection de page,je comprend pas pourquoi avant cela fonctionnais.

bonjour
tout fonctionne maintenant mais j'aime pas le rendu des couleurs.
faut que je trouve un moyen que ça colle entre la lumière de journée et les coucher soleil suivant l'heure.(avec des couleurs réaliste au possible.)
donc la partie calcul du kelvin rvb ne va pas.

bonjour,
du coup re-maniage du code pour la gestion des couleurs en cours.(passage en sk6812 prévue en RGBW pour que cela se rapproche le plus de la lumière du soleil)
il y aura deux mode, un automatique et un manuel.

mode automatique:
lever soleil :ok_hand:
coucher soleil :ok_hand:
mode nuit avec lune :ok_hand: manque plus cas rajouter/diminuer la lumières suivant la phase de la lune.

manuel:
Kelvin :ok_hand:
aménagements kelvin suivant l'heure matin/soir en cours (avant 8h et après 18h)

optimisation/correction et nettoyage du code a faire après que tout fonctionnera.

bonjour
j'aurai besoin d'aide pour comprendre une erreur car ça fonctionne et ce compile bien mais dans mon ide j'ai 2 erreur non stoppant.

// gestion led

#include <Adafruit_NeoPixel.h> // Library for the WS2812 Neopixel pixels
#ifdef __AVR__
#include <avr/power.h> // Required for 16 MHz Adafruit Trinket
#endif
#define NUM_LEDS 50
#define DATA_PIN 6 // Défini le pin de la bande pixels ws2812 DATA_PIN et 6
Adafruit_NeoPixel pixels(NUM_LEDS, DATA_PIN, NEO_GRB + NEO_KHZ800);
identificateur "NEO_KHZ800" non définiC/C++(20)
identificateur "NEO_GRB" non définiC/C++(20)

en reprenant le format standard ,c'est pareil , même message d'erreur

Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUM_LEDS, DATA_PIN, NEO_RGB + NEO_KHZ800);

bon je donne des nouvelles de l'avancement.
calcul heure lever/coucher soleil avec décalage de l'heure d'ete/hiver automatiquement => Ok
rajout du mode automatique/manuel des leds = en cours car j'ai des soucis de synchro entre l'arduino et le pc dés que je monitorise l'arduino.(je ne sait pas pourquoi).
lever soleil => Ok monter jusqu'a 6500 Kelvin pour maintien en journée
Coucher Soleil => Ok
nuit noir ou lumière bleu fine suivant phase de la lune =>en cours
passage en RGBW => modification a faire dans mon tableau des leds car gestion de la monter des led W à géré suivant l'heure.
si vous avez des idée je suis preneur, petit rappel c'est pour un aquarium eau froide pour axolotl avec plante.

bonjour
tout fonctionne comme prévu voici ce qui fonctionne pour l'instant.
le temps que je finisse l'autre projet sur RGBW qui apporterons des améliorations sur celui-ci:

  • affichage horaire temps réel.
  • affichage phase de la lune
  • affichage heure lever/coucher du soleil
  • affichage température en temps réel
  • allumage/extinction automatique du soleil suivant l'horaire du lieu et de la date.
  • allumage du mode lune suivant ça phase la nuit (si pas de lune pas de mode lune la nuit)
  • réglage de l'heure ainsi que de la date pour correction

en mode manuel :

  • affichage de la couleur de température Kelvin
  • réglage des température Kelvin pour chaque heure avec un mode dégrader(nuit avec lune) en dessous de 1000K et mode nuit en dessous de 400K

lien github du projet :

PS: le projet RGBW n'est pas public pour l'instant et utilise des SK6812 en bande. (60 led/m)

est ce que vous connaissez une librairie pour calculer l'heure du lever coucher de la lune.
qui est fonctionnelle sur un mega 2560 v3.
j'ai tenter une libraire de signetica moonrise.
mais j'ai du mal a avoir un résultat correcte avec .
il y a des truc qui fonctionne pas sur mega 2560.
exemple: rint(
obliger de rajouter dans le moonrise.cpp

#define rint(x) (double)lrint`(x)

sachant qu'avec cette modification la précision n'est pas au rdv.

Moon visible.

rise_time
Nearest moonrise:       1649741056
Nearest moonset:        1649775872
Nearest moonquery:      1649704704
19:::15:4:::5:24
65.47:297.33

ce qui fait pour le 11 04 2022 un coucher a 15h04 et un lever a 5h 24 ce qui est faux
05:40 14:34 voila les bonnes heures que j'aurai du obtenir, ce qui est un gros écart.

bonsoir
peut etre là

il y a un fork AVR cité

bonsoir
merci pour l'intérêt .
je viens de regarder et cela ne calcul que la phase de la lune suivant ça position ainsi que celle du soleil.
je croit pas que je pourrait pas en sortir une heure de lever et coucher.
j'utilise deja le solarcalculator de @JPB10 et il fonctionne a merveille, dommage qu'il ne l'a pas fait pour la lune ^^
je viens de tenter ephemeris aussi mais là conflit avec solarcalculator,mais même en corrigeant le conflit, le résultat est toujours a coté

bonsoir
petit aide SVP car je comprend pas.

    time_t t = myRTC.get();
    time_t tnow = now();
    Serial.println(String(ctime(&tnow)));
    Serial.println(String(ctime(&t)));
    Serial.println(String(year(t)));
    Serial.println(String(year(tnow)));

me donne ça ce qui n'est pas normal pour les deux premières données non?

Sat Jan 01 00:00:03 2000
Fri Apr 12 19:10:22 2052
2022
1970

je devrait obtenir ça ,je croit.

Jan 01 00:00:03 1970
Apr 12 19:10:22 2022

pourquoi j'ai un décalage de 30 ans?

bon je me repond a moi même ^^
d'apres ce que j'ai lu now() est sur 16 bit alors que ctime travaille sur 32 bit.
j'ai rien capter sur le format unix qu'il faut rajouter.
il y a une solution?

Bonjour,

now() est la date unix. Ce ne peut pas être un 16 bits. C'est un type time_t qui est un unsigned long.
Par contre pour l'utiliser il faut que la date/heure ait été initialisée avec setTime()

donc si je comprend bien ,pour utiliser ctime :

    time_t t = myRTC.get();
    setTime(t) ;
    Serial.println(String(ctime(&t)));

je devrai retrouver ma date avec ctime?

The quick answer is that the Moon moves too quickly to be able to calculate its position accurately with Arduino (i.e. it requires too many significant digits).

La Lune se déplace trop rapidement pour pouvoir calculer sa position avec précision sur Arduino (cela nécessite trop de chiffres significatifs).

bonsoir
je pensait que c'étais faisable sur un arduino mega2560 car j'ai vu des programmes sur esp8266 qui calculait les heure lever/coucher soleil , lune.

ma demande est peut être trop importante sur arduino mega .
dommage j'avais pas besoin d'une grande précision de la lune mais c'étais plus pour que les nuit ressemble aux nuits de la localisation.
je me contenterais de ce que j'ai fait pour le soleil alors.

bonjour
rajout du calcul du lever coucher de la lune.
cela fonctionne mais le le système est instable pour je ne sait qu'elle d'obscure raison car cela ce passe après les calculs. (une latence qui doit dérégler tout ça)
je vais rajouté sur l'écran principal l'heure lever/coucher lune en information.
le soleil y étant déjà.
ensuite installation sur l'aquarium pour réglage de l'intensité lumineuse vraiment utilisable.( j'ai prévu 4 bande RGBW donc le spectre y sera mais peut être un peu fort en lumière.)

bonjour
lien vers le github du projet, des Correction sont faite pour la stabilité, normalement plus de soucis.
ecran aquarium fini

kelvin reglage

reglage heure

la partie kelvin sera sans doute à améliorer, car je me suis concentrer essentiellement sur la partie automatique que je préfère .

bonjour
j'ai changer la méthode de gestion de la lune(car ne prenait pas en compte que le lever/coucher pouvait être le lendemain a cause du décalage horaire dû a la localisation et de l'heure d'hiver/été) mais rencontre un soucis de blocage a certaine date qui pourtant non pas grand chose de différents des autres jours.(heure lever/coucher lune dans la journée).
si quelqu'un a un jours du temps de libre pour jeter un œil car je me perd a force de chercher d'où cela viens.