aide au niveau de la commande d'une LED

a marqué ce sujet comme résolu.
 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

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

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 ;)

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

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.

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

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