Grove - Sensor Laser PM2.5 (HM3301)

O Grove - Sensor Laser PM2.5 (HM3301) é uma nova geração de sensor de detecção de poeira a laser, utilizado para detecção contínua e em tempo real de partículas de poeira no ar.
Diferente do sensor de detecção de poeira por sucção, o HM-3301 utiliza de forma inovadora pás de ventilador para impulsionar o ar, e o ar que passa pela câmara de detecção é usado como amostra de teste para realizar testes contínuos e em tempo real sobre poeira de diferentes tamanhos de partículas no ar.
Este módulo é adequado para detectores de poeira, purificadores de ar inteligentes, condicionadores de ar inteligentes, ventiladores inteligentes, testes de qualidade do ar, medidores de neblina, monitoramento ambiental e produtos e aplicações relacionados.
Recursos
- Alta sensibilidade a partículas de poeira de 0,3 μm ou maiores
- Detecção em tempo real e contínua da concentração de poeira no ar
- Baseado em tecnologia de espalhamento de luz a laser, as leituras são precisas, estáveis e consistentes
- Baixo ruído
- Consumo de energia ultrabaixo
Especificação
| Item | Valor |
|---|---|
| Tensão de operação | 3.3V / 5V |
| Temperatura de operação | -10~60℃ |
| Umidade de operação | 10%~90%RH (sem condensação) |
| Tamanho de partícula | 3 canais -- 1,0µm, 2,5µm, 10µm |
| Faixa (valor padrão de PM2.5) | 1~500µg/ m3 (Faixa efetiva) 1000 µg/ m3 (Faixa máxima) |
| Resolução | Concentração: 1µg/ m3 Concentração de contagem: 1s/0.1L |
| Tempo de estabilização | 30 segundos após a energização |
| Interface | I2C |
| Endereço I2C | 0x40 |
Aplicações típicas
- Purificador de ar / condicionador de ar
- Equipamento de teste de qualidade do ar
- Análise industrial de valores de PM
- Detecção e análise de poeira e fumaça
- Detector em tempo real de PM2.5, PM10, TSP
- Contador de partículas multicanal
- Equipamento de teste ambiental
Visão geral de hardware
Pinagem

Princípio de funcionamento
O Sensor de Poeira HM-3301 é baseado na avançada teoria de espalhamento de Mie. Quando a luz passa através de partículas com quantidade igual ou maior do que o comprimento de onda da luz, ocorre o espalhamento da luz. A luz espalhada é concentrada em um fotodiodo de alta sensibilidade, que é então amplificado e analisado por um circuito. Com um modelo matemático e algoritmo específicos, são obtidas a concentração numérica e a concentração em massa das partículas de poeira.
O sensor de poeira HM-3301 é composto por componentes principais como um ventilador, uma fonte de laser infravermelho, um espelho de condensação, um tubo fotosensível, um circuito de amplificação de sinal e um circuito de triagem de sinal.

Plataformas suportadas
| Arduino | Raspberry Pi | |||
|---|---|---|---|---|
![]() | ![]() | ![]() | ![]() | ![]() |
As plataformas mencionadas acima como suportadas são uma indicação da compatibilidade teórica ou de software do módulo. Na maioria dos casos, fornecemos apenas biblioteca de software ou exemplos de código para a plataforma Arduino. Não é possível fornecer biblioteca de software / código de demonstração para todas as possíveis plataformas de MCU. Portanto, os usuários precisam escrever sua própria biblioteca de software.
Primeiros passos
Brincar com Arduino
Hardware
Materiais necessários
| Seeeduino V4.2 | Base Shield | Grove - Sensor Laser PM2.5 (HM3301) |
|---|---|---|
![]() | ![]() | |
| Adquira agora | Adquira agora | Adquira agora |
1 Conecte o cabo USB com cuidado, caso contrário você poderá danificar a porta. Use o cabo USB com 4 fios internos, o cabo de 2 fios não consegue transferir dados. Se você não tiver certeza sobre o cabo que possui, pode clicar aqui para comprar.
2 Cada módulo Grove vem com um cabo Grove quando você o compra. Caso você perca o cabo Grove, pode clicar aqui para comprar.
-
Passo 1. Conecte o Grove - Sensor Laser PM2.5 (HM3301) à porta I^2^C do Grove-Base Shield.
-
Passo 2. Conecte o Grove - Base Shield ao Seeeduino.
-
Passo 3. Conecte o Seeeduino ao PC por meio de um cabo USB.

Se não tivermos o Grove Base Shield, também podemos conectar diretamente este módulo ao Seeeduino como abaixo.
| Seeeduino | Cabo Grove | Grove - Sensor Laser PM2.5 (HM3301) |
|---|---|---|
| GND | Preto | GND |
| 5V or 3.3V | Vermelho | VCC |
| SDA | Branco | SDA |
| SCL | Amarelo | SCL |
Software
Se esta é a primeira vez que você trabalha com Arduino, recomendamos fortemente que veja Getting Started with Arduino antes de começar.
-
Passo 1. Baixe a biblioteca Seeed_PM2_5_sensor_HM3301 do Github.
-
Passo 2. Consulte How to install library para instalar a biblioteca para Arduino.
-
Passo 3. Reinicie a IDE do Arduino. Abra o exemplo; você pode abri-lo das três maneiras a seguir:
-
Abra-o diretamente na IDE do Arduino pelo caminho: File --> Examples --> PM2.5 sensor --> basic_demo.

-
Abra-o no seu computador clicando em basic_demo.ino, que você pode encontrar na pasta XXXX\Arduino\libraries\Seeed_PM2_5_sensor_HM3301-master\examples\basic_demo, em que XXXX é o local onde você instalou a IDE do Arduino.

-
Ou, você pode simplesmente clicar no ícone
no canto superior direito do bloco de código para copiar o seguinte código para um novo sketch na IDE do Arduino.
-
#include "Seeed_HM330X.h"
#ifdef ARDUINO_SAMD_VARIANT_COMPLIANCE
#define SERIAL SerialUSB
#else
#define SERIAL Serial
#endif
HM330X sensor;
u8 buf[30];
const char *str[]={"sensor num: ","PM1.0 concentration(CF=1,Standard particulate matter,unit:ug/m3): ",
"PM2.5 concentration(CF=1,Standard particulate matter,unit:ug/m3): ",
"PM10 concentration(CF=1,Standard particulate matter,unit:ug/m3): ",
"PM1.0 concentration(Atmospheric environment,unit:ug/m3): ",
"PM2.5 concentration(Atmospheric environment,unit:ug/m3): ",
"PM10 concentration(Atmospheric environment,unit:ug/m3): ",
};
err_t print_result(const char* str,u16 value)
{
if(NULL==str)
return ERROR_PARAM;
SERIAL.print(str);
SERIAL.println(value);
return NO_ERROR;
}
/*parse buf with 29 u8-data*/
err_t parse_result(u8 *data)
{
u16 value=0;
err_t NO_ERROR;
if(NULL==data)
return ERROR_PARAM;
for(int i=1;i<8;i++)
{
value = (u16)data[i*2]<<8|data[i*2+1];
print_result(str[i-1],value);
}
}
err_t parse_result_value(u8 *data)
{
if(NULL==data)
return ERROR_PARAM;
for(int i=0;i<28;i++)
{
SERIAL.print(data[i],HEX);
SERIAL.print(" ");
if((0==(i)%5)||(0==i))
{
SERIAL.println(" ");
}
}
u8 sum=0;
for(int i=0;i<28;i++)
{
sum+=data[i];
}
if(sum!=data[28])
{
SERIAL.println("wrong checkSum!!!!");
}
SERIAL.println(" ");
SERIAL.println(" ");
return NO_ERROR;
}
/*30s*/
void setup()
{
SERIAL.begin(115200);
delay(100);
SERIAL.println("Serial start");
if(sensor.init())
{
SERIAL.println("HM330X init failed!!!");
while(1);
}
}
void loop()
{
if(sensor.read_sensor_value(buf,29))
{
SERIAL.println("HM330X read result failed!!!");
}
parse_result_value(buf);
parse_result(buf);
SERIAL.println(" ");
SERIAL.println(" ");
SERIAL.println(" ");
delay(5000);
}
O arquivo de biblioteca pode ser atualizado. Este código pode não ser aplicável ao arquivo de biblioteca atualizado, portanto recomendamos que você use os dois primeiros métodos.
-
Passo 4. Envie o demo. Se você não sabe como fazer o upload do código, por favor verifique How to upload code.
-
Passo 5. Abra o Serial Monitor da Arduino IDE clicando em Tool-> Serial Monitor. Ou pressione as teclas
ctrl+shift+mao mesmo tempo. Defina a taxa de transmissão para 115200.
Se tudo correr bem, quando você abrir o Serial Monitor ele poderá mostrar como abaixo:
Serial start
0
FF 0 0 0 2D
0 3F 0 45 0
22 0 32 0 3B
0 0 0 0 0
0 0 0 0 0
0 0
sensor num: 0
PM1.0 concentration(CF=1,Standard particulate matter,unit:ug/m3): 45
PM2.5 concentration(CF=1,Standard particulate matter,unit:ug/m3): 63
PM10 concentration(CF=1,Standard particulate matter,unit:ug/m3): 69
PM1.0 concentration(Atmospheric environment,unit:ug/m3): 34
PM2.5 concentration(Atmospheric environment,unit:ug/m3): 50
PM10 concentration(Atmospheric environment,unit:ug/m3): 59
O valor padrão de concentração de massa de material particulado refere-se ao valor de concentração de massa obtido pela conversão de densidade de partículas metálicas industriais como partículas equivalentes, e é adequado para uso em oficinas de produção industrial e similares. A concentração de material particulado no ambiente atmosférico é convertida pela densidade dos principais poluentes no ar como partículas equivalentes, e é adequada para ambientes atmosféricos internos e externos comuns. Portanto, você pode ver que há dois conjuntos de dados acima.
Visualizador de Esquemático Online
Recursos
-
[PDF] Datasheet HM3301
Projetos
Visualização de Poluição Atmosférica:O problema da poluição do ar atrai cada vez mais atenção. Desta vez tentamos monitorar PM2.5 com Wio LTE e o novo Laser PM2.5 Sensor.
Suporte Técnico & Discussão de Produto
Atualizável para Sensores Industriais
Com o SenseCAP S2110 controller e o S2100 data logger, você pode facilmente transformar o Grove em um sensor LoRaWAN®. A Seeed não apenas ajuda você na prototipagem, mas também oferece a possibilidade de expandir seu projeto com a série SenseCAP de robustos sensores industriais.
O invólucro IP66, a configuração via Bluetooth, a compatibilidade com a rede global LoRaWAN®, a bateria interna de 19 Ah e o poderoso suporte do APP fazem do SenseCAP S210x a melhor escolha para aplicações industriais. A série inclui sensores para umidade do solo, temperatura e umidade do ar, intensidade de luz, CO2, EC e uma estação meteorológica 8 em 1. Experimente o mais recente SenseCAP S210x para o seu próximo projeto industrial de sucesso.








