aide au niveau de la commande d'une LED

L'auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <Wire.h>
#include "RTClib.h"

RTC_DS1307 rtc;

void setup()
{
  Wire.begin();
  rtc.begin();

  if (! rtc.isrunning()) 
  {
    Serial.println("RTC is NOT running!");
    rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
  }
  pinMode(13, OUTPUT);
}

void loop() 
{
  DateTime now = rtc.now();

  // les deux lignes suivantes ne servent qu'au debugage, elles pourront etre supprimées

  Serial.print(now.hour(), DEC); //pour afficher l'heure sur le moniteur
  delay(5000);                   //pour avoir le temps de lire le moniteur 

  if ((now.hour() > 7) && (now.hour() < 21))
  {
    digitalWrite(13, 0);
  }
  else 
  {
    digitalWrite(13, 1);
  }
}

S'il vous plait j'ai déjà partager ce programme avec vous je viens d'installer Proteus ISIS lorsque je compile mon programme: la condition ```c if ((now.hour() > 7) && (now.hour() < 21))

1
2
3
4
digitalWrite(13, 0);
``` la LED s'allume 
si ```c
digitalWrite(13, 0);

LED ne marche pas je sais pas d'où viens le problème ou comment je peux le vous expliquer autrement . Merci d'avance

+0 -0
Auteur du sujet

Je veux rien afficher sur le moniteur série tout ce que je vous c'est de commander la LED pour la faire fonctionner pour une durée donnée dans ce cas là entre 7h et 21h mais par exemple si je mets digitalWrite(13, 0); avant digitalWrite(13, 1); la led s'allume et si je fais l'opposé la LED s’éteint mon montage est celui la Montage RTC_Led

+0 -0

Bonjour

Dans ce sujet, j'avais indiqué une problème sur ce programme concernant la mise à l'heure de l'horloge RTC.

klafyvel te donne une solution de diagnostic : quelle est l'heure indiqué par ton horloge RTC, qui expliquera quelle condition est valide.

Dans ton programme, la sortie 13 se met à 0 entre 7 et 21h, et elle est à 1 entre 21h et 7h. Donc, il faut savoir quelle heure indique ton horloge. Ensuite, avec le même programme, en fonction de la façon dont tu raccordes ta LED, tu peux avoir 2 résultats différents et opposés :)

Par conséquent, comme indiqué au dessus par klafyvel, un schéma est indispensable ;)

+2 -0
Auteur du sujet

Je sais pas comment ajouter une photo lors de la simulation l'horloge affiche l'heure actuelle de l'ordinateur. le problème Bendia c'est que le teste que j'ai fais ne s’exécute pas même si je change les lignes par exemple je fais l'opposé il respect pas la condition RTC_LED

+0 -0

Cette réponse a aidé l'auteur du sujet

Donc, si je résume, l'horloge est à l'heure, donc, le problème de viens pas de là :)

Tu peux ajouter une sortie sur le moniteur série pour être bien certain que ça ne vient pas du programme genre

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
if ((now.hour() > 7) && (now.hour() < 21))
  {
    digitalWrite(13, 0);
    Serial.println("Sortie à 0");
  }
  else 
  {
    digitalWrite(13, 1);
    Serial.println("Sortie à 1");
  }
}

Après, je ne vois pas bien sur le schéma, mais j'ai un doute sur le sens de ta LED.

+0 -0

Bah, le souci, c'est que, en ce qui concerne la LED, il n'y a pas de différence. Je ne suis donc pas certain que cela soit un problème de code.

N'aurais-tu pas fait un test avant et après 21h par hasard ?

+0 -0
Auteur du sujet

pour votre programme j'ai fais tout les testes possible et ça bien marcher contrairement à le mien qu'est ce que signifie la ligne que vous avez ajouter : c Serial.println("Sortie à 0");

Merci encore une fois

+0 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte