5 in 1 sensor: temperature, humidity, pressure, altitude and light intensity
More info and updates in https://rogerbit.com/wprb/2023/11/sensor-5-en-1/
The 5-in-1 Sensor is a combination of three different sensors integrated into a single device:
HTU21D: This sensor is a humidity and temperature meter. It is capable of measuring relative air humidity and ambient temperature with high accuracy. It provides reliable readings and is used in a wide range of applications, from climate control systems to portable devices.
BMP180: This is a barometric pressure and altitude sensor. It measures atmospheric pressure and, from that information, can calculate the approximate altitude. This makes it especially useful in navigation, meteorology, and drone control applications, among others.
BH1750FVI: This sensor is a light intensity meter. Provides readings of the amount of visible light present in a specific environment. It is used in smart lighting systems, portable devices that adjust the screen based on ambient light, and in home automation applications to regulate lighting.
The combination of these three sensors in a single device provides a wide range of environmental and weather information. It can be used in various IoT (Internet of Things) projects, weather stations, environmental monitoring systems and more, allowing users to obtain accurate and simultaneous measurements of temperature, humidity, atmospheric pressure, altitude and light intensity in an environment. certain.
This module combines the following 3 sensors into one easy to use module, all sensors are I2C so minimal connections are required from the module to your arduino
The HTU21D is a low-cost, easy-to-use and highly accurate digital humidity and temperature sensor.
The BMP180 is the new digital barometric pressure sensor from Bosch Sensortec.
BH1750FVI is a digital ambient light sensor IC for I2C bus interface.
Product parameter:
1. Power supply voltage: 1.5V—3.6V
2. Humidity test range: 0—100%RH
3. Temperature test range: -40—105℃
4. Maximum power consumption: 2.7UW
5. Communication mode: I2C
6. Humidity accuracy range(10%RH to 95%RH): HTU21D±2%RH
7. Humidity delay: ±1%RH
8. Test time: 50ms
9. Annual drift amount: -0.5%RH/year
10. Response time: 5s
Features:
1.Adopt original ROHM BH1750FVI chip
2.Power supply: 3-5v
3.Light Intensity Range: 0-65535 lx
4.Sensor is equipped with a
16bitAD converter 5.Directly digital output, saves complex calculations and calibration
6. .Do not differentiate the ambient light source
7.Close to the spectral characteristics of visual sensitivity
8.Able to perform high precision lx testing at high brightness
9.Standard NXP IIC communication protocol
10.Includes level conversion inside the module communication, can be directly connected with 5v SCM io
Electronic components
Arduino Nano
Female pins
Socket for arduino nano
sh1106 oled display
It is a 128x64 dot monochrome OLED display module with I2C interface. It has several advantages compared to LCD screens, and we can highlight its high brightness, very good contrast, a wider viewing angle, and low consumption. of energy. It is compatible with Arduino Rasberry Pi and PIC microcontrollers among others. It works with logic levels from 3.3V to 5V and has a viewing angle greater than 160 degrees. Screen Size is 1.3 inches. It is powered with a voltage of 3.3V to 5V. It can be used in applications such as smart watches, MP3s, thermometers, instruments, and various projects, etc.
Bookshop
U8glib
Characteristics
Interface: I2C(3.3V / 5V logic level)
Resolution: 128 x 64
Angle of view: >160 degree
Display color: Blue
Display size: 1.3 inch
Driver IC: SH1106
Power supply: DC 3.3V~5V
Operating temperature: -20~70'C
Application: smart watch, MP3, thermometer, instruments, DIY projects, etc.
PCB
Download gerber file –> PCB
/****************************************
* Incluir librerias
****************************************/
#include <Wire.h>
#include "U8glib.h"//Librería para el control del display oled
U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE);// I2C / TWI Se habilita esta linea según el display a usar en este caso el driver
#include <Adafruit_BMP085.h>
#include <BH1750FVI.h>
#include "SparkFunHTU21D.h"
Adafruit_BMP085 bmp;
// Crea la instancia de Lightsensor.
BH1750FVI LightSensor(BH1750FVI::k_DevModeContLowRes);
//Crear una instancia del objeto myHumidity
HTU21D myHumidity;
float temperatura ;
float humedad ;
float presion ;
float altitud;
uint16_t lux ;
void setup() {
Serial.begin(115200);//Puerto serial a 115200
//Verificamos si el sensor está bien conectado
if (!bmp.begin()) {
Serial.println("No se pudo encontrar un sensor BMP085 válido, verifique el cableado!");
while (1) {}
}
LightSensor.begin();
myHumidity.begin();
}
void loop() {
/****************************************
* Leemos el valor de cada uno de los sensores y lo asignamos a sus respectivas variables
****************************************/
temperatura = bmp.readTemperature();
humedad = myHumidity.readHumidity();
presion = bmp.readPressure();
altitud = bmp.readAltitude();
lux = LightSensor.GetLightIntensity();
/****************************************
* Imprimimos en el terminal serial los datos obtenidos
****************************************/
//Temperatura
Serial.print("Temperatura = ");
Serial.print(temperatura);
Serial.println(" *C");
//Humedad
Serial.print("Humedad: ");
Serial.print(humedad, 2);
Serial.println("%");
//Presión
Serial.print("Presion = ");
Serial.print(presion);
Serial.println(" Pa");
//Altitud
Serial.print("Altitud = ");
Serial.print(altitud);
Serial.println(" metros");
//Intensidad de luz
Serial.print("Luz: ");
Serial.println(lux);
//Funcíon para mostrar los datos obtenidos en el display
oled();
delay(1000);
}
//Funcíon para mostrar texto en el dislplay oled
void oled(){
u8g.firstPage();
do {
draw();//Llama a la función draw
} while( u8g.nextPage() );
// Reconstruir la imagen después de un tiempo
delay(50);
}
void draw(void) {
//Temperatura
u8g.setFont(u8g_font_unifont);
u8g.setPrintPos(0, 10);
u8g.print("TEMP: ");//
u8g.print(temperatura, 2);
//Humedad
u8g.setPrintPos(0, 22);
u8g.print("HUME: ");
u8g.print(humedad, 2);//
//Presión
u8g.setPrintPos(0, 34);
u8g.print("PRES: ");
u8g.print(presion, 0);
//Altitud
u8g.setPrintPos(0, 46);
u8g.print("ALTI: ");
u8g.print(altitud, 2);
//Intensidad de luz
u8g.setPrintPos(0, 58);
u8g.print("LUZ : ");
u8g.print(lux);
}
5 in 1 sensor: temperature, humidity, pressure, altitude and light intensity
*PCBWay community is a shared platform and we are not responsible for any design issues.
- Comments(0)
- Likes(0)
- 0 USER VOTES
- YOUR VOTE 0.00 0.00
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
More by CarlosVolt Tutoriales
-
Water pump control for irrigation via telegram and esp32 Water Pump Control by Telegram and ESP32 is an automated system that allows you to remotely control ...
-
Air conditioning on/off control via telegram and esp32 In this tutorial we will see how to control an air conditioner, with an esp32 and the telegram appli...
-
35 watt stereo amplifier In this video we will see how to build an audio amplifier, with the TDA7377 integrated circuit, and ...
-
Laser alarm with RFID module More info and updates in https://rogerbit.com/wprb/2024/08/alarma-laser-rfid/In this project, we bui...
-
Control lights by voice commands and keys In this tutorial we will see how to create a device to control lights by voice commands, with a modu...
-
Stepper motor control x bluetooth and app In this tutorial we will see a circuit, which controls a stepper motor, with an application made in ...
-
DFplayermini x bluetooth mp3 player control More info and updates in https://rogerbit.com/wprb/2022/12/dfplayermini-x-bluetooth/In this tutorial...
-
Robot with WiFi control and servos driven by ESP32 More info and updates in https://rogerbit.com/wprb/2023/07/robot-wifi/A robot controlled by Wi-Fi, s...
-
How to make a water level meter with uln2803 In this tutorial we will see how to make a water level meter circuit with the built-in uln2803.The p...
-
DTMF decoder for handy with arduino, control over several kilometers In this tutorial we will see how to make a circuit to connect to our handy, in this case a Baofeng U...
-
Turn on light from thindspeak with esp32 In this tutorial, we will show you how to control lights over the Internet using an ESP32 and the Th...
-
MP3 player control with webserver using ESP32 WIFI In this tutorial, you will learn how to build a web server using the ESP32 to control the YX5300 mod...
-
Time clock with fingerprint IoT module, uploading data to thingspeak More info in and updates in https://rogerbit.com/wprb/2022/07/reloj-de-control-fingerprint/In this t...
-
Make your own logic tip (includes printed circuit board) In this video tutorial we will see how to make a logic tip, on a printed circuit, with the integrate...
-
Coil or inductor meter with Arduino and OLED display More info and updates in https://rogerbit.com/wprb/2022/06/medidor-inductores/In this tutorial we wi...
-
Turn on Light with Reyax RYLR896 LoRa Modules with Acknowledgement In this tutorial, you will learn how to use the Reyax RYLR896 LoRa modules to wirelessly and reliabl...
-
Laser controlled by joystick servos and Arduino More info and updates in https://rogerbit.com/wprb/2023/06/laser-controlado-x-joystick/In this tutor...
-
Non-contact high temperature alarm using TS01 sensor The TS01 non-contact sensor high temperature alarm is a system designed to detect and alert about da...
-
-
Electronic Enclosure applied for electronic projects
48 0 0 -
Water pump control for irrigation via telegram and esp32
78 0 0 -
-
-
ADS1256 - RP2040 Custom DAQ Front Panel without GPIO
68 0 0 -