Slave, mi chiamo Vincenzo e non sono un professionista nel settore.
Detto ciò vorrei chiedervi aiuto gestire l'irrigazione del giardino anche con il cellulare quindi con un solo arduino
i programmi sono questi due:
#include <SoftwareSerial.h>
SoftwareSerial PortaSeriale (10, 11);
void setup()
{
pinMode(13, OUTPUT);
PortaSeriale.begin(9600);
Serial.begin(9600);
Serial.println("Domotic Bluetooth - JDM.snake:");
delay(1000);
}
void loop()
{
while (PortaSeriale.available())
{
char JDM = PortaSeriale.read();
switch (JDM)
{
case 'A':
{
digitalWrite(13, HIGH);
PortaSeriale.println("Relè 1 ON");
Serial.println("Luce Spenta!");
break;
}
case 'a':
{
digitalWrite(13, LOW);
PortaSeriale.println("Relè 1 OFF");
Serial.println("Luce Accesa!");
break;
}
}
}
e poi
#include <Wire.h>
#include <RTClib.h>
#include <LiquidCrystal.h>
char buffer1[20];
char buffer2[20];
#define pinSettore1 6
#define pinSettore2 7
#define pinSettore3 8
#define pinSettore4 10
int settore1[] = {05,01,05,15};
int settore2[] = {05,16,05,30};
int settore3[] = {05,31,05,45};
int settore4[] = {05,45,05,59};
RTC_DS1307 RTC;
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
Serial.begin(9600);
Serial.println( "START" );
Wire.begin();
RTC.begin();
lcd.begin(16, 2);
pinMode( pinSettore1,OUTPUT );
pinMode( pinSettore2,OUTPUT );
pinMode( pinSettore3,OUTPUT );
pinMode( pinSettore4,OUTPUT );
//RTC.sqw(0); //0 Led off - 1 Freq 1Hz - 2 Freq 4096kHz - 3 Freq 8192kHz - 4 Freq 32768kHz
if (! RTC.isrunning()) {
Serial.println("RTC is NOT running!");
RTC.adjust(DateTime(DATE, TIME));
}
digitalWrite( pinSettore1,HIGH );
digitalWrite( pinSettore2,HIGH );
digitalWrite( pinSettore3,HIGH );
digitalWrite( pinSettore4,HIGH );
}
void loop() {
if ( RTC.isrunning()) {
DateTime now = RTC.now();
Serial.print(now.year(), DEC);
Serial.print('/');
Serial.print(now.month(), DEC);
Serial.print('/');
Serial.print(now.day(), DEC);
Serial.print(' ');
Serial.print(now.hour(), DEC);
Serial.print(':');
Serial.print(now.minute(), DEC);
Serial.print(':');
Serial.print(now.second(), DEC);
Serial.println();
int _hour = now.hour();
int _minute = now.minute();
// Settore Uno
if ( settore1[0] <= _hour && _hour <= settore1[2] && settore1[1] <= _minute && _minute <= settore1[3] ) {
digitalWrite( pinSettore1,LOW );
} else { digitalWrite( pinSettore1,HIGH ); }
// Settore Due
if ( settore2[0] <= _hour && _hour <= settore2[2] && settore2[1] <= _minute && _minute <= settore2[3] ) {
digitalWrite( pinSettore2,LOW );
} else { digitalWrite( pinSettore2,HIGH ); }
// Settore Tre
if ( settore3[0] <= _hour && _hour <= settore3[2] && settore3[1] <= _minute && _minute <= settore3[3] ) {
digitalWrite( pinSettore3,LOW );
} else { digitalWrite( pinSettore3,HIGH ); }
// Settore Quattro
if ( settore4[0] <= _hour && _hour <= settore4[2] && settore4[1] <= _minute && _minute <= settore4[3] ) {
digitalWrite( pinSettore4,LOW );
} else { digitalWrite( pinSettore4,HIGH ); }
}
DateTime now = RTC.now();
sprintf(buffer1, "%02d:%02d:%02d", now.hour(), now.minute(), now.second());
lcd.setCursor(0,0);
lcd.print( buffer1 );
sprintf(buffer2, "%02d/%02d/%d", now.day(), now.month(), now.year());
lcd.setCursor(0,1);
lcd.print( buffer2 );
delay(1000);
}
entrambi funzionano singolarmente caricati, ma vorrei farli funzionare entrambi nello stesso sketch.
Qualcuno mi da una dritta?
Grazie.