Encender leds ingresando hora del día - Arduino Uno

Buenas tardes, abro otro foro para ver quien puede ayudarme, por favor
Utilizo Arduino Uno, tengo un circuito con un sistema anti robo, tiene un sensor pir, ultrasonico, si cualquiera de los 2 detecta una persona, activa un alarma sonando un buzzer
El punto es que me pidieron que tenga unos LEDs, y que yo añada la función para que los LEDs se enciendan dependiendo que hora del día ingreso.
Por ejemplo si quiero que los LEDs enciendan de 5 a 6pm, escribirlo por serial y que se active, espero su ayuda gracias.

Busque en foros, google, pero no me da la solución, he visto algo sobre RTC pero instale una librería que no me funcionó, no se cual sería.
Adjunto código:

int pir = 2;  
int trigger = 11; 
int led = 8;
int echo = 10;   
long duration = 0; 
int cm = 0;
int inch = 0;
int buzzer = 3;

void setup()
{
  pinMode(13, OUTPUT); 
  pinMode(pir, INPUT);   
  pinMode(trigger, OUTPUT);
  pinMode(echo, INPUT);
  pinMode(led, OUTPUT);
  pinMode(buzzer, OUTPUT);
  Serial.begin(9600);
}

void loop()
{
  pir = digitalRead(2);
  digitalWrite(trigger, LOW);
  digitalWrite(trigger, HIGH);
  digitalWrite(trigger, LOW);

  duration = pulseIn(echo, HIGH);
  cm = duration * 0.030 / 2;
  inch = duration * 0.0133 / 2;

  if (pir == HIGH)
  {
    digitalWrite(13, HIGH);
    digitalWrite(buzzer, HIGH);
  } else
  {
    digitalWrite(13, LOW);
    digitalWrite(buzzer, LOW);
  }
  delay(10); 

  if (inch < 50) 
  {
    digitalWrite(led, HIGH);
    digitalWrite(buzzer, HIGH);
  }
  else {
    digitalWrite(led, LOW);
    digitalWrite(buzzer, LOW);
  }

  if (inch < 30) {
    Serial.print("CM: ");
    Serial.println(cm);
  }
  delay(500);
}

agregar un RTC requiere agregar un componente a su circuito (DS3231 por ejemplo)


¿Agregaste uno?

(http://panamahitek.com/el-modulo-ds3231-un-reloj-para-arduino/)

El problema es que el maestro quiere que implemente eso sin un componente mas
Osea, que haga eso de encender leds a la hora que yo lo ingrese pero con puro codigo, no se si sea posible

Ah y no, no agregue ninguno, no tenia idea de ellos
Soy muy nuevo en esto

no podrá saber la hora exacta con un Arduino Uno. Puedes usar millis () para medir el tiempo que pasa

Hola @elmamis69 ,
Hay una biblioteca muy buena para simular un RTC. Es TimerOne.h. con él si el arduino tiene un buen cristal tiene muy buena precisión, y para mantener el tiempo que necesita para mantener el arduino encendido. Biblioteca: TimerOne - Arduino Reference

RV mineirin

Perdón que te corrija, la librería para emular un RTC por software es swRTC

TimerOne es para manejar justamente el timer 1.

Saludos

Disculpen pero le añadí un sensor magnético para puertas y ventanas, no se si sepan cuales son, el punto es que cuando se separan los sensores, se enciende la alarma, pero al regresarla, se apaga.
Como podría implementar para que cuando se active el alarma, solamente se apague si le mando por Serial "A" (Apagar alarma).

int led = 13;
int reedswitch = 5;
int buzzer = 2;
int val = 0;


void setup() {
  pinMode(led,OUTPUT);
  pinMode(reedswitch, INPUT);
  pinMode (buzzer, OUTPUT);
}

void loop() {

  val = digitalRead(reedswitch);
  if(val == LOW){
    digitalWrite(led, HIGH);
    digitalWrite(buzzer, HIGH);
    delay(200);
    digitalWrite(led,LOW);
    digitalWrite(buzzer, LOW);
    delay(200);
    }
  }

Encender un LED desde PC

Saludos

@elmamis69 por favor detente!!
Debes ordenar tus ideas porque estas tirando cosas y lo mejor es que lo hagas del modo correcto.
Para eso estamos nosotros que tenemos mas experiencia y podemos guiarte.

Sigue el consejo de @gatul o bien el de @J-M-L usando milllis(). Pero para ello debes ir a la librería y estudiarla. Comenzando por instalarla y luego de hacerlo correr alguno de sus ejemplos.
Eso simplemente te pondrá con ALGO que brinde la hora. Luego verás como se ajusta a la hora LOCAL en la que estas.
Una vez que tengas la hora. Estudias como comparar lo que Arduino te dice contra lo que el profesor te ha pedido. Es decir que se encienda o apague en detrminado lapso de tiempo.
Asi que ya sabes que hacer.

En Documentación => Indice de temas tutoriales tienes tutoriales de millis() pero mejor es que uses lo de @gatul considerando que estas empezando.

Uno de los ejemplos de la libreria es swRTCLed.ino

Este otro tal vez sea mas apropiado swRTCtest.ino

Jaja lo siento @Surbyte, entre un poco de pánico ya que estaba por entregar mi proyecto final y no sabía como hacerle
Mis disculpas sinceras, en serio, perdón
De hecho mi entrega era para ayer pero veré si puedo terminarlo yo
Muchas gracias por sus ayudas, aun no lo logro hacer pero ando en eso, gracias!
Finales de semestre de universidad, mucho estrés, perdonen, aunque se que no tienen la culpa.
Saludos

Hola @gatul ,
tienes razón, me expresé mal.
Yo uso TimerOne.h como generador de tiempo,
Timer1.initialize (1000); // 1000 nosotros,
y luego desarrollo el resto del tiempo cuenta
(segundo, minuto, hora, día, mes y año) en mi boceto.

Saludos

RV mineirin

Te entiendo, yo ni siquiera uso la librería, hago mi propia ISR para el timer, pero para un principiante complicarle habiendo una librería que lo hace me parece que es ponerle piedras en el camino.
Pero, obvio que tu solución también es totalmente válida.

Saludos