Je souhaite metre un relais brancher sur la pin 8 pour moon lights il s initialise bien dans mon setup mes en bas dans mon code selon les horaire programer rien n y fais sa ne s enclenche pas
// telecommande aquarium ( 5592323 )
// telecommande lumiere meuble tv ( on/off 1601921 ) gradateur (+ 1601924) (- 1601922 )
// telecommande lumiere lit ( on/off 12612369 ) gradateur (+ 12612372) (- 12612370 )
// telecommande desodirisant couloir ( on/off 1864065 ) gradateur (+ 1864068) (- 1864066 )
/*
Arduino Masterbalby Controller
Analog Pin 0 = Température Sensor
Digital Pin 11 = LCD
Digital Pin 11 = NULL
Digital Pin 12 = LCD
Digital Pin 7 = LCD
Digital Pin 8 = LCD
Digital Pin 9 = LCD
Digital Pin 10 = LCD
Digital Pin 8 = moon_light
Digital Pin 11 = PWM day_light
Digital Pin 16 = Bouton poussoir 1 day light
Digital Pin 15 = Bouton poussoir 2 chauffage
*/
#include <Wire.h>
#include <RTClib.h>
#include <Time.h>
#include <LiquidCrystal.h>
#include <WProgram.h>
#include <Wire.h>
#include <DS1307.h>
#include <RCSwitch.h>
#include <RTClib.h>
RCSwitch mySwitch = RCSwitch();
RTC_DS1307 RTC;
#include <stdio.h>
#include <stdlib.h>
/*
Arduino Masterbalby Controller
Analog Pin 0 = Température Sensor
Digital Pin 6 = // la pin de connexion de mon emmeteur 433 mhz
Digital Pin 11 = LCD
Digital Pin 12 = LCD
Digital Pin 5 = LCD
Digital Pin 3 = LCD
Digital Pin 2 = LCD
Digital Pin 3 = // la pin de connexion de mon émetteur
Branchement du module RTC DS1307
- DS1307 -> Arduino
- SDA -> Pin A4
- SCL -> Pin A5
- GND -> GND
- VCC+ -> +5V
*/
int minut;
int heure;
int seconde;
int date;
int mois;
int annee;
int temps_perso;
int sensorPin = 0;
int moon_light = 8;
int pwm = 18;
int heater_on_temp = 24; //allume chauffage à cette température
int heater_off_temp = 26; //éteint le chauffage à cette température
int moon_on_time = 1428; //allume les moon lights à cette heure (en temps_perso)
int moon_off_time = 2150; //éteint les moon lights à cette heure (en temps_perso)
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
{
/* RTC.stop();
RTC.set(DS1307_SEC,00); //réglage secondes
RTC.set(DS1307_MIN,59); //réglage minutes
RTC.set(DS1307_HR,15); //réglage heures
RTC.set(DS1307_DOW,6); //réglage jour de la semaine
RTC.set(DS1307_DATE,11); //réglage date
RTC.set(DS1307_MTH,12); //réglage mois
RTC.set(DS1307_YR,10); //réglage année
RTC.start();
*/
}
Serial.begin(9600);
mySwitch.enableTransmit(6); // la pin de connexion de mon émetteur
mySwitch.setProtocol(1); // le protocol (cf screenshot ci dessus, que je mets donc à 1)
mySwitch.setRepeatTransmit(2); // nombre de répétitions du signal histoire d'être sur que la prise recevra le signal
lcd.begin(16, 2);
lcd.print("MasterBalby 2.1");
lcd.setCursor(0, 1) ;
lcd.print("Gestion Aqua");
delay(1700);
lcd.clear();
lcd.print(" initialisation");
delay(1700);
lcd.clear();
Wire.begin();
RTC.begin();
pinMode(moon_light, OUTPUT); // digital pin pour moon light en sortie
//Récupérer l heure du DS1307 ********************************************************************
if (! RTC.isrunning())
{
Serial.println("RTC is NOT running!");
// following line sets the RTC to the date & time this sketch was compiled
//RTC.adjust(DateTime(__DATE__, __TIME__));
}
}
void displayTime(DateTime dateTime)
{
lcd.setCursor(0, 1);
lcd.print(dateTime.hour(), DEC);
lcd.print(':');
if (dateTime.minute() <= 9) // Si les second sont inferieur a 10
{
lcd.print ("0");
}
lcd.print(dateTime.minute(), DEC);
lcd.print(':');
if (dateTime.second() <= 9) // Si les second sont inferieur a 10
{
lcd.print ("0");
}
lcd.print(dateTime.second(), DEC);
lcd.print(' ');
}
//Affichage température***************************************************************************
void displayTemperature(int temp)
{
lcd.setCursor(8, 0);
lcd.print("Temp:");
lcd.print(temp);
lcd.println("C");
lcd.print(' ');
delay(1000);
}
void loop() {
//Récupérer la température du LM35 ***********************************************************
int reading = analogRead(sensorPin);
float voltage = reading * 5.0 / 1024;
int temp = voltage * 100 ;
//Affichage temps*****************************************************************************
displayTime(RTC.now());
//Affichage température***********************************************************************
displayTemperature(temp);
//programation relais**************************************************************************
if(moon_on_time < temps_perso)
{
digitalWrite(moon_light, LOW);
}
else{
digitalWrite(moon_light, HIGH);
}
if(moon_on_time > temps_perso)
{
digitalWrite(moon_light, HIGH);
}
else{
digitalWrite(moon_light, LOW);
}
}