Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Mettre en veille l'afficheur
#1
Bonjour,
Une simple question, est-il possible de mettre en veille l'afficheur pour la nuit. 
Afficheur avec ILI9341 sans détecteur IR sur circuit imprimé .
Mon afficheur éclaire assez fort et j'aimerais que dans la nuit il s'éteigne et se rallume au matin par EX: 0H il s'éteint et 8H il se rallume. J'ai vu qu'il y avait une possibilité sur le GPIO32 mais mon circuit imprimé est fait et je ne peux pas utilisé cette option. Je pense qu'il y à peut-être une possibilité sur la fonction IR.
Merci à vous.
Répondre
#2
Vous utilisez une Action en On/off sur un GPIO que vous mettez à 1 de 8h à 3h. Avec la sortie vous pilotez l'allumage.
Répondre
#3
(16-07-2025, 02:02 PM)F1ATB a écrit : Vous utilisez une Action en On/off sur un GPIO que vous mettez à 1 de 8h à 3h. Avec la sortie vous pilotez l'allumage.

Bonsoir André,
Merci pour votre réponse, mais je parle de l'afficheur distant pas du routeur. C'est pourquoi je pensais qu'il y avait une possibilité sur le capteur IR de lui dire de se mettre en veille et par conséquent  d'éteindre l'afficheur avec le watchdog et de le réveiller à une heure donnée.
Merci.
Répondre
#4
Avec l'afficheur distant, on ne peut rien faire. À voir dans une prochaine modification du programme.
Répondre
#5
(17-07-2025, 08:50 AM)F1ATB a écrit : Avec l'afficheur distant, on ne peut rien faire. À voir dans une prochaine modification du programme.

Bonjour André,

Bon j'ai modifié le circuit imprimé, coupé la piste qui part de la led du ILI9341 et j'ai fais un pont de la led au GPIO32 du ESP32.
Ensuite j'ai modifier le code dans la fonction void TraceWatt(), j'y ai ajouté :
int Led;
  Serial.print("Heure actuelle:");
  String H = Heure.substring(0, 2);
  String M = Heure.substring(3, 5);
  int HR = H.toInt() * 60;
  HR = HR + M.toInt();
  Serial.println(HR); 

 
  if (HR >= 0 && HR < 360) { // Arret de 0H à 6H
    if (Led == 0) {
      digitalWrite(GPIO32, LOW);
      Led = 1;
    }
  } else {
    if (digitalRead(GPIO32) == LOW) {
      digitalWrite(GPIO32, HIGH);
      Led = 0;
    }

Ca marche bien cela m'éteint complètement l'afficheur, mais il faut que je le règle en dur si HR>= 0 & HR <6*60 alors on éteint.Je vois pas comment faire pour un réglage directement depuis l'afficheur sans créer une routine avec des boutons et une sauvegarde en eeprom.
Merci André. 
  
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 2 visiteur(s)