Giter Club home page Giter Club logo

seeed_pm2_5_sensor_hm3301's Introduction

PM2.5 Sensor(HM3301) Build Status

HM-3301 is a new generation of dust detection sensor based on laser theory introduced by our company, which is used for continuous and real-time detection of dust in the air.

HM3301

Introduction:

The HM-3301 is applicable to products and application fields such as dust detectors, intelligent air purifiers, intelligent air conditioners, intelligent ventilation fans, air quality detection, haze table, environment monitoring, etc.

Usage:

  • Download all the source files and open one of examples, compile, upload, and run. Open the Serial Port and set the baud rate to 115200 to watch the result.
  • Example: open the file examples/basic_demo/basic_demo.ino. This is the three-way test, which can measure the concentration content of three levels :PM1.0,PM2.5,PM10.

Notice:

  • The sensor metal housing should not be short-circuited with other external panel circuits or product housing because the sensor housing is conducting the internal power source.
  • When applying with purifier or fixed detection equipment, the position of the sensor should be higher than 20cm above the ground. Otherwise, it is likely to be polluted by large dust particles or even floccules near the ground, resulting in the winding resistance of the fan. Refer to doc/HM-3300&3600datasheet.doc for more details.

reference:

Datasheet:refer to HM-3300&3600datasheet.doc


This software is written by downey for seeed studio
Email:[email protected] and is licensed under The MIT License. Check License.txt for more information.

Contributing to this software is warmly welcomed. You can do this basically by
forking, committing modifications and then pulling requests (follow the links above
for operating guide). Adding change log and your contact into file header is encouraged.
Thanks for your contribution.

Seeed Studio is an open hardware facilitation company based in Shenzhen, China.
Benefiting from local manufacture power and convenient global logistic system,
we integrate resources to serve new era of innovation. Seeed also works with
global distributors and partners to push open hardware movement.

seeed_pm2_5_sensor_hm3301's People

Contributors

hansen0314 avatar jenkinlu001 avatar marcinjahn avatar per1234 avatar pillar1989 avatar wemakemachines avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

seeed_pm2_5_sensor_hm3301's Issues

Dyson Air Quality Monitoring Device

Hello,

I need some help, I have very little coding knowledge and am trying to adjust this code I downloaded from the Dyson foundation, this was from their engineering tutorial where they created a PM2.5 sensor and a Gas sensor. Youtube video here: https://www.youtube.com/watch?v=USHUJzfM5K0.

I've followed the entire tutorial with one exception, I am not using the gas sensor and its corresponding LED because my project revolves around Particulate Matter (PM). The PM2.5 sensor is a Seeed Studio laser PM2.5 sensor. I believe the code doesn't allow the LEDs to work individually and only knows how to turn on and read the sensors when BOTH sensors are plugged in.

How do I rectify/change the code so that the LED corresponds to the single PM 2.5 sensor?

The link to the code is attached below.

Regards,
Abel
jdf_aqi.zip

Always getting Errorchecksum

Tried using the sensor with an ESP32 but it's always saying wrong checkSum!!!!:

4D  0  1C  0  A
0  E  0  10  0
A  0  E  0  10
A  4A  2  E6  0  
7A  0  B  0  2
0  0  wrong checkSum!!!!

sensor num: 28
PM1.0 concentration(CF=1,Standard particulate matter,unit:ug/m3): 10
PM2.5 concentration(CF=1,Standard particulate matter,unit:ug/m3): 14
PM10 concentration(CF=1,Standard particulate matter,unit:ug/m3): 16
PM1.0 concentration(Atmospheric environment,unit:ug/m3): 10
PM2.5 concentration(Atmospheric environment,unit:ug/m3): 14
PM10 concentration(Atmospheric environment,unit:ug/m3): 16

On the other hand, the values read seem to be ok.

Raspberry example

Hi, is there also a raspberry example somewhere? I understand that it's not officially supported yet, but from all I can tell, the "Grove Base Hat" has the correct I2C ports for the sensor, and the C++ code doesn't look very complicated ;)
In case there is no example that could get me started, any pointer on what libraries to use on the raspberry instead of Arduino.h and Wire.h?

Any help would be much appreciated :)

From time to time getting wrong readings

Hi.
I wanted to ask if someone experienced something similar. From time to time after starting I2C in ESP32 successfully doing the initialization plus select comm (To disable serial)

I get the wrong readings.
I ported this also to be an ESP-IDF framework component, still testing it, but it seems to deliver the same numbers than my small Arduino and this repository:
https://github.com/martinberlin/HM3301-idf

Just to clarify, what is the right clock speed for I2C?
In the HM330x datasheet it says that for standard I2C mode is 100Khz.
In another post where someone made a python version the developers say to put it at 20Khz.

But still the clock speed does not seem to be a problem for me. Even with 20Khz I'm getting the same effect.
My program is here:
https://github.com/martinberlin/epaper-weather-station/tree/develop/main/SPI-displays
air-quality-station.cpp

I noticed that I get mostly this wrong readings when I toggle the SET pin down with ESP32 (And hold it down during deep-sleep)
If I don't do it the readings seem fine. But then the fan will still rotate and consumption will be too much when connecting with the battery. Any idea of what I could be doing wrong? Or if there is any solution for this?

Below the epaper rendering this when the data comes out wrong.
813A2630-840F-4C07-B918-23A320A725D7

Cannot verify code with Arduino Web Editor

When I try to verify the code in Arduino Web Editor, this error occurs.

/home/builder/opt/libraries/latest/grove_laser_pm2_5_sensor_hm3301_1_0_2/Seeed_HM330X.h:76:58: error: 'u32' has not been declared

HM330XErrorCode IIC_read_bytes(u8 start_reg,u8 *data,u32 data_len);

^~~

/home/builder/opt/libraries/latest/grove_laser_pm2_5_sensor_hm3301_1_0_2/Seeed_HM330X.h:91:48: error: 'u32' has not been declared

HM330XErrorCode read_sensor_value(u8 *data,u32 data_len);

^~~

Error when compiling for esp32

When compiling for esp32 a error appears, upsetting everyone who shell use said product.

.../Arduino\libraries\Grove_-_Laser_PM2.5_Sensor_HM3301/Seeed_HM330X.h:91:48: error: 'u32' has not been declared
HM330XErrorCode read_sensor_value(u8 *data,u32 data_len);
^
cc1plus.exe: warning: unrecognized command line option '-Wno-frame-address'
exit status 1

ESPHome support

Can anyone help get this working as an ESPHome custom sensor?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.