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

casibom

cratosroyalbet

pashagaming

ankara escort

winxbet, winxbet giriş

bahiscasino, bahiscasino giriş

winxbet, winxbet giriş

bahiscasino, bahiscasino giriş

kulisbet, kulisbet giriş

betpas giriş

meritking

betwoon

vidobet

vidobet

casibom

bahsegel

interbahis

betebet

kingroyal

betticket

bahibom

kingroyal

casinofast

cratosroyalbet

grandpashabet

matbet

grandpashabet

sekabet

cratosroyalbet

grandpashabet

onwin

sahabet giriş

tipobet

sahabet

tipobet

interbahis

interbahis giriş

tlcasino

portobet

pulibet

betnano

betlike

betlike giriş

perabet

jojobet

jojobet giriş

galabet

betebet

jojobet

jojobet giriş

jojobet güncel giriş

perabet

pusulabet

betcup

odeonbet

kingroyal

perabet

perabet giriş

jojobet

kingroyal

betvole

betvole giriş

betvole güncel giriş

betvole

betvole giriş

meritking

nerobet

betcio

betcio

casibom

casibom giriş

casibom güncel giriş

vizyonbet

winxbet

prensbet

vizyonbet

milosbet

prensbet

kavbet

holiganbet

holiganbet giriş

alobet

roketbet

lunabet

perabet

perabet giriş

perabet güncel

jojobet

nakitbahis

artemisbet

betcio

casivera

betcio giriş

alobet

lunabet

romabet

romabet giriş

romabet

celtabet

betnis

casibom

betnis giriş

medusabahis

marsbahis

ultrabet

ultrabet giriş

vdcasino

betnano

mavibet

mavibet giriş

matbet

kingbetting

grandbetting

gamdom

gamdom

nakitbahis

nakitbahis giriş

jojobet

betcio

sonbahis

sonbahis giriş

meritking

meritking giriş

kingroyal

kingroyal giriş

madridbet

madridbet

lunes, marzo 16, 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