meta data for this page
Differences
This shows you the differences between two versions of the page.
| sensor:scd [2026/04/21 20:48] – created - external edit 127.0.0.1 | sensor:scd [2026/04/24 18:31] (current) – vamsan | ||
|---|---|---|---|
| Line 6: | Line 6: | ||
| |< 100%>| | |< 100%>| | ||
| ^Feature^SCD30^SCD40^SCD41| | ^Feature^SCD30^SCD40^SCD41| | ||
| + | ^ |{{: | ||
| ^Technology|NDIR (Dual-Channel)|Photoacoustic|Photoacoustic| | ^Technology|NDIR (Dual-Channel)|Photoacoustic|Photoacoustic| | ||
| ^Size|35 x 23 x 7 mm|10.1 x 10.1 x 6.5 mm|10.1 x 10.1 x 6.5 mm| | ^Size|35 x 23 x 7 mm|10.1 x 10.1 x 6.5 mm|10.1 x 10.1 x 6.5 mm| | ||
| Line 85: | Line 86: | ||
| </ | </ | ||
| + | ===== SCD41 ===== | ||
| + | {{ : | ||
| + | The SCD41, developed by Sensirion, is a compact, highly precise sensor for measuring CO₂, temperature, | ||
| + | |||
| + | **Key Features** | ||
| + | |||
| + | * 3-in-1 Sensing: Measures CO2 concentration, | ||
| + | * Miniature Form Factor: Its extremely small size (10.1 x 10.1 x 6.5 mm³) enables easy integration into compact devices. | ||
| + | * High Accuracy: Offers a precision of ±(40 ppm + 5% of reading) across the range 400 to 5,000 ppm. | ||
| + | * Low Power Modes: Includes a " | ||
| + | * Standard Interface: Communicates via I2C, making it compatible with microcontrollers such as Arduino, ESP32, and Raspberry Pi. | ||
| + | |||
| + | **Technical Specifications** | ||
| + | |||
| + | ^Parameter^Range / Value^Accuracy (Typical)| | ||
| + | ^CO² Concentration|400 – 5,000 ppm (up to 40,000 ppm output)|±(40 ppm + 5%)| | ||
| + | ^Relative Humidity|0 – 100% RH|±6% RH| | ||
| + | ^Temperature|-10°C to 60°C| +-0.8 °C (at 15-35°C)| | ||
| + | ^Supply Voltage|**2.4V – 5.5V**|N/A| | ||
| + | ^I²C Address|0x62|N/ | ||
| + | |||
| + | ==== SCD41 Pinout ==== | ||
| + | Most breakout boards use a standard 4-pin or 5-pin arrangement for easy connection to microcontrollers like Arduino or ESP32. | ||
| + | |||
| + | {{ : | ||
| + | ^Pin Name^Type^Description| | ||
| + | ^VIN / VCC|Power|Connect to (2.4V – 5.5V) (depending on your board' | ||
| + | ^GND|Ground|Common ground for power and logic.| | ||
| + | ^SCL|I²C Clock|Serial clock line for I²C communication. Usually has a 10k pull-up.| | ||
| + | ^SDA|I²C Data|Serial data line for I²C communication. Usually has a 10k pull-up.| | ||
| + | ^3Vo|Output|(Adafruit boards only) 3.3V output from the onboard regulator.| | ||
| + | |||
| + | ==== SCD41 Arduino example ==== | ||
| + | Search for " | ||
| + | |||
| + | <code c> | ||
| + | #include < | ||
| + | #include < | ||
| + | #include < | ||
| + | |||
| + | SensirionI2cScd4x scd4x; | ||
| + | |||
| + | void setup() { | ||
| + | Serial.begin(115200); | ||
| + | while (!Serial); // Wait for serial monitor | ||
| + | |||
| + | Wire.begin(); | ||
| + | scd4x.begin(Wire); | ||
| + | |||
| + | // Stop potentially running measurement | ||
| + | uint16_t error = scd4x.stopPeriodicMeasurement(); | ||
| + | if (error) { | ||
| + | Serial.print(" | ||
| + | Serial.println(error); | ||
| + | } | ||
| + | |||
| + | // Start periodic measurement (updates every 5 seconds) | ||
| + | error = scd4x.startPeriodicMeasurement(); | ||
| + | if (error) { | ||
| + | Serial.print(" | ||
| + | Serial.println(error); | ||
| + | } | ||
| + | |||
| + | Serial.println(" | ||
| + | } | ||
| + | |||
| + | void loop() { | ||
| + | uint16_t co2 = 0; | ||
| + | float temperature = 0.0f; | ||
| + | float humidity = 0.0f; | ||
| + | bool dataReady = false; | ||
| + | |||
| + | // Check if data is ready to be read | ||
| + | uint16_t error = scd4x.getDataReadyStatus(dataReady); | ||
| + | | ||
| + | if (dataReady) { | ||
| + | error = scd4x.readMeasurement(co2, | ||
| + | if (!error) { | ||
| + | Serial.print(" | ||
| + | Serial.print(co2); | ||
| + | Serial.print(" | ||
| + | Serial.print(" | ||
| + | Serial.print(temperature); | ||
| + | Serial.print(" | ||
| + | Serial.print(" | ||
| + | Serial.print(humidity); | ||
| + | Serial.println(" | ||
| + | } | ||
| + | } | ||
| + | delay(1000); | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | **Key Functions to Note** | ||
| + | |||
| + | * **startPeriodicMeasurement(): | ||
| + | * **getDataReadyStatus(): | ||
| + | * **measureSingleShot(): | ||
| ===== Communication topics on lamaPLC ===== | ===== Communication topics on lamaPLC ===== | ||
| {{topic> | {{topic> | ||
| - | {{tag>BMP280 AHT20 temperature humidity pressure | + | {{tag>SCD30 SCD40 SCD41 IAQ NDIR sensor |
| This page has been accessed for: Today: {{counter|today}}, | This page has been accessed for: Today: {{counter|today}}, | ||