//       (o\---/o)           
//        ( , , )
// ___,--.(_(Y)_),--.____
//|   "--"       "--"    |
//| Don't Worry Be Happy |
//| HECTOR E. VILLARREAL |
//|         2023         |
//|______________________|
//       )   |   (
//      (___,'.___) 
//Datos de temperatura de Dallas DS18B20 a google sheets ver 1.00 09-12 23
//---------------------------------------------------------------------------------------------------
//Librerias
//--------------------------------------------------------------
#include <LiquidCrystal.h>
#include <Arduino.h>
//--------------------------------------------------------------
#include <OneWire.h>
#include <DallasTemperature.h>
//--------------------------------------------------------------
//Declaración de los PULSADORES, VARIABLES Y LED
//--------------------------------------------------------------
//Declaración de DALLAS ESP32
// Pin donde se conecta el bus 1-Wire
const int oneWirePin = 6;
OneWire oneWireBus(oneWirePin);   //Se establece el pin 6  como bus OneWire
//--------------------------------------------------------------

// Instancia a las clases OneWire y DallasTemperature
DallasTemperature sensorDS18B20(&oneWireBus);
// arrays to hold device address
DeviceAddress insideThermometer;
//--------------------------------------------------------------
const int value0 = 196009052; // Constante ID del dispositivo
//volatile int estado = HIGH;      //estado inicial
const int ledPin = LED_BUILTIN;  // LED EMBEBIDO

unsigned long lastDebounceTimeEntrada = 0;  // variable tiempo antirrebotes
unsigned long debounceDelay = 300;         // Retardo antirrebotes
//--------------------------------------------------------------
//Declaración del LCD ESP32
//--------------------------------------------------------------
LiquidCrystal lcd(10, 1, 3, 2, 0, 9);  // Corresponde a (RS, EN, D4, D5, D6, D7)
//--------------------------------------------------------------
// Declaracion variables 

volatile int valuetemp = 0;
int value1 = 0; // variable de registro
volatile int value2 = 0;  // variable Contador de entrada
volatile int value3 = 0;  // variable Contador de salida
//------------------------------------------------------------------------------------------------------
//INICIALIZACION y CONFIGURACION del sistema
//------------------------------------------------------------------------------------------------------
void setup() {

  Serial.begin(9600);
  sensorDS18B20.begin();   // Iniciamos el bus 1-Wire
  Serial.println("Dallas Temperature Control");

  // locate devices on the bus
  Serial.print("Locating devices...");
  Serial.print("Found ");
  Serial.print(sensorDS18B20.getDeviceCount(), DEC);
  Serial.println(" devices.");

//--------------------------------------------------------------
#include "mensaje_inicio.h" //Mensaje de inicio
  
//--------------------------------------------------------------
// Configura el led BUILTIN
  pinMode(LED_BUILTIN, OUTPUT);
//--------------------------------------------------------------  
  lcd.clear();
  lcd.setCursor(0, 0); // Selecciono la Primera linea
  lcd.print("Contr.Temp v 1.0"); // escribimos en la primera linea
  delay(3000);

}
//--------------------------------------------------------------

//--------------------------------------------------------------
//Programa a ejecutar LOOP
//--------------------------------------------------------------
void loop() {
  sensorDS18B20.requestTemperatures(); //Se envía el comando para leer la temperatura
  float valuetemp=sensorDS18B20.getTempCByIndex(0);   //Se obtiene la temperatura en ºC

// Leemos y mostramos los datos de los sensores DS18B20
    Serial.print("Temperatura sensor 0: ");
    Serial.print(sensorDS18B20.getTempCByIndex(0));
    Serial.println(" C");
    
// incremento de cantidad de registros
  value1 ++;

  //valuetemp= value2;
  value2 = random(0,70);
  value3 = random(0,100000);

// Envía DATOS al lcd
  lcd.clear();
  lcd.setCursor(0, 0); // Selecciono la Primera linea
  lcd.print("Contr.Temp v 1.0"); // escribimos en la primera linea
  lcd.setCursor(0, 1);
  lcd.print("T=");
  lcd.print(valuetemp);
  lcd.setCursor(10, 1);
  lcd.print((char)223);
  lcd.print("C");


  
// Destellos del led
  digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);                    // wait for a second
  digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
  delay(1000);                    // wait for a second

}
Loading
esp32-c3-devkitm-1
Loading
ds18b20