Remy 5 роки тому
батько
коміт
5f228b38e6
4 змінених файлів з 86 додано та 10 видалено
  1. 11 10
      Soft/Arduino/Arduino.ino
  2. 14 0
      Soft/Arduino/RTC.c
  3. 7 0
      Soft/Arduino/RTC.h
  4. 54 0
      Soft/tmp/tmp.ino

+ 11 - 10
Soft/Arduino/Arduino.ino

@@ -1,26 +1,29 @@
 #include <Wire.h>//https://www.arduino.cc/en/reference/wire
 #include <DS3231.h>//https://github.com/NorthernWidget/DS3231
+#include <DS18B20.h>
+#include <DS3231.h>
 
+#define ONE_WIRE_BUS 3
 
-int inter1 = ; // inter croissance mere
-int inter2 = ; // inter croissance reste
-int inter3 = ; // inter flo
-int interuptRTC = ; //Entrer interrupte RTC
+/*
+int Inter1 = ; // inter croissance mere
+int Inter2 = ; // inter croissance reste
+int Inter3 = ; // inter flo
 int InterruptHydro = ; //Entrer Interrupt Hydro
+int Inter
+*/
 
 int Led1 = ; //Relai croissance mere
 int Led2 = ; //Relai croissance reste
 int Led3 = ; //Relai flo
 int Extract = ;//relai Extract
+int Dehum = ;
 int Pompe = ; //Relai pompe
 
 bool ExtractOn = True;
 int tmpArrosage = ; //temps d'arrosage
 
-int ON = ;
-int OFF = ;
-int IN = ;
-int OUT = ;
+DS3231 Clock;
 
 enum Prochain {
 	AlumFlo,
@@ -112,5 +115,3 @@ void loop() {
 	  
 
 }
-
-

+ 14 - 0
Soft/Arduino/RTC.c

@@ -0,0 +1,14 @@
+#include "RTC.h"
+
+void activeAlarm(int heure, int Plusminute, bool Alarm, DS3231 *clock){
+	byte Day, Hour, Minute, Second, Bits;
+	
+	Second 	= clock->getSecond();
+	Minute 	= clock->getMinute() + Plusminute;
+	Hour	= clock->getHour(null,null);
+	Day		= clock->getDoW(); 
+	
+	
+	clock->setA1Time(Day, Hour, Minute, Second, 0x08, ADy, A12h, Apm);
+	
+}

+ 7 - 0
Soft/Arduino/RTC.h

@@ -0,0 +1,7 @@
+
+
+/*
+ * Fonction active l'alarme a + heure + minute 
+ * 
+ */
+void activeAlarm(int heure, int minute);

+ 54 - 0
Soft/tmp/tmp.ino

@@ -0,0 +1,54 @@
+
+#include <OneWire.h>
+#include <DS18B20.h>
+#include <DS3231.h>
+#include <Wire.h>
+
+#define ONE_WIRE_BUS 3
+
+const int ExtracteurPin = 2;
+const int Rouge1Pin = 3;
+const int Rouge2Pin = 4;
+
+OneWire oneWire(ONE_WIRE_BUS);
+DS18B20 sensor(&oneWire);
+DS3231 Clock;
+
+
+uint32_t start, stop;
+
+void setup(){
+  Serial.begin(9600);
+  Wire.begin();
+  pinMode(ExtracteurPin, OUTPUT);
+  sensor.begin();
+  sensor.setResolution(12);
+}
+
+
+void loop(){
+  sensor.requestTemperatures();
+  while (!sensor.isConversionComplete());
+  float temp = sensor.getTempC();
+  int minu = Clock.getMinute();
+  bool h24,am;
+  int heure = Clock.getHour(h24,am );
+  Serial.println("salut");
+  Serial.println(minu);
+  Serial.println(temp);
+  
+  if (minu==0 | minu == 1 | minu == 15 | minu == 16 | minu == 30 | minu == 31 | minu == 45 | minu == 46 |temp >= 27)
+    digitalWrite(ExtracteurPin,LOW);
+  else
+    digitalWrite(ExtracteurPin,HIGH);
+
+  if(heure==10 | heure== 11 | heure== 12  | heure== 13 | heure== 14 | heure== 15 | heure== 16 | heure== 17 | heure== 18 | heure== 20  | heure== 21){
+    digitalWrite(Rouge1Pin,LOW);
+    digitalWrite(Rouge2Pin,LOW);  
+  }
+  else{
+    digitalWrite(Rouge1Pin,HIGH);
+    digitalWrite(Rouge2Pin,HIGH);
+  }   
+  delay(10000);
+}