Arduino - Monitor Serial y Baudios // Control de temp, humedad y luz

 
Vista:

Monitor Serial y Baudios // Control de temp, humedad y luz

Publicado por Lautaro Joel (3 intervenciones) el 01/07/2020 15:20:57
Buenas, estoy intentando conectar un dht22 para medir temperatura y humedad y una fotorresistencia para medir luz y que los valores se muestren en el monitor serial.

Probando solo el valor de la fotorresistencia funciona bien, tambien cuando pruebo el dht22. El problema viene cuando los quiero unir en un solo programa.

Creo que puede llegar a ser un problema de alimentacion ya que ambos van al 5v de arduino y la placa se apaga aun conectada al puerto com5 de la pc, y cuando desconecto el pin de 5v vuelve a encender.

Aun asi tengo una duda con los "Baudios". En el programa del dht uso 57600 baudios pero en el programa de la fotorresistencia ldr uso 11520, eso me genera la duda de que serial begin usar en el programa y que baudios usar en el monitor serial.

El codigo es el siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include "DHT.h"
#define DHTTYPE DHT22
#define DHTPIN 2
const long A = 1000;     //Resistencia en oscuridad en KΩ
const int B = 15;        //Resistencia a la luz (10 Lux) en KΩ
const int Rc = 10;       //Resistencia calibracion en KΩ
const int LDRPin = A0;   //Pin del LDR
 
int V;
int ilum;
DHT dht(DHTPIN, DHTTYPE);
 
void setup()
{
   Serial.begin(115200);
  Serial.println("Iniciando...");
  dht.begin();
}
 
void loop()
{
 
   V = analogRead(LDRPin);
 
   //ilum = ((long)(1024-V)*A*10)/((long)B*Rc*V);  //usar si LDR entre GND y A0
   ilum = ((long)V*A*10)/((long)B*Rc*(1024-V));    //usar si LDR entre A0 y Vcc (como en el esquema anterior)
 
   Serial.println(ilum);
 
  float h = dht.readHumidity(); //Leemos la Humedad
  float t = dht.readTemperature(); //Leemos la temperatura en grados Celsius
  float f = dht.readTemperature(true); //Leemos la temperatura en grados Fahrenheit
  //--------Enviamos las lecturas por el puerto serial-------------
  Serial.print("Humedad ");
  Serial.print(h);
  Serial.print(" %t");
  Serial.print("Temperatura: ");
  Serial.print(t);
  Serial.print(" *C ");
  Serial.print(f);
  Serial.println(" *F");
   delay(5000);
}


Lo que me devuelve los valores
"0
Humedad nan %tTemperatura: nan *C nan *F" (Donde 0 la luminosidad del ldr).

PROGRAMA SOLO DEL DHT:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include "DHT.h"
 
#define DHTPIN 2     // Pin donde está conectado el sensor
 
//#define DHTTYPE DHT11   // Descomentar si se usa el DHT 11
#define DHTTYPE DHT22   // Sensor DHT22
 
DHT dht(DHTPIN, DHTTYPE);
 
void setup() {
  Serial.begin(9600);
  Serial.println("Iniciando...");
  dht.begin();
}
void loop() {
  delay(2000);
  float h = dht.readHumidity(); //Leemos la Humedad
  float t = dht.readTemperature(); //Leemos la temperatura en grados Celsius
  float f = dht.readTemperature(true); //Leemos la temperatura en grados Fahrenheit
  //--------Enviamos las lecturas por el puerto serial-------------
  Serial.print("Humedad ");
  Serial.print(h);
  Serial.print(" %t");
  Serial.print("Temperatura: ");
  Serial.print(t);
  Serial.print(" *C ");
  Serial.print(f);
  Serial.println(" *F");
}

PROGRAMA SOLO DEL LDR:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
const long A = 1000;     //Resistencia en oscuridad en KΩ
const int B = 15;        //Resistencia a la luz (10 Lux) en KΩ
const int Rc = 10;       //Resistencia calibracion en KΩ
const int LDRPin = A0;   //Pin del LDR
 
int V;
int ilum;
 
void setup()
{
   Serial.begin(115200);
}
 
void loop()
{
   V = analogRead(LDRPin);
 
   //ilum = ((long)(1024-V)*A*10)/((long)B*Rc*V);  //usar si LDR entre GND y A0
   ilum = ((long)V*A*10)/((long)B*Rc*(1024-V));    //usar si LDR entre A0 y Vcc (como en el esquema anterior)
 
   Serial.println(ilum);
   delay(1000);
}

Alguna ayuda? Gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Monitor Serial y Baudios // Control de temp, humedad y luz

Publicado por Lautaro Joel (3 intervenciones) el 01/07/2020 15:43:27
Finalmente conecte el dht con una fuente externa y el valor de la fotocelula va bien, el problema sigue siendo la temperatura y humedad, y estoy muy en la duda de si se trata de un problema de los baudios, como tendria que hacer si usan diferentes niveles de baudios?

Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Monitor Serial y Baudios // Control de temp, humedad y luz

Publicado por Lautaro Joel (3 intervenciones) el 01/07/2020 16:22:25
Ya lo resolvi, Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar