/* PRUEBA DE CONEXION Y COMUNICACION PANTALLA,RELOJ Y SENSOR DE TEMPERATURA
++ LOS PINES DE CONEXION DE CADA MODULO ESTAN NUMERADOS DE IZQ. A DER.++
[ CONEXION PINES DE LA PANTALLA LCD ]
- Pin 1 (RST) -> Arduino digital 6 (D6)
- Pin 2 (CE) -> Arduino digital 7 (D7)
- Pin 3 (DC) -> Arduino digital 5 (D5)
- Pin 4 (DIN) -> Arduino digital 4 (D4)
- Pin 5 (CLK) - Arduino digital 3 (D3)
- Pin 6 (Vcc) -> 3.3V
- Pin 7 (LIGHT) -> NO CONECTAR
- Pin 8 (GND) -> GND
[CONEXION PINES DEL SENSOR DE TEMPERATURA Y HUMEDAD]
- Pin 1 (Vcc) -> +5V
- Pin 2 (DATA) -> D7 Arduino
- Pin 3 (NC) -> No Conectar
- Pin 4 (GND) -> GND
[CONEXION PINES DEL RELOJ]
- Pin 1 (GND) -> GND
- Pin 2 (Vcc) -> +5V
- Pin 3 (SDA) -> SDA Arduino
- Pin 4 (SCL) -> SCL Arduino
*/
//IMPORTAR LIBRERIAS PARA CONTROLAR MODULOS
#include <Adafruit_GFX.h> //libreria de pantalla LCD
#include <Adafruit_PCD8544.h> //libreria de pantalla LCD
// Adafruit_PCD8544 display = Adafruit_PCD8544(SCLK, DIN, DC, CS, RST);
Adafruit_PCD8544 display = Adafruit_PCD8544(6, 5, 4, 3, 2);
#include <DHT.h> //Libreria del sensor de temperatura y humedad DHT11
#define DHTPIN 7 // Se indica en que pin digital esta conectado el sensor
#define DHTTYPE DHT11 // Indicamos el tipo de sensor DHT 11
DHT dht(DHTPIN, DHTTYPE);
#include <Wire.h> //Libreria protocolo comunicacion I2C
#include "RTClib.h" //libreria de modulo reloj
RTC_DS1307 RTC;
void setup () {
Serial.begin(9600); //Inicio comunicacion puerto serie
display.begin(); //Inicio pantalla
display.setContrast(60); //Defino contraste apropiado
display.clearDisplay(); //limpio la pantalla
dht.begin(); //Inicio sensor DHT11
// IMPRIMO MENSAJE DE COMIENZO POR PANTALLA
display.setTextSize(1);
display.setTextColor(BLACK);
display.setCursor(0,0);
display.println("PRUEBA DE");
display.setCursor(24, 8);
display.print("PROYECTO");
display.setCursor(1, 24);
display.print("lcd-reloj");
display.setCursor(0, 32);
display.print("temp&humedad");
display.setCursor(0, 40);
display.print("version ");
display.setTextColor(WHITE, BLACK);
display.print("1.0");
display.display();
delay (10000);
display.clearDisplay();
Wire.begin(); //inicio comunicacion I2C
Wire.beginTransmission(0x68); //Inicio comunicacion con direccion del reloj
Wire.write(0x07); // move pointer to SQW address
Wire.write(0x10); // sends 0x10 (hex) 00010000 (binary) to control register - turns on square wave
Wire.endTransmission();
RTC.begin(); //Inicio comunicacion reloj
// RTC.adjust(DateTime(DATE, TIME));
// Descomenta la linea de arriba si necesitas ajustar el reloj
if (! RTC.isrunning()) {
Serial.println("Algo falla en el reloj!");
}
}