Environment Sensor for Jetson Nano
| ||
Introduction
This environment sensors module gives Jetson Nano Developer Kit the ability to collect environmental data like temperature & humidity, air pressure, ambient light intensity, VOC, IR ray, UV ray, etc. It can also be used to build a robot that can detect motion and orientation.
Features
- Onboard TSL25911FN digital ambient light sensor, for measuring IR and visible light.
- Onboard BME280 sensor, for measuring temperature, humidity, and air pressure.
- Onboard ICM20948 motion sensor, accelerometer, gyroscope, and magnetometer.
- Onboard Si1145 sensor, for measuring IR/UV rays.
- Onboard SGP40 sensor, for detecting ambient VOC.
- Onboard 1.3-inch OLED display, for displaying environment data in real-time.
- I2C bus, allows reading and displaying data by just using two wires.
- Comes with online development resources and user manuals (python examples).
Parameter
TSL25911FN DIGITAL AMBIENT LIGHT SENSOR | |
I2C address |
0x29 |
Effective range |
0~88000Lux |
BME280 TEMPERATURE, HUMIDITY, AND AIR PRESSURE SENSOR | |
I2C address |
0x76 |
Temperature detection |
-40 ~ 85℃ (0.01℃ resolution, ±1℃ accuracy) |
Humidity detection |
0~100%RH (0.008%RH resolution, ±3%RH accuracy, 1s response time, ≤2%RH delay) |
Air pressure detection |
300~1100hPa (0.18Pa resolution, ±1hPa accuracy) |
ICM20948 MOTION SENSOR | |
I2C address |
0x68 |
Accelerometer resolution |
16-bit |
Accelerometer range (configurable) |
±2, ±4, ±8, ±16g |
Gyroscope resolution |
16-bit |
Gyroscope range (configurable) |
±250, ±500, ±1000, ±2000°/sec |
Magnetometer resolution |
16-bit |
Magnetometer range |
±49gauss |
LTR390-UV-1 IR/UV SENSOR | |
I2C address |
0x53 |
Response wavelength |
300nm ~ 350nm |
SGP40 VOC SENSOR | |
I2C address |
0x59 |
Measuring range |
0 ~ 1,000 ppm ethanol equivalent |
Limit condition |
< 0.05 ppm ethanol equivalent OR < 10 % preset concentration point (the larger one should prevail) |
Response time |
< 10 s (tau 63 %) |
Start time |
< 60 s |
On-chip humidity compensation support | |
OLED DISPLAY | |
I2C address |
0x3C |
Driver IC |
SH1106 |
Resolution |
128x64 |
Display color |
Blue |
Tailored For Jetson Nano
What's On Board
- TSL25911FN
- Digital ambient light sensor, for measuring IR and visible light.
- LTR390-UV-1
- IR/UV sensor.
- SGP40
- VOC sensor.
- ICM20948
- 3-axis accelerometer, 3-axis gyroscope, 3-axis magnetometer.
- BME280
- Temperature, humidity, and air pressure sensor.
- Voltage level translator
- 5V to 3.3V.
- 1.3inch OLED
- 128x64 resolution.
Outline Dimensions
How to use
Install the library
Enter the following commands to install the library:
sudo apt-get install python-smbus sudo -H apt-get install python-pil sudo apt-get install i2c-tools
Download the demo
Enter the following commands to install the demo:
sudo apt-get install p7zip-full wget https://files.waveshare.com/upload/f/f5/Environment_sensor_fot_jetson_nano_rev3.zip unzip Environment_sensor_fot_jetson_nano_rev3.zip
Check the effect
Enter the following commands:
cd Environment_sensor_fot_jetson_nano sudo python test.py
And then the OLED of the sensor will display the values related to the current environment:
Note: If the above demo does not display properly, please scroll down and download the V4 and V5 versions of the demo on this page to test it.
Sensor
Here we introduce the use of each sensor:
Ambient light Sensor
TSL2591 is a light-intensity digital converter based on IIC bus communication. The sensor combines a broadband photodiode (visible light and infrared light) and an infrared-responsive photodiode on a single CMOS integrated circuit that can provide a low-beam adaptive response within an effective 16-bit dynamic range (16-bit resolution). Two integrating ADCs convert the photodiode current into a digital output. This digital output can be fed to the microprocessor, where an empirical formula is used to derive the illuminance (ambient light level) in lux to approximate the human eye response.
The sensor address is: 0X29.
【Note】:
- 1. The interrupt is turned on by default, if you don't need it, you can comment out the corresponding code;
- 2. The range of the default routine is small, if the light changes greatly, please increase the range;
- 3. It is different from the light intensity readers on the market which have the lenses;
If you need to run this sensor separately, please enter the following command:
sudo python TSL2591.py
This is a demonstration effect, the actual directory should according to your directory.
Temperature and Humidity Sensor
The BME280 can perceive environmental temperature, humidity, and atmospheric pressure, which is low power consumption, high precision, and has high stability, and is suitable for environmental monitoring, weather forecasting, altitude monitoring, and IoT application.
The sensor address is: 0X76.
Measurement range:
- Temperature range: 40~85°C (resolution 0.01°C, error ±1°C)
- Humidity range: 0~100%RH (resolution 0.008%RH, ±3% RH)
- Pressure range: 300~1100 hPa (resolution 0.18Pa, error ±1 hPa)
【Note】:
- 1. The measurement range should not exceed the range, otherwise, the measurement may be inaccurate;
- 2. The measured air pressure is atmospheric pressure, which will fluctuate up and down at standard atmospheric pressure (1.013x 10^5 = 1013hPa);
- 3. The measured temperature may be affected by the heat dissipation of the jetson nano. In this case, you can add a fan to avoid this situation during use;
- 4. The higher the temperature, the lower the air pressure, because the higher the temperature, the heat and expansion of the air near the ground will increase, resulting in a drop in air density and a drop in air pressure. On the contrary, the air pressure will rise;
- 5. The atmospheric pressure decreases with the increase in altitude, but there is no proportional relationship. The higher the altitude, the slower the decrease;
- 6. The relationship between atmospheric pressure and altitude is: the altitude increases, and the atmospheric pressure decreases. In the theoretical situation, within the range of 3000M, for every 12M increase, the atmospheric pressure decreases by 1mmHg, about 133Pa;
If you need to run this sensor separately, please enter the following command:
sudo python BME280.py
This is a demonstration effect, the actual directory should according to your directory.
9-AXIS Sensor
The MPU9250 is a multi-chip module with 9-axis motion tracking, 3-axis acceleration, 3-axis gyroscope, and 3-axis magnetometer, and a built-in digital motion processing engine to reduce complex fusion algorithm data and reduce the load on the processor .
The sensor address is: 0X68.
Accelerometer:
- Resolution: 16 bits
- Range (optional): ±2, ±4, ±8, ±16g
- Working current: 68.9uA
Gyroscope:
- Resolution: 16 bits
- Range (optional): ±250, ±500, ±1000, ±2000°/sec
- Working current: 1.23mA
Magnetometer:
- Resolution: 16 bits
- Range: ±4800µT
- Working current: 90uA
【Note】:
- 1. Roll, Pitch, and Yaw are Euler angles. It is a three-dimensional vector whose value represents the rotation angle of the object around the three axes of the coordinate system (x, y, z axis);
- 2. Roll, Pitch, and Yaw are pitch angle, yaw angle, and rotation angle respectively;
- 3. Acceleration is acceleration (LSB, which can be converted to g);
- 4. Gyroscope is gyroscope angular velocity (LSB, which can be converted to °/sec);
- 5. Magnetic is the electronic compass inclination (°);
If you need to run this sensor separately, please enter the following command:
sudo python ICM20948.py
This is a demonstration effect, the actual directory should according to your directory.
IR/UV Sensor
LTR390-UV-1 UV sensor for measuring UV, light intensity.
The sensor address is: 0X53.
【Note】:
- 1. The working principle is using a Pair diode, one is sensitive to normal light, and the other is sensitive to infrared, the result obtained by the calculation of the two;
- 2. The read ultraviolet value has been calibrated, but the infrared intensity and visible light intensity measured by this sensor are not calibrated;
- 3. Visible light intensity is non-calibrated;
- 4. The detection range is within 50cm for the best effect (described in the manual);
If you need to run this sensor separately, please enter the following command:
sudo python LTR390.py
This is a demonstration effect, the actual directory should according to your directory.
VOC Sensor
SGP40 is a digital VOC (volatile organic compound) sensor newly launched by Sensirion, which can be easily integrated into air treatment equipment and air quality monitors. It has a temperature-controlled mini-heating plate and a humidity-compensated indoor air quality signal. Provide a complete sensor system on a single chip.
The sensor address is: 0X59.
【Note】:
- 1. The output of the Python demo is the algorithm value that hasn't been processed by VOC. In fact, Sensirion has its own C algorithm, which is more accurate after conversion;
- 2. The sensor needs to be stabilized within 1 minute because the interior is slowly heating;
- 3. It can feedback to SGP40 by measuring the current temperature and humidity so that the accuracy will be higher;
- 4. The measuring range of the sensor is 0 to 1,000 ppm ethanol equivalent;
If you need to run this sensor separately, please enter the following command:
sudo python3 SGP40.py
Resources
Document
Demo
Related Resources
FAQ
Yes, it could be used for NX, and you need to modify the codes, change the i2c bus 1 to bus 8.
{{{5}}}
Support
Technical Support
If you need technical support or have any feedback/review, please click the Submit Now button to submit a ticket, Our support team will check and reply to you within 1 to 2 working days. Please be patient as we make every effort to help you to resolve the issue.
Working Time: 9 AM - 6 PM GMT+8 (Monday to Friday)