Projet


Bonjour
je m'appel Christian j'ai 59 ans et je suis plus que novice dans le domaine de la programmation
grace a tout les posts que j'ai consulté sur le site je me suis donc lancé dans l'écriture d'un programme pendant deux semaines évidement qui ne fonctionne pas, (a chacun son métier) le mien c"est la carrosserie auto

Projet
gérer 2 rampes de led avec arduino uno (pour un aquarium)

MVpower®25W 144LED Lampe Éclairage Lumière Blanc/Bleu+2 Support Pour Aquarium

Besoin de conseils

je n'arrive pas a faire fonctionner correctement le module RTC dans l'arduino

En vous remerciant d'avance pour votre compréhension

ci joint mon programme

#include <Wire.h>
#include <RTClib.h>

RTC_DS1307 RTC; //Classe RTC_DS1307

void setup() {
// initialize digital pin LED_BUILTIN as an output.
// initialize digital pin 12 as an output.
pinMode(13, OUTPUT);
pinMode(12, OUTPUT);
pinMode(11, OUTPUT);
pinMode(10, OUTPUT);
Serial.begin(57600); //Démarrage de la communication
Wire.begin(); //Démarrage de la librairie wire.h
RTC.begin(); //Démarrage de la librairie RTClib.h
}

// the loop function runs over and over again forever
void loop() {
//Affichage de l'heure
DateTime now = RTC.now();
Serial.print(now.hour(), DEC);
Serial.print(':');
Serial.print(now.minute(), DEC);
Serial.print(':');
Serial.print(now.second(), DEC);
Serial.println();

//*test

//HIGH = OFF
//LOW = ON

// Etat 0
digitalWrite(13, HIGH); // commutateur K1
digitalWrite(12, HIGH); // commutateur K2
digitalWrite(11, HIGH); // commutateur K3
digitalWrite(10, HIGH); // commutateur K4

// BLEU matin
if (now.hour() == 8) // Time
digitalWrite(13, LOW); // commutateur K1
if (now.hour() == 8) // Time
digitalWrite(12, HIGH); // commutateur K2
if (now.hour() == 8) // Time
digitalWrite(11, LOW); // commutateur K3
if (now.hour() == 8) // Time
digitalWrite(10, HIGH); // commutateur K4

// Jour (blanc / bleu)
if (now.hour() == 9) // Time
digitalWrite(13, LOW); // commutateur K1
if (now.hour() == 9) // Time
digitalWrite(12, LOW); // commutateur K2
if (now.hour() == 9) // Time
digitalWrite(11, LOW); // commutateur K3
if (now.hour() == 9) // Time
digitalWrite(10, LOW); // commutateur K4

if (now.hour() == 10) // Time
digitalWrite(13, LOW); // commutateur K1
if (now.hour() == 10) // Time
digitalWrite(12, LOW); // commutateur K2
if (now.hour() == 10) // Time
digitalWrite(11, LOW); // commutateur K3
if (now.hour() == 10) // Time
digitalWrite(10, LOW); // commutateur K4

if (now.hour() == 11) // Time
digitalWrite(13, LOW); // commutateur K1
if (now.hour() == 11) // Time
digitalWrite(12, LOW); // commutateur K2
if (now.hour() == 11) // Time
digitalWrite(11, LOW); // commutateur K3
if (now.hour() == 11) // Time
digitalWrite(10, LOW); // commutateur K4

if (now.hour() == 12) // Time
digitalWrite(13, LOW); // commutateur K1
if (now.hour() == 12) // Time
digitalWrite(12, LOW); // commutateur K2
if (now.hour() == 12) // Time
digitalWrite(11, LOW); // commutateur K3
if (now.hour() == 12) // Time
digitalWrite(10, LOW); // commutateur K4

if (now.hour() == 13) // Time
digitalWrite(13, LOW); // commutateur K1
if (now.hour() == 13) // Time
digitalWrite(12, LOW); // commutateur K2
if (now.hour() == 13) // Time
digitalWrite(11, LOW); // commutateur K3
if (now.hour() == 13) // Time
digitalWrite(10, LOW); // commutateur K4

if (now.hour() == 14) // Time
digitalWrite(13, LOW); // commutateur K1
if (now.hour() == 14) // Time
digitalWrite(12, LOW); // commutateur K2
if (now.hour() == 14) // Time
digitalWrite(11, LOW); // commutateur K3
if (now.hour() == 14) // Time
digitalWrite(10, LOW); // commutateur K4

if (now.hour() == 15) // Time
digitalWrite(13, LOW); // commutateur K1
if (now.hour() == 15) // Time
digitalWrite(12, LOW); // commutateur K2
if (now.hour() == 15) // Time
digitalWrite(11, LOW); // commutateur K3
if (now.hour() == 15) // Time
digitalWrite(10, LOW); // commutateur K4

if (now.hour() == 16) // Time
digitalWrite(13, LOW); // commutateur K1
if (now.hour() == 16) // Time
digitalWrite(12, LOW); // commutateur K2
if (now.hour() == 16) // Time
digitalWrite(11, LOW); // commutateur K3
if (now.hour() == 16) // Time
digitalWrite(10, LOW); // commutateur K4

if (now.hour() == 17) // Time
digitalWrite(13, LOW); // commutateur K1
if (now.hour() == 17) // Time
digitalWrite(12, LOW); // commutateur K2
if (now.hour() == 17) // Time
digitalWrite(11, LOW); // commutateur K3
if (now.hour() == 17) // Time
digitalWrite(10, LOW); // commutateur K4

if (now.hour() == 18) // Time
digitalWrite(13, LOW); // commutateur K1
if (now.hour() == 18) // Time
digitalWrite(12, LOW); // commutateur K2
if (now.hour() == 18) // Time
digitalWrite(11, LOW); // commutateur K3
if (now.hour() == 18) // Time
digitalWrite(10, LOW); // commutateur K4

// BLEU soir
if (now.hour() == 19) // Time
digitalWrite(13, LOW); // commutateur K1
if (now.hour() == 19) // Time
digitalWrite(12, HIGH); // commutateur K2
if (now.hour() == 19) // Time
digitalWrite(11, LOW); // commutateur K3
if (now.hour() == 19) // Time
digitalWrite(10, HIGH); // commutateur K4
delay(1000);
}

fixou58:
je n'arrive pas a faire fonctionner correctement le module RTC dans l'arduino

Bonjour,
C'est à dire? Quel est ton problème exactement?
Est-ce que tu as initialisé la RTC au moins une fois?

Autrement, lire ceci: http://forum.arduino.cc/index.php?topic=324322.0
et plus particulèrement ici:
Faire un Nouveau Sujet ou le corriger avec les Balises... - Français - Arduino Forum

Bonjour
des que je lance le programme sa agit comme des feux de détresse et j'ai bien initialisé la carte

Ce code

if (now.hour() == 9)     // Time
digitalWrite(13, LOW);     // commutateur K1
if (now.hour() == 9)     // Time
 digitalWrite(12, LOW);    // commutateur K2
if (now.hour() == 9)     // Time
 digitalWrite(11, LOW);    // commutateur K3
if (now.hour() == 9)     // Time
 digitalWrite(10, LOW);    // commutateur K4

peut s'écrire ainsi

if (now.hour() == 9){     // Time
      digitalWrite(13, LOW);     // commutateur K1
      digitalWrite(12, LOW);    // commutateur K2
      digitalWrite(11, LOW);    // commutateur K3
      digitalWrite(10, LOW);    // commutateur K4
}

Ce qui le rend plus clair et plus lisible.

Autrement, le clignotement doit être créé par cette portion de code

// Etat 0
digitalWrite(13, HIGH);   // commutateur K1
digitalWrite(12, HIGH);   // commutateur K2
digitalWrite(11, HIGH);   // commutateur K3
digitalWrite(10, HIGH);   // commutateur K4

qui réinitialise toutes tes sorties à chaque itération de loop()

Qu'est ce que vous voulez faire avec votre programme et vos LEDs précisément ?
Modifier la couleurs des bandes de LEDs en fonctions des heures de la journée ?
Vos LEDs sont allumées à l'état haut ou l'état bas ?

Mais si j'ai bien compris vous voulez allumer en bleu le soir et le matin, et en blanc la journée.
Si c'est le cas vous n'avez pas besoin de le mettre en blanc à chaque heures de la journée juste une fois après 8h, il continuera jusqu'à 19h, puis vous le re-mettez en blanc après 19h.