Clase 1 4ta Unidad (Robótica) MONITOREANDO VALORES Y CONEXIÓN MOTORREDUCTOR SIN PUENTE H
INDIVIDUAL #1: MONITOREANDO VALORES Y CONEXIÓN MOTORREDUCTOR SIN PUENTE H
Imagen del dht11
Imagen del motorreductor
Esta es la programación para el Arduino que la miss Rosa Coello nos dio para el funcionamiento de la lectura de temperatura y humedad del DHT11
#include
#include
#include "DHT.h"
// Uncomment whatever type you're using!
#define DHTTYPE DHT11 // DHT 11
//#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321
//#define DHTTYPE DHT21 // DHT 21 (AM2301)
// Connect pin 1 (on the left) of the sensor to +5V
// NOTE: If using a board with 3.3V logic like an Arduino Due connect pin 1
// to 3.3V instead of 5V!
// Connect pin 2 of the sensor to whatever your DHTPIN is
// Connect pin 4 (on the right) of the sensor to GROUND
// Connect a 10K resistor from pin 2 (data) to pin 1 (power) of the sensor
int DHTPin = 3; // what digital pin we're connected to
DHT dht(DHTPin, DHTTYPE);
void setup() {
Serial.begin(9600);
Serial.println("Monitereando valores");
dht.begin();
pinMode(9,OUTPUT);
}
void loop() {
// Wait a few seconds between measurements.
delay(2000);
// Reading temperature or humidity takes about 250 milliseconds!
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(h) || isnan(t)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
Serial.print("Humidity: ");
Serial.print(h);
Serial.print(" %\t");
Serial.print("Temperature: ");
Serial.print(t);
Serial.print(" *C ");
if(t>24){
digitalWrite(9,HIGH);
}
else{
digitalWrite(9,LOW);
}
}
Responder las siguientes preguntas:
¿Cuáles son los pasos para subir un programa a la placa Arduino?
- Compilar
- Ir a herramientas, elegir el puerto y seleccionar arduino.
- Elegir puerto: COM
- Subir el programa
¿Ha tenido algún inconveniente?, ¿por qué?, ¿cómo se solucionó?
No se han presentado inconvenientes
¿Cuál es la función del programa?
La programación tiene como función establecer una comunicación tipo SERIAL entre arduino y el ordenador para detectar los valores cambiantes de temperatura y humedad en el ambiente, luego arduino manda a imprimir estos valores para al fin y al cabo comparar los valores que reciba el arduino con respecto a la temperatura y humedad para de acuerdo a esto encender o apagar el pin 9 que está conectado a al motorreductor.
Observe el código y responda: ¿Para qué sirve "Serial.begin()"?, ¿A qué corresponde el número "9600" dentro de los paréntesis de Serial.begin()?, ¿Para qué sirve "Serial.println()"?
Modifique el código para que el mensaje inicial sea: "Aprendiendo a monitorear sensores". ¿Funcionó?, ¿Tuvo alguna dificultad?
El código quedó como se muestra a continuación, no hubo ninguna dificultad ya que lo que escribamos ahí no altera la programación:
#include "DHT.h"
// Uncomment whatever type you're using!
Serial.begin(): Para establecer la velocidad de datos en bits por segundo (baudios) para la transmisión de datos en serie, el nùmero 9600 e la velocidad de transmisión para comunicarse con el equipo.
Serial.println(): Imprime datos al puerto serie como texto ASCII legible por humanos y añade un retorno de carro, es decir, envía un caracter new line por cada vez que es llamada la función.
Serial.println(): Imprime datos al puerto serie como texto ASCII legible por humanos y añade un retorno de carro, es decir, envía un caracter new line por cada vez que es llamada la función.
El código quedó como se muestra a continuación, no hubo ninguna dificultad ya que lo que escribamos ahí no altera la programación:
#include
#include#include "DHT.h"
// Uncomment whatever type you're using!
#define DHTTYPE DHT11 // DHT 11
//#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321
//#define DHTTYPE DHT21 // DHT 21 (AM2301)
// Connect pin 1 (on the left) of the sensor to +5V
// NOTE: If using a board with 3.3V logic like an Arduino Due connect pin 1
// to 3.3V instead of 5V!
// Connect pin 2 of the sensor to whatever your DHTPIN is
// Connect pin 4 (on the right) of the sensor to GROUND
// Connect a 10K resistor from pin 2 (data) to pin 1 (power) of the sensor
int DHTPin = 3; // what digital pin we're connected to
DHT dht(DHTPin, DHTTYPE);
void setup() {
Serial.begin(9600);
Serial.println("Aprendiendo a monitorear sensores");
dht.begin();
pinMode(9,OUTPUT);
}
void loop() {
// Wait a few seconds between measurements.
delay(2000);
// Reading temperature or humidity takes about 250 milliseconds!
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(h) || isnan(t)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
Serial.print("Humidity: ");
Serial.print(h);
Serial.print(" %\t");
Serial.print("Temperature: ");
Serial.print(t);
Serial.print(" *C ");
if(t>24){
digitalWrite(9,HIGH);
}
else{
digitalWrite(9,LOW);
}
}
Observe el código y complete la siguiente tabla:| Variables | ¿Cuál es su utilidad? |
|---|---|
| DHTTYPE | Indica el tipo de sensor, en mi caso, el DTH11 |
| DHTpin | Indica el pin digital donde se ha de conectar el sensor DHT11, |
| dht | Es la declaración de un objeto dht, el cual permitirá comunicación entre el sensor y arduino. |
| h | Es una variable tipo float que almacenará el valor leído de humedad. |
| t | Es una variable tipo float que almacenará el valor leído de temperatura. |
Modifique el código para que únicamente se impriman (en el Monitor Serie) los valores de temperatura.
#include
El programa que imprime solo los datos de temperatura será:
#include
#include
#include "DHT.h"
// Uncomment whatever type you're using!
#define DHTTYPE DHT11 // DHT 11
//#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321
//#define DHTTYPE DHT21 // DHT 21 (AM2301)
// Connect pin 1 (on the left) of the sensor to +5V
// NOTE: If using a board with 3.3V logic like an Arduino Due connect pin 1
// to 3.3V instead of 5V!
// Connect pin 2 of the sensor to whatever your DHTPIN is
// Connect pin 4 (on the right) of the sensor to GROUND
// Connect a 10K resistor from pin 2 (data) to pin 1 (power) of the sensor
int DHTPin = 3; // what digital pin we're connected to
DHT dht(DHTPin, DHTTYPE);
void setup() {
Serial.begin(9600);
Serial.println("Moniteroando valores");
dht.begin();
pinMode(9,OUTPUT);
}
void loop() {
// Wait a few seconds between measurements.
delay(2000);
// Reading temperature or humidity takes about 250 milliseconds!
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(h) || isnan(t)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
Serial.print("Temperature: ");
Serial.print(t);
Serial.print(" *C ");
if(t>24){
digitalWrite(9,HIGH);
}
else{
digitalWrite(9,LOW);
}
}
¿Qué usos le puede dar al sensor de humedad y temperatura dentro de su maqueta domótica?
Podría utilizarlos en mi casa domótica, el sensor dht11 con el respectivo motorreductor, para implemetarlos en el interior de la casa y que el motorreductor funcione como un ventilador ya que cada vez que el arduino lea que la temperatura "t" sea > a 26°, el motorreductor se encenderá y ventilará el interior de la casa
Amplíe su conocimiento:
¿Qué es un sensor DHT11?
El sensor DHT11 es un sensor digital de temperatura y humedad relativa del aire. Utiliza una comunicación digital con Arduino, de forma que no es necesaria la conexión a un pin analógico para realizar las lecturas.
¿Qué es una librería?
Las librerías son colecciones de código que facilitan la interconexión de sensores, pantallas, módulos electrónicos, etc, y que contienen las herramientas para utilizar dichos dispositivos en un programa.
Conecte una fotocelda y modifique el programa "monitorFoto.ino" para imprimir los valores captados por la fotocelda.
int pinFoto=A0;
void setup()
Serial.begin(9600);
{
pinMode(pinFoto,INPUT);
}
void loop() {
int valorFoto=analogRead(pinFoto);
Serial.print("Fotocelda: ");
Serial.print(valorFoto);
{
Conclusión:
Esta clase me enseño mucho acerca del funcionamiento y la programación del sensor dht11 que detecta la humedad y temperatura del medio ambiente y por consiguiente enciende un motor según los valores de temperatura y humedad que se les hayan asignado en la programación. Aprendí también la utiidad de algunas variables que se utilizaron el programación del dht11 que son:
| DHTTYPE |
DHTpin
dht
h
t
Luego aprendí también a modificar el mensaje inicial en la programación: Serial.println("Aprendiendo a monitorear sensores"); que es modificable lo que esta dentro del paréntesis sin que afecte lo demás. Pensé también sobre que utilidad le puedo dar al sensor en mi casa, finalmente llegué al acuerdo con mi compañero Carrillo de implementar el sistema a la casa.
Personalmente este tema me ha gustado mucho y como siempre me alegro de ampliar mis conocimientos en esta área básica.
LOGROS Y DIFICULTADES:
En los logros puedo decir que he aprendido cosas que antes no sabía, ahora dispongo de la programación del sensor y se como modificar los valores que yo quiera según como me convenga cuando este integrada en mi casa. No tuve dificultades con el tema ya que en todo momento la miss estuvo pendiente y acudió a nuestras dudas acerca del tema.
¿QUÉ ME PREGUNTO?:
Me pregunto para que sirve la línea de código:
delay(2000);
Investigué en Google que tiene como función generar un intervalo de espera entre la ejecución de funciones de la cola de efectos, que en mi caso son 250 milísegundos de intervalo entre lectura de humedad y temperatura. Dicho esto
Bibliografía:
- Llamas, L. (2016). Medir temperatura y humedad con Arduino y Sensor DHT11 y DHT22. Recuperado de https://www.luisllamas.es/arduino-dht11-dht22/
- Wordpress (2015). Aprendiendo Arduino. Recuperado de https://aprendiendoarduino.wordpress.com/2015/03/24/librerias/
- Pardo, C. (2019). Sensor de temperatura y humedad DHT11. Recuperado de https://www.picuino.com/es/arduprog/sensor-dht11.html


Comentarios
Publicar un comentario