porno

Hacklink

Hacklink Panel

Hacklink panel

Hacklink

bahislion

Hacklink panel

Backlink paketleri

Hacklink Panel

Hacklink

Hacklink

Hacklink

Hacklink panel

Hacklink

Hacklink

Hacklink

Hacklink

Hacklink panel

Eros Maç Tv

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink satın al

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Illuminati

Hacklink

Hacklink Panel

Hacklink

Hacklink Panel

Hacklink panel

Hacklink Panel

Hacklink

Masal oku

Hacklink

Hacklink

Hacklink

Hacklink

Hacklink

Hacklink

Hacklink

Hacklink panel

Postegro

Masal Oku

Hacklink

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink

Hacklink

Hacklink

Hacklink

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink

Hacklink

Hacklink Panel

Hacklink

websiteseochecker

Hacklink

Hacklink

Buy Hacklink

Hacklink

Hacklink

Hacklink

Hacklink satın al

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink

Masal Oku

Hacklink panel

Hacklink

Hacklink

หวยออนไลน์

Hacklink

https://www.wowturkey.com/

Hacklink satın al

Hacklink Panel

Netbahis

piabet

taraftarium24

selçuksports

nakitbahis

pulibet

vidobet

pulibet

lunabet

vidobet

holiganbet

casibom

casinolevant

cratosroyalbet

pashagaming

betasus

betebet

perabet

galabet

orisbet

ankara escort

interbahis

romabet

polobet

winxbet, winxbet giriş

kingroyal

bahiscasino, bahiscasino giriş

pulibet

winxbet, winxbet giriş

bahiscasino, bahiscasino giriş

kulisbet, kulisbet giriş

galabet

galabet giriş

pashagaming

realbahis

betebet

betebet giriş

venusbet

tlcasino

betgaranti güncel giriş

betticket

pulibet

ultrabet

betlike

cratosroyalbet

mavibet

kavbet

betpas giriş

kavbet

meritking

romabet

romabet

jojobet

jojobet

meritking

meritking

lunabet

kingroyal

kavbet

mavibet

meritking

meritking giriş

meritking güncel

meritking güncel giriş

limanbet

vevobahis

betebet

meritking

jojobet

ikimisli

meritking

meritking giriş

meritking güncel giriş

meritking mobil

meritking ios

betwoon

meritking

sábado, marzo 14, 2026
InicioProgramaciónArduino DS1302 DHT11 Reloj + Temperatura + LCD

Arduino DS1302 DHT11 Reloj + Temperatura + LCD

En este tema se comparte un reloj con el DS1302 y sensor de temperatura ambiental e higometro con el DHT11.

El diagrama de conexion es el siguiente

El codigo lo puedes copiar y pegar en tu sketch

#include <LiquidCrystal_I2C.h> // libreria para el LCD
// CONNECTIONS: del  DS1302
// DS1302 CLK/SCLK --> 5
// DS1302 DAT/IO --> 4
// DS1302 RST/CE --> 2
// DS1302 VCC --> 3.3v - 5v
// DS1302 GND --> GND
#include <DHT11.h>
// conexiones del DHT11
// terminal data se conecta a D6

int pin=6;  // al Data de DHT11
DHT11 dht11(pin); 
#include <ThreeWire.h>  //librería para DS1302
#include <RtcDS1302.h>  //librería para DS1302

volatile int anio;
volatile int mes;
volatile int dia;
volatile int hora;
volatile int minuto;
volatile int segundo;
volatile int contador,xsegundo;
char texto[2];
const char * months[] ={"ENE","FEB","MAR","ABR","MAY","JUN","JUL","AGO","SEP","OCT","NOV","DIC"};



ThreeWire myWire(4,5,2); // IO, SCLK, CE
RtcDS1302<ThreeWire> Rtc(myWire);
LiquidCrystal_I2C lcd(0x27, 16, 2);
#define countof(a) (sizeof(a) / sizeof(a[0]))

const char data[] = "what time is it";
String meridiano="  ";
void setup () 
{
    Serial.begin(9600);
    Serial.print("compiled: ");
    Serial.print(__DATE__);
    Serial.println(__TIME__);
        
    Rtc.Begin();

    RtcDateTime compiled = RtcDateTime(__DATE__, __TIME__);
    printDateTime(compiled);
    Serial.println();

    if (!Rtc.IsDateTimeValid()) 
    {
        Serial.println("¡RTC perdió la confianza en el DateTime!");
        Rtc.SetDateTime(compiled);
    }

    if (Rtc.GetIsWriteProtected())
    {
        Serial.println("RTC estaba protegido contra escritura, lo que permite escribir ahora");
        Rtc.SetIsWriteProtected(false);
    }

    if (!Rtc.GetIsRunning())
    {
        Serial.println("RTC no se estaba ejecutando activamente, comenzando ahora");
        Rtc.SetIsRunning(true);
    }
    
  lcd.begin();
  lcd.setCursor(0, 0);
    RtcDateTime now = Rtc.GetDateTime();
    if (now < compiled) 
    {
        Serial.println("¡RTC es más antiguo que el tiempo de compilación! (Actualizando DateTime)");
        Rtc.SetDateTime(compiled);

    }


/* comentario en una segunda ejecución para ver que la información se almacena a largo plazo */
    // Store something in memory on the RTC
    uint8_t count = sizeof(data);
    uint8_t written = Rtc.SetMemory((const uint8_t*)data, count); // esto incluye un terminador nulo para la cadena
    if (written != count) 
    {
        Serial.print("Algo no esta bien, count = ");
        Serial.print(count, DEC);
        Serial.print(", written = ");
        Serial.print(written, DEC);
        Serial.println();
       
    }
/* fin de la sección de comentarios */

  lcd.clear();
  lcd.setCursor(0,0);
  lcd.print("--RELOJ DIGITAL-");
  lcd.setCursor(0,1);

  delay(2000);
  lcd.clear();

}

void loop () 
{
  if(segundo!=xsegundo){
    contador ++;
    contador=contador%2;
    xsegundo=segundo;

  }

// temperatura
  int err;
  float temp, humi;
  if((err=dht11.read(humi, temp))==0  and contador==1)  //realiza consulta de temperatura cada segundo
  {
    // salida a la pantalla, estas lineas se pueden omitir
    Serial.print("Temperatura:");
    Serial.print(temp);
    Serial.print(" Humedad:");
    Serial.print(humi);
    Serial.println();*/
  }else{
    // salida a la pantalla, estas lineas se pueden omitir
    Serial.println();
    Serial.print("Error No :");
    Serial.print(err);
    Serial.println();    
  }
  // fin de temperatura

    RtcDateTime now = Rtc.GetDateTime();  //obtiene la hora y fecha
    printDateTime(now);
    
  if (hora >= 0 && hora<=11){
     meridiano=" AM"; 
    }
    if (hora >= 12 && hora<=23){
      meridiano=" PM"; 
    } 

     
    lcd.setCursor(0,0);
// bloque para usar formato de 12 horas
    if (hora >= 0 && hora<=12){
        sprintf(texto, "%02d",hora);
        lcd.print(texto); 
    }
    if (hora >= 13 && hora<=23){
         sprintf(texto, "%02d",hora-12);
        lcd.print(texto); 
    }   
    

    lcd.print(":");

    sprintf(texto, "%02d",minuto);
    lcd.print(texto); 
    lcd.print(":");
    sprintf(texto, "%02d",segundo);
    lcd.print(texto); 
    //siguiente linea

    lcd.print(meridiano); 
    lcd.print("  ");
    lcd.print(temp); 
    lcd.setCursor(15,0);
    lcd.print("C");
     
    lcd.setCursor(0,1);
    sprintf(texto, "%02d",dia);
    lcd.print(texto);
    lcd.print(" ");
    lcd.print(months[mes-1]);
    lcd.print(" ");
    lcd.print(anio);

    lcd.setCursor(13,1);
    lcd.print(humi);
    lcd.setCursor(15,1);
    lcd.print("H");
  
  
}


void printDateTime(const RtcDateTime& dt)
{
  dia=  dt.Day();
  mes=dt.Month();
  anio= dt.Year();
  hora=  dt.Hour();
  minuto=dt.Minute();
  segundo= dt.Second();
}

para algún otro proyecto, deje sus comentarios

RELATED ARTICLES

DEJA UNA RESPUESTA

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments