INFORMACIÓN
El SGP30 es un sensor digital de calidad del aire que utiliza tecnología de óxido metálico (MOX) para medir compuestos orgánicos volátiles (TVOC) y el equivalente de dióxido de carbono (eCO₂) en el ambiente. Funciona mediante una superficie sensible que cambia su resistencia al contacto con gases presentes en el aire; el chip interpreta estos cambios mediante algoritmos internos y genera lecturas precisas en tiempo real. Se comunica a través de I2C, lo que facilita su integración con microcontroladores.
El SGP30 se utiliza ampliamente en sistemas de monitoreo ambiental, domótica, purificadores de aire, estaciones meteorológicas, ventilación inteligente, y dispositivos portátiles que requieren medir TVOC y eCO₂ para evaluar la calidad del aire interior. Gracias a su interfaz I2C, es compatible con una gran variedad de tarjetas de desarrollo, incluyendo Arduino UNO, Arduino Mega, ESP32, ESP8266, Raspberry Pi, STM32, y otros microcontroladores que soporten comunicación I2C.
ESPECIFICACIONES Y CARACTERÍSTICAS
- Sensor: SGP30.
- Tipo: Sensor de Gas MOX.
- Voltaje de Alimentación: 1.8 a 5 VDC.
- Consumo de Corriente: 40 mA.
- Interfaz de Conexión: I2C.
- Precisión Típica: 15%.
- Rangos de Medición:
- Compuestos Orgánicos Volátiles (TVOC): Desde 0 hasta 60 000 ppb.
- Dióxido de carbono (eCO2): Desde 400 hasta 60 000 ppm.
- Frecuencia de Muestreo (sampling rate): 1 Hz (una medida por segundo) para TVOC y eCO₂.
- Dimensiones: 11 mm x 11 mm x 1.6 mm.
- Peso: 0.73 g.
DOCUMENTACIÓN Y RECURSOS
INFORMACIÓN ADICIONAL
¿Cómo probar el SGP30 Sensor de Calidad del Aire I2C?
Aquí tienes una guía paso a paso (clara y práctica) para probar el SGP30 (I²C) con un Arduino UNO.
Materiales Necesarios.
- Módulo SGP30.
- Arduino UNO (u otra placa compatible I²C).
- Cables dupont.
- PC con Arduino IDE instalado y acceso a la Biblioteca Adafruit_SGP30.
Diagrama de Conexión.
- Conecta VIN → 5V del Arduino.
- Conecta GND → GND del Arduino.
- Conecta SDA → A4.
- Conecta SCL → A5.

Código de Programación.
- Abre Arduino IDE.
- Ve a Sketch → Include Library → Manage Libraries.
- Busca: SGP30.
- Instala Adafruit SGP30.
- Carga el Ejemplo → SGP30_test.
El código lo puedes abrir desde ejemplos o copiarlo de aquí:
#include <Wire.h>
#include "Adafruit_SGP30.h"
Adafruit_SGP30 sgp;
/* return absolute humidity [mg/m^3] with approximation formula
* @param temperature [°C]
* @param humidity [%RH]
*/
uint32_t getAbsoluteHumidity(float temperature, float humidity) {
// approximation formula from Sensirion SGP30 Driver Integration chapter 3.15
const float absoluteHumidity = 216.7f * ((humidity / 100.0f) * 6.112f * exp((17.62f * temperature) / (243.12f + temperature)) / (273.15f + temperature)); // [g/m^3]
const uint32_t absoluteHumidityScaled = static_cast<uint32_t>(1000.0f * absoluteHumidity); // [mg/m^3]
return absoluteHumidityScaled;
}
void setup() {
Serial.begin(115200);
while (!Serial) { delay(10); } // Wait for serial console to open!
Serial.println("SGP30 test");
if (! sgp.begin()){
Serial.println("Sensor not found :(");
while (1);
}
Serial.print("Found SGP30 serial #");
Serial.print(sgp.serialnumber[0], HEX);
Serial.print(sgp.serialnumber[1], HEX);
Serial.println(sgp.serialnumber[2], HEX);
// If you have a baseline measurement from before you can assign it to start, to 'self-calibrate'
//sgp.setIAQBaseline(0x8E68, 0x8F41); // Will vary for each sensor!
}
int counter = 0;
void loop() {
// If you have a temperature / humidity sensor, you can set the absolute humidity to enable the humditiy compensation for the air quality signals
//float temperature = 22.1; // [°C]
//float humidity = 45.2; // [%RH]
//sgp.setHumidity(getAbsoluteHumidity(temperature, humidity));
if (! sgp.IAQmeasure()) {
Serial.println("Measurement failed");
return;
}
Serial.print("TVOC "); Serial.print(sgp.TVOC); Serial.print(" ppbt");
Serial.print("eCO2 "); Serial.print(sgp.eCO2); Serial.println(" ppm");
if (! sgp.IAQmeasureRaw()) {
Serial.println("Raw Measurement failed");
return;
}
Serial.print("Raw H2 "); Serial.print(sgp.rawH2); Serial.print(" t");
Serial.print("Raw Ethanol "); Serial.print(sgp.rawEthanol); Serial.println("");
delay(1000);
counter++;
if (counter == 30) {
counter = 0;
uint16_t TVOC_base, eCO2_base;
if (! sgp.getIAQBaseline(&eCO2_base, &TVOC_base)) {
Serial.println("Failed to get baseline readings");
return;
}
Serial.print("****Baseline values: eCO2: 0x"); Serial.print(eCO2_base, HEX);
Serial.print(" & TVOC: 0x"); Serial.println(TVOC_base, HEX);
}
}
Resultados.
Una vez cargado el código, abra la consola serie a 115200 baudios. Las primeras 10 a 20 lecturas siempre serán TVOC 0 ppb eCO2 400 ppm. Esto se debe a que el sensor se está calentando, por lo que tendrá lecturas nulas. Después de unos segundos, verá que las lecturas de TVOC y eCO2 fluctúan. También se imprimirá un valor de referencia aproximadamente cada minuto.

Cepillo de Alambre de Latón y Acero Inoxidable para Limpieza de Boquillas
Convertidor DC DC 12V a 24V 10A
HT-PD27W-US Eliminador 27W USB Tipo C PD para Raspberry Pi 5
CD4001BE Compuerta NOR Cuádruple DIP-14 CMOS
Toallitas Húmedas para Limpieza de Equipos Electrónicos 30pcs COMPUTOALLAS
Pasta Limpiadora para Puntas de Cautín 6g
Eliminador 5V 3A USB C
Limpiador y Lubricante para Equipos Electrónicos en Aerosol 170 ml SILIJET E-PLUS
Osciloscopio DSO138 con Carcasa y Display TFT
305B Crossover 150W de Alta, Media y Baja Frecuencia
PShieldX Shield de Expansión para Raspberry Pi Pico
DRV5053OAQDBZR IC SMD Sensor Hall Bipolar
Tira Header Macho 40 Pines 2mm Negro
Congelante Detector de Falla para Circuitos Electrónicos 170 ml SILIJET E-3
SMDTS-1109S-C-D Push Button 7.9x4.5mm
CAU-115A Cautin Tipo Lapiz de 35W 127V con Accesorios
Disipador de Calor Raspberry Pi 3B
0603B222K500NT Capacitor Cerámico 0603 2.2nF 50V
Cargador de Carga Rápida 40W US + Cable Tipo C
Limpiador Dieléctrico para Circuitos y Tarjetas Electrónicas 454 ml COMPUKLIN
Tornillo Milimétrico M3 x 6 mm con Tuerca M3
SR602 Mini Sensor PIR
Adaptador HDMI a USB Tipo C
WT32-ETH01 Placa de Desarrollo ESP32 con ETHERNET
Pelador de Cables Coaxiales Giratorio
Mica para Transistor TO-220 Aislante Termico
Pasta Térmica 5g
Gripper para Servo MG995
Kit de Terminales Preaislado 280pcs FDD, MDD, RV y SV
Cable Duplex STP- POT 12 AWG Blanco 1 Metro
Espuma Limpiadora para Equipos Electrónicos 454 ml SILIMPO
Mini ZVS Modulo de Calentamiento por Induccion 5-12V




























Valoraciones
No hay valoraciones aún.