ABC PROYECTOS ELECTRÓNICOS ABCelectronica.net 1. Descripción

Documentos relacionados
Reloj RTC I2C con Arduino

IM : ARDUINO NANO OEM

2.- Cargar el código correspondiente a cada Arduino para su funcionamiento como Master o Esclavo.

SHT3x VIN GND SCL SDA ALERT Pin

Comunicación Serial Arduino UNO vs Leonardo

Es el que usaremos en este tutorial, este módulo funciona como Lector y Grabador de Tags RFID.

MANUAL DE USUARIO Arduino 4-20 ma + RTC Shield MCI-PY-0078 REV. 1.1

MANUAL DE USUARIO Arduino 4-20 ma + RTC Shield REV. 1.1

OKY2002: Arduino Uno Genérico

TARJETA GIROSCOPIO, L3GD20. SIGMA ELECTRONICA

PROYECTO DE ELECTRÓNICA

MANUAL DE DESCRIPCIÓN

Módulo Radio frecuencia FSK y Arduino

Guía de Usuario Iraduino

INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería Universidad Nacional de Mar del Plata

MANUAL DE USUARIO Sensor de temperatura y humedad digital MCI-SEN REV. 1.0

MANUAL DE USUARIO Access Control Shield R1 (Relay +usd + RTC) MCI-MA-0154 REV. 1.0

EJERCICIOS CON ARDUINO LED ENCENDIDO. Se conecta el Led al pin 52 y a alimentación. Compilar Se enciende el LED.

GUÍA RÁPIDA M2M 3G Shield MCI02870 REV. 1.0

Clase 2: Programación

ESPino - Especificaciones

G O B L I N 2 / M A N U A L

Motor Paso a Paso Stepper Unipolar

DEPARTAMENTO DE CIENCIAS DE LA ENERGIA Y MECANICA Laboratorio de Automatización Industrial Mecánica. TEMA: Control de procesos con Arduino.

INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería Universidad Nacional de Mar del Plata

PIC-Ready1. Placa adicional. Manual de usuario. MikroElektronika

Se tomaron en cuenta tres marcas fabricantes para este módulo:

RTC DS1307 DS x 8 Serial Real Time Clock Con un ejemplo práctico. Traducción libre por V. García

Sistema de riego automático y autosustentable

Domótica con Arduino, WiFi y Android

Ardunio. Test Placa. LunikSoft. Fco. Javier Andrade.

LUZ DE FRENO Con ARDUINO NANO y ACELEROMETRO ADXL345

LED INTERMITENTE CIRCUITO ELÉCTRICO MATERIALES PROGRAMA LED DOS CONECTORES CABLE USB ROBÓTICA. Puerto 8 ( salida al led rojo ) ARDUINO UNO 220 W GND

EL MICROCONTROLADOR ARDUINO

Desarrollo de sistema inmótico basado en plataforma Arduino

Comunicación Serial con Arduino (Por Antony García González - Enero 27, 2013 )

REPRODUCIR SONIDOS.WAV EN ARDUINO (Recopilado de Internet)

Instalación y entorno de programación

9. Plataforma Desarrollo del ATmega

5.1. Solmáforo portátil.

INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería Universidad Nacional de Mar del Plata

Programamos nuestra placa Arduino gráficamente con mblock. Propuesta didáctica: Programamos nuestra placa Arduino gráficamente con mblock

Tutorial básico para el diseño de un Data Logger con Arduino y micro-sd

Control de movimientos y rutinas para Mini Brazo Robótico por Bluetooth. (Compatible solo con dispositivos Android)

1. Escribir un dato digital del WinCC al Arduino

Display LCD y memorias

Domótica con Arduino, Bluetooth y Android

1. INTRODUCCIÓN 1.1. ARDUINO, QUÉ ES? 1.2. HARDWARE.

( hPa a 25 C) ( hpa, C) Medición de la temperatura Rango: C precisión: ± 1. Medición de humedad Precisión: ± 3

CONTROL DE UN SERVOMOTOR

Programador JDM Plus para PIC y memorias

Introducción a Arduino

Capítulo VII: MONTAJE DE PLACAS

GUIA DE PROGRAMACIÓN DE CONTROLADORES SOLARES EPSOLAR SERIES LANDSTAR Y VIEWSTAR

ESP8266 IoT nodo. Hardware para el curso SpainLabsIoT2018. V1rA/v2Ra. By Grafisoft Version documentación: rev3.

4 Actuadores eléctricos. Alfaomega. Material Web. Arduino control de servomotores a pasos 2

GUIA DE EJERCICIOS Nº 3 INSTRUMENTACIÓN AVANZADA

Conceptos básicos de Arduino:

QUÉ ES EL OPEN SOURCE?

Sensor Biométrico Adafruit

PRESENTA INTRODUCCIÓN A ARDUINO

Taller Introducción a la Ingeniería Eléctrica Robot y comunicaciones basados en Microcontrolador Arduino

Las 7 claves de Arduino UNO

MAX31865 Descripción Características

Alarma GSM. 1. Componentes

Rediseño del Automatizador. Gonzalo Santos

El Microcontrolador Arduino

Programar posiciones en un Micro Servo Tower Pro SG90 9G

Sesión 12: Practica 3: Creación de prototipo básico de Arduino.

JOHNNY 5. Competencia de robótica ~2015~ Categoría: Laberinto. Nombre robot: Zim. Institución: Club de Robótica FIUBA

INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería Universidad Nacional de Mar del Plata

Sensor de estacionamiento

Arduino. Programa de Estudio.

CONSTRUCCIÓN DE TIMER PARA VUELO CIRCULAR CON NANO ARDUINO

Bach. Pablo Sanabria Campos. Programa de Tecnologías Educativas Avanzadas

PROPUESTA ARDUINO por José Manuel Aranga Salazar

Iniciación al IDE de Arduino y primer ejercicio

PRÁCTICA NÚMERO 6: COMUNICACIÓN ENTRE DOS ARDUINOS CON RF

TPR 3ºESO. Departamento de Tecnología. IES Nuestra Señora de la Almudena Mª Jesús Saiz TEMA 5: ROBÓTICA

CONSTRUCCION DE TIMER PARA VUELO CIRCULAR CON MOTOR ELECTRICO

3 Sensores y transductores. Alfaomega. Material Web. Arduino 2. Electrónica en arquitectura abierta 7

EL SENSOR DE SONIDO KY-038 (VERSION )

El modulo cuenta con un led indicador, para saber en qué estado se encuentra.

Control de LCD y sensor de temperatura

Descripción Técnica SÓLO PARA USO INTERNO. Documento:

# CÓDIGODE ACCESO. Manual para aprender a programar con hardware

Registrador de datos de bajo coste y acceso remoto. (Datalogger)

INTRODUCCIÓN DESCRIPCIÓN... 4 Características Hardware... 4

PRÁCTICA NÚMERO 3: ENCENDIDO DE UN LED MEDIANTE EL USO DE LA PLATAFORMA CAYENNE

AUTOMATIZACIÓN - CURSO: Práctica 4: Sistema de Monitorización de tiempo mediante Arduino

PRÁCTICA NÚMERO 5: COMUNICACIÓN ENTRE DOS ARDUINOS CON RF

Motor Paso a Paso Stepper Unipolar

SHIELD UC20 ARDUINO MODULO 3G

TPR 3ºESO. Departamento de Tecnología. IES Nuestra Señora de la Almudena Mª Jesús Saiz TEMA 6: ROBÓTICA

CAPACITIVE TFT TOUCH SHIELD ADAFRUIT. Número de parte: ADA Descripción:

2. Programación en Arduino

Empieza con // y termina con la siguiente línea de código. Son ignorados por el programa y no ocupan espacio en memoria.

Comunicación Arduino Bluetooth JY-MCU

Dispositivos de Entrada/Salida

Transcripción:

ABC PROYECTOS ELECTRÓNICOS ABCelectronica.net 1 Descripción Este es un reloj de tiempo real con batería de respaldo (RTC Real Time Clock) que permite al microcontrolador mantener tiempo; hora y fecha, aún si el circuito electrónico en el que se encuentra se queda sin energía. Es perfecto para llevar registro de datos, reloj de capacidad, sellado de tiempo, temporizadores y alarmas, etc. Este RTC se usa en conjunto con un microcontrolador. El DS1307 RTC es el más popular, y funciona mejor con los microcontroladores basados en 5V como el Arduino. Un reloj de tiempo real es básicamente un reloj que funciona con una batería y mantiene la hora, incluso cuando hay un corte de energía. El uso de un RTC, puede realizar un seguimiento de los plazos largos, aunque se reprogramar el microcontrolador al desconectarlo del USB o de un enchufe de alimentación.

ABC PROYECTOS ELECTRÓNICOS ABCelectronica.net 2 La mayoría de los microcontroladores incluyendo el Arduino, tienen incorporado un reloj llamado millis y también cuentan con temporizadores incorporados en el circuito integrado que puede realizar un seguimiento de los períodos de tiempo más largos como minutos o días. Millis sólo realiza un seguimiento del tiempo transcurrido desde la última vez que se usó Arduino. Esto significa que cuando la alimentación se enciende, el temporizador de milisegundos se ajusta a 0. El Arduino no sabe que es "Lunes" o "09 de abril", lo único que puede decir es "Hace 14.000 milisegundos desde la última vez encendí. Si desea ajustar la hora en el Arduino sin tener el modulo DS1307 Tendría que programar en el la fecha y hora para que empiece a contar desde ese momento. Pero si debe corta la alimentación, tendría que reajustar la hora. Al igual que los relojes de alarma muy baratos: cada vez que pierden la alimentación quedan parpadeando con la hora 12:00. Si bien este tipo de cronometraje básico está bien para algunos proyectos, algunos proyectos tales como registradores de datos, relojes, etc., tendrán que tener cronometraje consistente que no se restablece cuando la batería Arduino muere o se reprograme. Por lo tanto, se incluye un RTC independiente. El circuito integrado RTC se especializa en mantener la noción del tiempo. Se puede contar con años bisiestos y saber cuántos días se encuentran en un mes, pero no hacerse cargo de horario de verano (porque cambia de un lugar a otro, y de un RTC a otro). La imagen de arriba muestra una placa base con un reloj de tiempo real y dentro hay una batería de litio, es por eso que es tan grande.

ABC PROYECTOS ELECTRÓNICOS ABCelectronica.net 3 El RTC que es más común y de bajo costo es el DS1307, fácil de soldar, y puede funcionar durante años en una placa de PCB muy pequeña del tamaño de hasta una moneda. DS1307 En encapsulado DIP En conjunto se utiliza una pila de botón (batería de litio 3V CR2025 o CR2032), el DS1307 se activara lo largo de mucho tiempo, incluso cuando el Arduino se apague o se reprograme. Librería de Arduino Cualquier microcontrolador de 5V con protocolo de comunicación i2c integrado puede utilizar fácilmente el DS1307 y el más usado con este es el Arduino. Para la biblioteca RTC, se debe utilizar la librería RTClib de JeeLab, permite obtener y establecer el tiempo de un DS1307 (originalmente escrito por JeeLab). Lo pueden descargar del siguiente link: https://github.com/adafruit/rtclib Para saber cómo instalar una librería visite el siguiente link

ABC PROYECTOS ELECTRÓNICOS ABCelectronica.net 4 Cableado del módulo a la plataforma Arduino Primero se debe de colocar la batería en el porta batería del módulo, el cual se encuentra en la parte inferior. El modulo posee 6 pines: SQ, DS, SCL, SDA, VCC, GND y BAT. De los cuales para esta práctica, 4 son de vital importancia: SCL, SDA, VCC y GND los cuales corresponden a: VCC y GND: Se utilizan 5V para alimentar el circuito integrado RTC cuando se desea consultar por el tiempo desde el microcontrolador. Si no hay señal de 5V, el chip se va a dormir usando la energía de la batería de litio de 3V para efectuar la copia de seguridad. SCL es el pin de reloj i2c - es necesario para la comunicación con el RTC SDA es el pin de datos I2C - es necesario para la comunicación con el RTC En caso de utilizar Arduino UNO o LEONARDO el cableado deberá de ser de la siguiente manera: En caso de Arduino UNO y LEONARDO los pines de comunicación I2C se encuentran cerca del pulsador de RESET y corresponden a SCL y SDA:

ABC PROYECTOS ELECTRÓNICOS ABCelectronica.net 5 En caso de utilizar Arduino MEGA 2560, los pines 20 y 21 corresponden a SDA y SCL

ABC PROYECTOS ELECTRÓNICOS ABCelectronica.net 6 Descripción del código El código consta de la escritura y lectura del horario, pero para una mayor comprensión iniciaremos con la lectura. LECTURA DE HORA //Ejemplo básico para la lectura de la hora y fecha //del módulo DS1307 //www.abcelectronica.net #include <Wire.h> //llamado de libreria #include "RTClib.h" //llamado de libreria DS1307 RTC_DS1307 RTC; void setup() { Serial.begin(57600); Serial.println("Inicio de lectura"); Wire.begin(); RTC.begin(); void loop() { DateTime now = RTC.now();// funcion que regresa tiempo Serial.print(now.year(), DEC);//año Serial.print('/'); Serial.print(now.month(), DEC);//mes Serial.print('/'); Serial.print(now.day(), DEC);//dia Serial.print(' '); Serial.print(now.hour(), DEC);//hora Serial.print(':'); Serial.print(now.minute(), DEC);//minuto Serial.print(':'); Serial.print(now.second(), DEC);//segundo Serial.println(); delay(950); Utilizando la función callnow() esta nos regresa el objeto DateTime el cual describe el año, mes, día, hora, minuto y segundo. Dentro de la librería se encuentran RTC.year() que proporciona el año, RTC.hour() que proporciona la hora y así sucesivamente.

ABC PROYECTOS ELECTRÓNICOS ABCelectronica.net 7 Una vez cargado el código, en el monitor serial (herramientas>monitor serial) se observara algo como lo siguiente: Esto significa que el RTC no posee la hora, por lo que el tiempo será de 0:0:0, debido a que anteriormente no tenía la batería instalada o no fue escrita la hora y fecha. Por lo que una vez instalada la batería se recomienda no quitarla para no perder la hora.

ABC PROYECTOS ELECTRÓNICOS ABCelectronica.net 8 ESCRITURA DE HORA El código a continuación corresponde al mismo de lectura pero con tres líneas de programación adicionales: //Ejemplo basico para la lectura de la hora y fecha //del modulo DS1307 //www.abcelectronica.net #include <Wire.h> //llamado de libreria #include "RTClib.h" //llamado de libreria DS1307 RTC_DS1307 RTC; void setup () { Serial.begin(57600); Wire.begin(); RTC.begin(); if (! RTC.isrunning()) { Serial.println("RTC is NOT running!"); // La siguiente linea de codigo permite escritura de la hora y fecha de la PC RTC.adjust(DateTime( DATE, TIME )); void loop () { 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(); delay(950);

ABC PROYECTOS ELECTRÓNICOS ABCelectronica.net 9 La función RTC.adjust que se encuentra en la línea de código siguiente: Permite tomar la fecha y hora según el equipo (PC) en que se encuentra conectado el Arduino y permite programar el RTC. Por lo que se debe tomar en cuenta que la PC tenga la hora correcta. OJO: Una vez abierto el software deberá de cargar inmediatamente el código de escritura, ya que si lo compila y lo carga más tarde, el reloj se apagará y el tiempo se encontrara atrasado. Una vez cargado el código, en el monitor serial (herramientas>monitor serial) se observara algo como lo siguiente: Una vez realizada la escritura de la hora en el RTC, se recomienda cargar nuevamente el codigo de LECTURA u otro codigo que no posea las tres lineas adicionales ya que puede existir una sobreescritura cada vez que se conecte el arduino a la PC. Tomar en cuenta que los baudios del monitor serial deben ser iguales al de código programación ya que de lo contrario aparecerán símbolos de modo aleatorio. Sobre referencia de la información y para conocer más sobre el código: Adafruit