Está en la página 1de 20

Proyecto Tercera Unidad

de Temperaturas a distancia

Institución: Liceo Canadiense


Sede: Roosevelt y Bosques
Catedrático: Héctor Santos
Grado: 6to Electrónica

Integrantes:
Anthony Coc
Cristian Garcia
Cristian Pérez
Tema: Medidas

Jordán García
Nesthor Guillermo
Introducción
Se nos dio un problema que era monitorear las diferentes temperaturas de diferentes
localizaciones a través de internet, con lo aprendido en clase pudimos desarrollar una
programación la cual nos dé en físico lecturas a través de una LCD y un LED RGB con
el fin de indicar por si no se tiene acceso a internet o teléfono inteligente, peros si
poseemos lo que cosas que se pueden conectar a internet (pc, laptop, teléfono), podemos
descarga la app y monitorear desde ellas sin estar cerca solo conectaos a internet.
Medición de temperaturas en diferentes lugares
Lo primero que hicimos fue plantearnos los materiales a utilizar que fueron:
- Sensor de temperatura DHT 11
- LCD con modulo I2C
- LED RGB (Normal o con modulo)
- ESP32 o Wemos
- Protoboard
- Cable USB o baterías para alimentar la placa máxima 5v
- Jumper para hacer las conexiones
Para que se usó cada componente:
El DHT 11 se utilizó ya que es económico y da una medición buena para su costo al
igual que es fácil de utilizar para programación y conexiones.
La pantalla LCD con I2C se utiliza para mostrar de forma física a cuanto esta la
temperatura sin necesitar algún teléfono por si no se posee en el lugar donde está al
igual que el ahorrar algunas conexiones y que la comunicación seas mas precisa al
momento de dar muestra lo que queremos de forma correcta y precisa.
EL LED RGB se utiliza para dar de forma física una llamativa visual de cómo está la
temperatura sin ver la LCD.
Las placas ESP32 o Wemos son las encargadas de hacer todo esto posible ya que estas
están encargadas de hacer los procesos que nosotros declaremos en la programación al
igual que se pueden conectar a internet mandar eso mismo a una “broken” con el fin de
este nos ayude después a bajar la temperatura de estar de diferente típico y poderlos ver
en una app.
El protoboard nos ayuda hacer las conexiones de forma fácil ya que no tenemos palca
física donde poner todo y soldarlo.
El cable USB o baterías son la que alimenta la placa asi esta puede funcionar.
Los jumpers nos ayudan hacer las conexiones a larga distancia y no soldar de no ser
necesario.
Foto de programación utilizada para la placa en Arduino:

Programación:
#include <WiFi.h>
#include <PubSubClient.h>

const char* ssid = "Familia_G-Ch";


const char* password = "FamiliK.13";
String messageData;

const char* mqtt_server="broker.mqttdashboard.com";

WiFiClient esp32;
PubSubClient client(esp32);

long lastMsg = 0;
long lastMsg2 = 0;
char msg [50];

char data_Temperatura_C_MG [10]="";


char data_Humedad_H_MG [10]="";

#include <DHT.h>
#include <DHT_U.h>
#define Type DHT11
int dhtpin = 23;
DHT HT (dhtpin, Type);v
float humidity;
float tempC;
float tempF;
// LCD
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd (0x27, 16, 2);

//RGB
int rojo = 15;
int azul = 2;
int verde = 4;

void config_wifi(){
//Conectando se a una red wifi
Serial.print ("Conectandose a la red ");
Serial.println (ssid);
WiFi.begin (ssid, password);
while (WiFi. status () !=WL_CONNECTED) {
delay (500);
Serial.print (",");
}
Serial.println ("") ;
Serial.print ("ESP32 conectado, su IP es: ");
Serial.println (WiFi. localIP());
}

void callback(String topic, byte* message, unsigned int length){


Serial.print ("Mensaje que llega del topic: ");
Serial.print (topic);
Serial.print (". Message: ");
//String message Data:
for (int i =0; i<length; i++) {
Serial.print ( (char) message [i]);
messageData += (char) message [i];
}
Serial.println();
}

void reconnect(){
while (!client.connected()){
Serial.print ("Iniciando conexión con Broker . . ");
String clienteId = "ESP32";
if (client.connect (clienteId.c_str())){
Serial.println ("Conectado ");
client.subscribe ("esp32iot");
}
else{
Serial. print ("Failed, rc=") ;
Serial.print (client .state());
Serial.println (" esperando 3 segundo ");
delay (3000);
}
}
}

void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(rojo, OUTPUT);
pinMode(azul, OUTPUT);
pinMode(verde, OUTPUT);
HT. begin();
config_wifi();
client.setServer(mqtt_server,1883);
client.setCallback(callback);

void loop() {
if(!client.connected()){
reconnect();
}

// Sensor Humedad, temperaturas en ºC y ºF

humidity = HT.readHumidity();
tempC = HT.readTemperature();
tempF = HT.readTemperature(true);
Serial.print("Humedad: ");
Serial.println(humidity);
Serial.print("Temperatura en ºC: ");
Serial.println(tempC);
Serial.print("Temperatura en ºF: ");
Serial.println(tempF);
Serial.println("");
delay(100);
sprintf(data_Temperatura_C_MG,"%3.2f", tempC);
client.publish("/Temperatura_Aguilas_MG", data_Temperatura_C_MG);
sprintf(data_Humedad_H_MG,"%3.2f", humidity);
client.publish("/Humedad_Aguilas_MG", data_Humedad_H_MG);

lcd.init();
lcd.backlight();
lcd.clear();
lcd.setCursor(0,0);
lcd.print("TemC = ");
lcd.setCursor(7,0);
lcd.print(tempC);
lcd.setCursor(0,1);
lcd.print("Hum = ");
lcd.setCursor(7,1);
lcd.print(humidity);
if (tempC<25){
digitalWrite(azul, HIGH);
digitalWrite(rojo, LOW);
digitalWrite(verde, LOW);
}

if (tempC>25){
digitalWrite(azul, LOW);
digitalWrite(rojo, HIGH);
digitalWrite(verde, HIGH);
}

if (tempC>30){
digitalWrite(azul, LOW);
digitalWrite(rojo, HIGH);
digitalWrite(verde, LOW);
}
}

Link del video explicando la programación:


https://www.youtube.com/watch?v=n__qWrCbXao
Mapa con las ubicaciones de los compañeros:
Diagrama, PCB y 3D de los integrantes de cada circuito:

• Nesthor Guillermo
- Link del video hablando del diagrama PCB y 3D:
https://www.youtube.com/watch?v=MLl_wtMwi-s&feature=youtu.be
• Mateo Garcia
- Link del video hablando del diagrama PCB y 3D:
https://www.youtube.com/watch?v=DBH5CL5NxSo
• Jordan Garcia
- Link del video hablando del diagrama PCB y 3D:
https://www.youtube.com/watch?v=oM0DMpbiXSE
• Edgar Coc
- Link del video hablando del diagrama PCB y 3D:
https://drive.google.com/file/d/1cNFf7VHgggvSkqyGYjL0S-PLFqF_1ltO/view
• Cristian Rafael
- Link del video hablando del diagrama PCB y 3D:
https://www.youtube.com/watch?v=iYWURPjt3w0
Videos:

- Video demostración por separado Funcionamiento de circuito:


• Nesthor Guillermo
https://www.youtube.com/watch?v=P_RK3xIdrMY
• Mateo Garcia:
https://www.youtube.com/watch?v=sA9QxCf_NY4
• Cristian Pérez
https://www.youtube.com/watch?v=YNzcSMHgV4M
• Jordan Garcia
https://www.youtube.com/watch?v=H0CfUEZCkps

• Edgar Coc
https://drive.google.com/file/d/1cqMS5BtGsU_EUXxrB_1qnuk1D-
vYTawr/view

- Video todos juntos mandando datos a node-red:


https://www.youtube.com/watch?v=zq4feD5uK5c

También podría gustarte