Arduino

tecnoloxia.org

Medindo o tempo 2: RTC

Descrición:

Un módulo RTC (Real Time Clock) ou “Reloxo de tempo real” consiste nun circuíto integrado alimentado por unha batería que rexistra en todo momento a data, o día da semana e o tempo, así como un reloxo dixital convencional. Resulta interesante utilizalo cando queremos que a data, día da semana, e a hora estean sempre dispoñibles independentemente da alimentación da tarxeta arduino.

Hai moitos modelos. O que temos no taller é o reloxo DS1302.

O chip DS1302 contén un reloxo/calendario en tempo real con 31 bytes de RAM estática. O RTC DS1302 proporciona información sobre segundos, minutos, horas, día, data, mes e ano. A data de fin de mes axústase automaticamente para meses con menos de 31 días, incluídas as correccións do ano bisesto. O reloxo funciona en formato 24 ou 12 horas cun indicador AM/PM. 

Conexión:

O módulo RTC DS1302 comunícase co microprocesador a través dunha interface serie. Temos 5 pins, os dous de alimentación (VCC 5V e GND 0V) e os tres de envío de datos (CLK, DAT, RST) que imos conectar nos seguintes pins:

  • CLK: D6
  • DAT: D7
  • RST: D8

Programa:

Necesitamos instalar a librería que controla o módulo RTC. Podes descargala aquí: DS1302.zip.

Para programar podes utilizar as seguintes variables:

  • t.sec (segundos)
  • t.min (minutos)
  • t.hour (hora)
  • t.date (día)
  • t.mon (mes)
  • t.dow (día da semana)
  • t.year (ano)

1. Mostrar o tempo

1. Mostrar o tempo: Imos mostrar a data, a hora e o día da semana na consola serie.

2. programar acendido/apagado

2. programar acendido/apagado: Agora imos facer que un led se acenda e se apague en períodos de tempo determinados por nós. Por exemplo, neste programa, acendemos un LED cando o minuteiro marca desde 50 ata 55 minutos. Se non estará apagado.

Propostas:

  1. Proba o segundo programa do led, pero nun período de minutos que se achegue ao deste momento. Por exemplo, se agora son as 9:20 prográmao para que se acenda de 9:25 a 9:27.
  2. Fai que un led se acenda cada día desde as 10h e 30 min ata as 11h en punto.
  3. Fai que un led se acenda cada luns desde as 16 ata as 19h.