automatic solar panel project

Hello,
I am new in this kind of electronics…
I try to program arduino to turn a relay on at certain time with xx seconds.
I already success in this part, but now i have a receiver 4 channels 433mhz and i want to control on the relay also on with the remote control.
i don’t know how to program at read the signal from the receiver activate direct output.

In attach follow the layout…

the code i already make:

//librarias
#include <Time.h>
#include <TimeAlarms.h>
#include <TimeLib.h>
#include <DS1307RTC.h>

// variaveis
int RELAYLEFT = 2; // PINO QUE LIGA A RELE PARA A ESQUERDA NO PINO 2
int RELAYRIGHT = 3; // PINO QUE LIGA A RELE PARA A DIREITA NO PINO 3
int RELAYUP = 4; // PINO QUE LIGA A RELE PARA A CIMA NO PINO 4
int RELAYDOWN = 5; //PINO QUE LIGA A RELE PARA A BAIXO NO PINO 5

void setup() {
Serial.begin(9600); // VELOCIDADE DA PORTA DE COMUNICAÇÃO
pinMode(RELAYLEFT, OUTPUT); //DEFINE PORTAS DOS RELES COMO SAIDA
digitalWrite(RELAYLEFT, HIGH); // DEFINE ESTADO NORMAL DAS PORTAS DO RELE COMO DESLIGADAS
pinMode(RELAYRIGHT, OUTPUT); //DEFINE PORTAS DOS RELES COMO SAIDA
digitalWrite(RELAYRIGHT, HIGH); // DEFINE ESTADO NORMAL DAS PORTAS DO RELE COMO DESLIGADAS
pinMode(RELAYUP, OUTPUT); //DEFINE PORTAS DOS RELES COMO SAIDA
digitalWrite(RELAYUP, HIGH); // DEFINE ESTADO NORMAL DAS PORTAS DO RELE COMO DESLIGADAS
pinMode(RELAYDOWN, OUTPUT); //DEFINE PORTAS DOS RELES COMO SAIDA
digitalWrite(RELAYDOWN, HIGH); // DEFINE ESTADO NORMAL DAS PORTAS DO RELE COMO DESLIGADAS
//setTime(23,19,00,2,10,2017); //DEFINE HORA
//RTC.set(now()); //ATUALIZA A HORA NO DS1307
setSyncProvider(RTC.get); // IMPORTA A HORA DO DS1307
Alarm.alarmRepeat(21,42,00,StartLEFT); // A HORA DETERMINADA LIGA PARA REPOSICIONAR PARA O DIA SEGUINTE
Alarm.alarmRepeat(21,39,00, StartRIGHT); // A HORA DETERMINADA LIGA PARA GIRAR O PAINEL A DIREITA
Alarm.alarmRepeat(21,39,30,StartRIGHT); // A HORA DETERMINADA LIGA PARA GIRAR O PAINEL A DIREITA
Alarm.alarmRepeat(21,40,00,StartRIGHT); // A HORA DETERMINADA LIGA PARA GIRAR O PAINEL A DIREITA
Alarm.alarmRepeat(21,40,30,StartRIGHT); // A HORA DETERMINADA LIGA PARA GIRAR O PAINEL A DIREITA
}

void loop()
{
digitalClockDisplay();
delay(1000);
Alarm.delay(0);
}

void digitalClockDisplay(){ // mostra a hora no ecrã
Serial.print(hour());
printDigits(minute());
printDigits(second());
Serial.print(" “);
Serial.print(day());
Serial.print(” “);
Serial.print(month());
Serial.print(” ");
Serial.print(year());
Serial.println();
}

void printDigits(int digits){ // para mostrar no relogio o zero antes do numero quando necessario
Serial.print(":");
if(digits < 10)
Serial.print(‘0’);
Serial.print(digits);
}

void StartRIGHT(){
Serial.println(“A RODAR PARA O LADO DO MAR”);
digitalWrite(RELAYRIGHT, LOW); // LIGA RELE PARA A DIREITA
Alarm.delay(15000); // AGUARDA 15 SEGUNDOS
digitalWrite(RELAYRIGHT, HIGH); // DESLIGA RELE PARA A DIREITA
Serial.println(“A PARAR MOTOR”);
}

void StartLEFT(){
Serial.println(“A RODAR PARA O LADO DA SERRA”);
digitalWrite(RELAYLEFT, LOW); // LIGA RELE PARA A ESQUERDA
Alarm.delay(105000); // ESPERA 40 SEGUNDOS
digitalWrite(RELAYLEFT, HIGH); // DESLIGA RELE PARA A ESQUERDA
Serial.println(“PAINEL REPOSICIONADO PARA O DIA SEGUINTE”);
}

projeto painel solar_bb.pdf (919 KB)