Modificar código

Buenas tardes ,tengo este programa todo funciona bien , pero quiero que en la salida LED del pin 6 del arduino ,apenas yo configure la alarma me active el pin 6 para activar un rele para poder encender una bombilla ,les agradezco su ayuda!!

#include <LiquidCrystal.h> //Libreria del LCD
LiquidCrystal lcd(5,4,3,2,1,0); //Pins del LCD

//#include <DS1307RTC.h> //Librerias del Reloj
//#include <Time.h>
#include <Wire.h>
#include "RTClib.h"
RTC_DS1307 RTC;

#include <Keypad.h>   //Libreria para el teclado
char pulsacion;
const byte Filas = 4;          //Cuatro filas
const byte Cols = 3;           //Tres columnas

     byte Pins_Cols[] = { 9, 8, 7};     //Pines Arduino para las columnas
     byte Pins_Filas[] = {13, 12, 11,10};     // Pines Arduino para las filas
     char Teclas [ Filas ][ Cols ] =
          {
              {'1','2','3'},
              {'4','5','6'},
              {'7','8','9'},
              {'*','0','#'},
              };

 Keypad Teclado1 = Keypad(makeKeymap(Teclas), Pins_Filas, Pins_Cols, Filas, Cols); //Creamos lo que va a ser nuestro Keypad, que llamaremos "Teclado1"

 //Tener en cuenta que el Keypad ahora es de 4x3. La columna Nº1  no la vamos a usar.



int alarma=A0, LED=6 ;
int i;
int pulsacion1;
int seg1,min1,hor1,ano1,mes1,dia1; //Hora que trae el reloj DS1307RTC
int min2,hor2; //Hora que defino yo como alarma. Solo me interesan la hora y los minutos


void setup() {
Wire.begin(); // Inicia el puerto I2C
RTC.begin(); // Inicia la comunicación con el RTC
//RTC.adjust(DateTime(__DATE__, __TIME__)); // Establece la fecha y hora, sincronizandola con el de el ordenador. (Comentar una vez establecida la hora)



 lcd.clear();
 lcd.setCursor(0,0);
 lcd.begin(16,2); //Las medidas del display

 pinMode(alarma,INPUT);
 pinMode(LED,OUTPUT);

}

void loop() {
lcd.clear();
 if(analogRead(alarma)<512){ //Mientras el pulsador NO este pulsado...
  DateTime now = RTC.now();
  // En la anterior linea ya suponemos que el reloj ha sido SETeado en otro momento
  // y que la hora ya esta en la memoria. Esa hora esta en now().

  //De aqui en adelante nos vamos a dedicar a escribir la hora en la pantalla.
  lcd.setCursor(0,0);
  lcd.print("FECHA:");
  lcd.setCursor(6,0);
    dia1=now.day();
    if(dia1<10){lcd.print("0");
                lcd.setCursor(7,0);}
  lcd.print(dia1);
  lcd.setCursor(8,0);
  lcd.print("/") ;
  lcd.setCursor(9,0);
    mes1=now.month();
    if(mes1<10){lcd.print("0");
                lcd.setCursor(10,0);}
  lcd.print(mes1);
  lcd.setCursor(11,0);
  lcd.print("/") ;
  lcd.setCursor(12,0);
    ano1=now.year();
    if(ano1<10){lcd.print("0");
                lcd.setCursor(13,0);}
  lcd.print(ano1); 
  lcd.setCursor(0,1) ;
    hor1=now.hour();
    if(hor1<10){lcd.print("0");
                lcd.setCursor(1,1);}
  lcd.print(hor1); 
  lcd.setCursor(2,1); 
  lcd.print(":") ;
  lcd.setCursor(3,1);
    min1=now.minute();
    if(min1<10){lcd.print("0");
                lcd.setCursor(4,1);}
  lcd.print(min1);
  lcd.setCursor(5,1);
  lcd.print(":") ;
  lcd.setCursor(6,1);
    seg1=now.second();
    if(seg1<10){lcd.print("0");
                lcd.setCursor(7,1);}
  lcd.print(seg1);
  delay(1000);}

  else{ //Cuando se pulse el pulsador...
//Pediremos al usuario que escriba la hora en la que quiere hacer sonar la alarma.
 lcd.clear();
 lcd.setCursor(0,0);
 lcd.print("Escribe la hora");
 delay(1000);
 //La hora, constara de cuatro numeros ( 2 para los minutos y 2 para los segundos )
 // Por ello, daremos 5 vueltas dentro de un for, esperando a que el usuario pulse una tecla.
 // En la tercera vuelta (i=2), no debemos pedir al usuario que nos de un valor, sino que escribiremos " : " que separan las horas de los minutos.
 for(i=0;i<5;i++){
  char pulsacion;
   lcd.setCursor(i,1);
   if(i==2){lcd.print(":");}
   else{
    pulsacion=Teclado1.waitForKey(); // Esperamos a que pulse un boton.
   lcd.print(pulsacion);            //Escribimos el el valor de pulsacion en el LCD.
    
    switch(pulsacion){              // Pulsacion es de tipo char, por eso hemos definido al principio de programa "pulsacion1", de tipo int,
                                    // Que tendra un valor numerico que sera el de la hora en la que el usuario ha definido la alarma.
                                    //Este valor, sera dependiendo el boton pulsado en el teclado matricial, que hemos guardado en pulsacion.
      case '1': pulsacion1=1;
      break;
      case '2': pulsacion1=2;
      break;
      case '3': pulsacion1=3;
      break;
      case '4': pulsacion1=4;
      break;
      case '5': pulsacion1=5;
      break;
      case '6': pulsacion1=6;
      break;
      case '7': pulsacion1=7;
      break;
      case '8': pulsacion1=8;
      break;
      case '9': pulsacion1=9;
      break;
      case '0': pulsacion1=0;
    }
    switch(i){                            
      case 0: hor2=pulsacion1*10;       //Sabemos que el primer valor de los minutos sera un valor en decimas
      break;
      case 1: hor2=hor2+pulsacion1;     // El segundo valor de los minutos que sera una unidades
      break;
      case 3: min2=pulsacion1*10;       //Primer valor de los segundos que sera un valor en decimas
      break;
      case 4: min2=min2+pulsacion1;     //Segundo valor de los segundos que sera en unidades
      break;} 
  
   }
   delay(500);
 }
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Alarma");
lcd.setCursor(0,1);
lcd.print("Configurada");
delay(3000);

lcd.clear();


 while(min1!=min2||hor1!=hor2){    //Mientras la hora de la alarma escrita por el usuario, y la hora real sean diferentes,
                                   //escribiremos la hora real y la de la alarma en la pantalla.
  DateTime now = RTC.now();
  lcd.setCursor(0,0);
  lcd.print("HORA");
  lcd.setCursor(0,1);
  lcd.print("Ala.");

   lcd.setCursor(6,0) ; //dibujamos la hora real
    hor1=now.hour();
    if(dia1<10){lcd.print("0");
                lcd.setCursor(7,0);}
  lcd.print(hor1); 
  lcd.setCursor(8,0); 
  lcd.print(":") ;
  lcd.setCursor(9,0);
    min1=now.minute();
    if(min1<10){lcd.print("0");
                lcd.setCursor(10,0);}
  lcd.print(min1);
  lcd.setCursor(11,0);
  lcd.print(":") ;
  lcd.setCursor(12,0);
    seg1=now.second();
    if(seg1<10){lcd.print("0");
                lcd.setCursor(13,0);}
  lcd.print(seg1);

   lcd.setCursor(6,1) ; //dibujamos la hora de la alarma
   if(hor2<10){lcd.print("0");
                lcd.setCursor(7,1);}
  lcd.print(hor2);
   
  lcd.setCursor(8,1); 
  lcd.print(":") ;
  
  lcd.setCursor(9,1);
  if(min2<10){lcd.print("0");
                lcd.setCursor(10,1);}
  lcd.print(min2);
  
  delay(1000);
 }

//En cuanto sea la hora, saltara la alarma, se encenderan los LEDs y sonara el zumbador.

 lcd.clear();
 lcd.setCursor(0,0);
 lcd.print("ES LA HORA!!");

while(analogRead(alarma)<512){ //Hasta que pulsemos de nuevo alarma, no va a parar de hacer luz y ruido.    
 digitalWrite(LED,HIGH);
 delay(1000);
 digitalWrite(LED,LOW);
 delay(1000);}                    //Alarma es un pulsador. Hay que quedarse un rato hasta que lea justo 1.
 delay(3000);

}//Final del else de arriba

}//Final de programa

FD24V2JIM2B2MPF.ino (6.96 KB)

Yes, use a transistor and relay. Here is an article I like:
http://www.ermicro.com/blog/?p=423

Dos cosas:
1 edita el título, coloca algo que no sea AYUDA, porque se considera un título inútil.
2. Edita tu post de modo que se vea el código. Tiene menos de 9k y por lo tanto de acuerdo a las normas debe quedar visible con etiquetas. Las normas puedes leerlas en el primer hilo de esta sección.