Comprar desde US | Comprar desde UK | Comprar desde DE | Comprar desde FR | Comprar desde IT | Comprar desde ES | ここでご購入を! |
En esta lección, le mostraremos cómo obtener datos DHT11 de forma remota, vamos a utilizar Osoyoo Mega-IoT Shield para conectar el sensor DHT11 y la placa MEGA2560 MCU. OSOYOO MEGA2560 puede funcionar como un servidor web. Un navegador remoto puede acceder a este servidor web y obtener los datos del DHT11 conectado al pin D2 del MEGA2560.
1).Por favor, conecte la tarjeta de extensión OSOYOO MEGA-IoT en la tarjeta OSOYOO MEGA2560.
A continuación, conecte el sensor DH11 Temp & Hum al puerto D2 de la placa de extensión OSOYOO MEGA-IoT con un cable PnP de 3 pines como abajo: (Jumper Cap debe conectar ESP8266 RX con A8, TX con A9):
DH11 Sensor de temperatura y humedad—-D2
Paso 1: Instale la última versión del IDE (Si tiene una versión del IDE después de la 1.1.16, por favor salte este paso).
Descargar IDE desde https://www.arduino.cc/en/software , e instale el software.
Paso 2: Instalación de la biblioteca WifiEsp (si ya ha instalado la biblioteca WifiEsp, por favor, omita este paso)
La extensión OSOYOO MEGA-IoT conecta el pin TX/RX con la placa avanzada OSOYOO para la placa MEGA2560 por defecto. Por lo tanto, en el código de sketch, necesitamos usar el Puerto Serie de Software para comunicarnos con el ESP8266 (configurando A9 como TX y A8 como RX en el objeto SoftwareSerial).
Para usar este escudo wifi en el IDE, necesitamos descargar la biblioteca WiFiEsp-master desde el siguiente enlace:https://osoyoo.com/driver/WiFiEsp-master.zip
Abra el IDE -> Sketch -> Incluir Biblioteca -> Añadir Biblioteca en Zip para cargar los archivos zip anteriores en el IDE de Arduino.
Para utilizar el sensor DHT11 aquí, también es necesario instalar el DHT11 library como las operaciones anteriores.
Paso 3 Después de instalar las librerías anteriores, descarga el código principal desde el siguiente enlace, descomprímelo, verás una carpeta llamada “smarthome-lesson7”:
https://osoyoo.com/driver/smarthome/7/smarthome_lesson7.zip
Paso 4 Una vez completadas las operaciones anteriores, conecte la placa OSOYOO MEGA2560 al PC con el cable USB.
Paso 5 IDE: Elija el tipo de placa y el tipo de puerto correspondientes a su proyecto.
Paso 6 IDE: Haga clic en Archivo – Abrir, luego elija el código “smarthome-lesson7.ino” en la carpeta, cargue el sketch en su placa.
Nota: En el sketch, busque las siguientes líneas:
char ssid[] = "******"; // your network SSID (name) char pass[] = "******"; // your network password
Por favor, reemplace los ****** con su SSID y contraseña wifi correctos, de lo contrario su proyecto no podrá conectarse a Internet.
Después de cargar el sketch en el IDE, abra el monitor serie en la esquina superior derecha del IDE, y verá el siguiente resultado:
Desde el monitor serie, usted puede ver la dirección IP de su tarjeta MEGA2560 en el círculo rojo (en la imagen anterior, 192.168.50.102).
A continuación, utilice su navegador para visitar el sitio web http://mega2560-ip-address (in above case, http://192.168.50.102), verá el siguiente resultado:
Desde aquí, puede ver un sencillo servidor web que muestra los datos de temperatura y humedad del sensor DHT11. La página web se actualizará automáticamente cada 20 segundos. Espere un minuto, podrá ver los siguientes datos en la página web:
DownLoad Url osoyoo.com
You must be logged in to post a comment.
Hi, my name is Antonio and is impossible to print the page. I connect with the server (client.connected=true) but I don’t get “Sending response”
You can clear the browser cache, restart the browser and try again
Is it hard to change to Fahrenheit? Anyone know where that can be changed in the library?
I think you can follow below code
1 double Fahrenheit(double celsius)
2 {
3 return 1.8 * celsius + 32; //Convert degrees Celsius to Fahrenheit
4 }
5
6 double Kelvin(double celsius)
7 {
8 return celsius + 273.15; //Conversion of Celsius temperature to Kelvin temperature
9 }
10
11
12
13 double dewPoint(double celsius, double humidity)
14 {
15 double A0= 373.15/(273.15 + celsius);
16 double SUM = -7.90298 * (A0-1);
17 SUM += 5.02808 * log10(A0);
18 SUM += -1.3816e-7 * (pow(10, (11.344*(1-1/A0)))-1) ;
19 SUM += 8.1328e-3 * (pow(10,(-3.49149*(A0-1)))-1) ;
20 SUM += log10(1013.246);
21 double VP = pow(10, SUM-3) * humidity;
22 double T = log(VP/0.61078); // temp var
23 return (241.88 * T) / (17.558-T);
24 }
25
26
27
28 double dewPointFast(double celsius, double humidity)
29 {
30 double a = 17.271;
31 double b = 237.7;
32 double temp = (a * celsius) / (b + celsius) + log(humidity/100);
33 double Td = (b * temp) / (a – temp);
34 return Td;
35 }
36
37 #include
38 dht11 DHT11;
39 #define DHT11PIN 2
40
41 void setup()
42 {
43 Serial.begin(9600);
44 Serial.println(“DHT11 TEST PROGRAM “);
45 Serial.print(“LIBRARY VERSION: “);
46 Serial.println(DHT11LIB_VERSION);
47 Serial.println();
48 }
49
50 void loop()
51 {
52 Serial.println(“\n”);
53 int chk = DHT11.read(DHT11PIN);
54 Serial.print(“Read sensor: “);
55 switch (chk)
56 {
57 case DHTLIB_OK:
58 Serial.println(“OK”);
59 break;
60 case DHTLIB_ERROR_CHECKSUM:
61 Serial.println(“Checksum error”);
62 break;
63 case DHTLIB_ERROR_TIMEOUT:
64 Serial.println(“Time out error”);
65 break;
66 default:
67 Serial.println(“Unknown error”);
68 break;
69 }
70
71 Serial.print(“Humidity (%): “);
72 Serial.println((float)DHT11.humidity, 2);
73
74 Serial.print(“Temperature (oC): “);
75 Serial.println((float)DHT11.temperature, 2);
76
77 Serial.print(“Temperature (oF): “);
78 Serial.println(Fahrenheit(DHT11.temperature), 2);
79
80 Serial.print(“Temperature (K): “);
81 Serial.println(Kelvin(DHT11.temperature), 2);
82
83 Serial.print(“Dew Point (oC): “);
84 Serial.println(dewPoint(DHT11.temperature, DHT11.humidity));
85
86 Serial.print(“Dew PointFast (oC): “);
87 Serial.println(dewPointFast(DHT11.temperature, DHT11.humidity));
88
89 delay(2000);
90 }
MY DHT11 sensor shows 0.0% of humidity and 0 of temperature, is it normal?
The source code supplied in smarthome_lesson7 does not run. It appears to be using a very old reference to the DHT class. However, if you download the DHT Sensor Library from here (https://www.arduino.cc/reference/en/libraries/dht-sensor-library/), the two projects under the examples directory work well. There are two DHT classes, one is called DHT and the other is DHT_Universal. Both work. So then I went back and modified my smarthome_lesson7 with the code from the DHTTest example and now it is working.