- Portada
- Fundamentos de MentorBit
- Alimentación de circuitos y dispositivos
-
Programación y ejercicios básicos
-
Introducción
-
Driver necesario para programar la placa
-
Descripción de mBlock
-
Descripción de IDE Arduino
-
Estructura de un programa
-
Variables
-
Tipos de datos
-
Operadores
-
Sintaxis
-
Principales Bloques
-
Principales funciones C/C++
-
Monitor Serial
-
Actividad 1: Mi primer programa
-
Estructuras de control
-
Actividad 2: Bucle for
-
Actividad 3: Bucle while
-
Actividad 4: Condicional if y else
-
Actividad 5: Sentencia Switch
-
Arrays
-
Actividad 6: Los Arrays
-
Recibir por Serie
-
Actividad 7: Recepción por bus serial
-
Funciones
-
Funciones en Bloques
-
Funciones en C/C++
-
Actividad 8: Mis primeras funciones
-
Clases en C/C++
-
Actividad 9: Mi primera Clase
-
Actividad 10: Mi propia Calculadora
-
-
Programación y ejercicios con hardware
-
Introducción a MentorBit
-
LEDs
-
Actividad 11: LEDs de colores
-
El LED RGB
-
Actividad 12: LED RGB
-
El pulsador
-
Actividad 13: Pulsador en Pull Down
-
Actividad 14: Pulsador en Pull Up
-
El Potenciómetro
-
Actividad 15: Potenciómetro
-
El Zumbador
-
Actividad 16: Zumbador Pasivo
-
La Fotorresistencia
-
Actividad 17: LDR
-
Sensor de temperatura DS18B20
-
Actividad 18: DS18B20
-
El Servomotor
-
Actividad 19: Servomotor
-
Motores Corriente Continua
-
Puente en H
-
Actividad 20: Motor DC
-
Introducción a Motores paso a paso
-
Actividad 21: Motor paso a paso
-
Displays 7 Segmentos
-
Actividad 22: Display 7 Segmentos
-
Pantallas LCD
-
Actividad 23: Pantalla LCD
-
Actividad 24: Pantalla LCD
-
Pantallas OLED
-
Actividad 25: Pantalla OLED
-
Actividad 26: Pantalla OLED
-
Reloj en Tiempo Real (RTC)
-
Actividad 27: RTC
-
Tarjeta micro SD
-
Actividad 28: Micro SD
-
Actividad 29: Micro SD & RTC
-
Actividad 30: Micro SD & RTC
-
Puertos para Módulos MentorBit
-
Puertos de Comunicaciones
-
Puertos Genéricos
-
- Problemas Adicionales
- Proyectos Finales
Actividad 18: DS18B20
Actividad 18

Monitoreo y control de temperatura
En esta actividad, imagina que tenemos un invernadero y quieres que sea inteligente. Para ello vamos a monitorear la medida obtenida del sensor de temperatura DS18B20 y reaccionar en función del valor de la misma encendiendo dos LEDs: el rojo simulará el encendido de un sistema de calefacción, mientras el azul será un sistema de refrigeración.
Dependiendo de la temperatura medida, el sistema responderá con los LEDs en diferentes estados. Si la temperatura es inferior a 20ºC, se encenderá el LED rojo (se activa la calefacción), mientras que si está por encima de los 30ºC, se encenderá el LED azul (se activa la refrigeración). Cuando la lectura de temperatura se encuentre entre estos dos valores, ninguno de los sistemas se activará.

Pista 1 (Bloques): Lectura del DS18B20
Recuerda que la extensión de MentorBit para mBlock incluye el siguiente bloque con el que podemos
obtener la lectura actual del sensor DS18B20:

obtener la lectura actual del sensor DS18B20:

Pista 1 (C/C++): Incluir librería de sensores
Recuerda que para incluir una librería previamente instalada en nuestro programa, debemos utilizar
la sentencia siguiente:
En nuestro ejemplo incluiremos la librería MentorBitSensores, que facilita el uso de los diferentes sensores
con MentorBit.
la sentencia siguiente:
#include <MentorBitSensores.h>
En nuestro ejemplo incluiremos la librería MentorBitSensores, que facilita el uso de los diferentes sensores
con MentorBit.
Pista 2 (C/C++): Conexiones del DS18B20
Recuerda que la librería de MentorBitSensores da acceso a la conexión del sensor DS18B20 empleando las
siguientes referencias:
- miObjetoMentorBitSensores.DS18B20
siguientes referencias:
- miObjetoMentorBitSensores.DS18B20
Pista 3 (C/C++): Obtener lectura del DS18B20
Recuerda que la librería de MentorBitSensores da acceso a la siguiente función específica que devuelve
la lectura del sensor DS18B20 directamente en grados centígrados como un dato de tipo float:
la lectura del sensor DS18B20 directamente en grados centígrados como un dato de tipo float:
miMentorBitSensores.obtenerLecturaDS18B20();
Solución (C/C++)
#include <MentorBit.h>
#include <MentorBitSensores.h>
// Declaración de instancia de las clases
MentorBit miMentorBit;
MentorBitSensores miMentorBitSensores;
// Inicialización del sketch
void setup() {
// Configuramos los dos LEDs por defecto apagados
digitalWrite(miMentorBit.LED_ROJO, LOW);
digitalWrite(miMentorBit.LED_AZUL, LOW);
}
// Bucle principal del sketch
void loop() {
// Obtención de la temperatura leída por el sensor DS18B20
float temperatura = miMentorBitSensores.obtenerLecturaDS18B20();
// Modificación del estado de los LEDs en función de la temperatura
if(temperatura < 20) { // Comprobamos que la temperatura esté por debajo de 20ºC
// Encendemos el LED rojo (calefacción) y apagamos el LED azul (refrigeración)
digitalWrite(miMentorBit.LED_ROJO, HIGH);
digitalWrite(miMentorBit.LED_AZUL, LOW);
} else if(temperatura > 30) { // Comprobamos que la temperatura esté por encima de 30ºC
// Apagamos el LED rojo (calefacción) y encendemos el LED azul (refrigeración)
digitalWrite(miMentorBit.LED_ROJO, LOW);
digitalWrite(miMentorBit.LED_AZUL, HIGH);
} else { // Caso por defecto, temperatura adecuada
// Apagamos el LED rojo (calefacción) y el LED azul (refrigeración)
digitalWrite(miMentorBit.LED_ROJO, LOW);
digitalWrite(miMentorBit.LED_AZUL, LOW);
}
// Esperamos un poco antes de continuar
delay(1000);
}
Actualmente no se dispone de una solución que no emplee nuestra librería.
| Vistas | |
|---|---|
| 14 | Número de vistas |
| 14 | Vistas de miembros |
| 0 | Vistas públicas |
| Acciones | |
|---|---|
| 0 | Gustos |
| 0 | No me gusta |
| 0 | Comentarios |
Compartir por correo
Por favor iniciar sesión para compartir esto webpage por correo.
