Mudanças entre as edições de "Scd30"
(9 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
Linha 3: | Linha 3: | ||
O sensor SCD30 permite a medição precisa do dióxido de carbono. Juntamente com a tecnologia de medição NDIR para detecção de CO2, o sensor SCD30 mede umidade e temperatura também no mesmo sensor. | O sensor SCD30 permite a medição precisa do dióxido de carbono. Juntamente com a tecnologia de medição NDIR para detecção de CO2, o sensor SCD30 mede umidade e temperatura também no mesmo sensor. | ||
− | + | <center> | |
+ | [[Arquivo: SCD_30.jpg| 200 px]] | ||
+ | </center> | ||
O dióxido de carbono é um indicador chave da qualidade do ar interno. Graças a novos padrões de energia e melhor isolamento, as casas tornaram-se cada vez mais eficientes em termos de energia, mas a qualidade do ar no interior dos ambientes pode se deteriorar rapidamente. A ventilação ativa é necessária para manter um ambiente interno confortável e saudável e para melhorar o bem-estar e a produtividade dos habitantes. O SCD30 oferece monitoramento preciso e estável de CO2, temperatura e umidade. Isso permite que o desenvolvimento de soluções que aumentam a eficiência energética e simultaneamente apoiam o bem-estar. | O dióxido de carbono é um indicador chave da qualidade do ar interno. Graças a novos padrões de energia e melhor isolamento, as casas tornaram-se cada vez mais eficientes em termos de energia, mas a qualidade do ar no interior dos ambientes pode se deteriorar rapidamente. A ventilação ativa é necessária para manter um ambiente interno confortável e saudável e para melhorar o bem-estar e a produtividade dos habitantes. O SCD30 oferece monitoramento preciso e estável de CO2, temperatura e umidade. Isso permite que o desenvolvimento de soluções que aumentam a eficiência energética e simultaneamente apoiam o bem-estar. | ||
Linha 15: | Linha 17: | ||
===NodeMCU DEVKIT V1.0 e sensor SCD30=== | ===NodeMCU DEVKIT V1.0 e sensor SCD30=== | ||
+ | <center> | ||
+ | [[Arquivo: SCD30_NodeMCU.jpg| 300 px]] | ||
+ | </center> | ||
+ | ====Comunicação I2C usando os pinos padrão D1(GPIO 5) e D2(GPIO 4)==== | ||
− | + | Usando os pinos padrões do NodeMCU para a comunicação I2C faça as seguintes ligações entre o sensor SCD30 e a placa NodeMCU | |
− | |||
− | |||
− | |||
− | |||
Abaixo a relação entre os pinos do sensor e da placa | Abaixo a relação entre os pinos do sensor e da placa | ||
Linha 30: | Linha 32: | ||
GND / GND | GND / GND | ||
− | + | Observe no código como programar no Arduino IDE para extrair os dados do sensor. Adaptado de [https://github.com/sparkfun/SparkFun_SCD30_Arduino_Library/tree/master/examples/Example1_BasicReadings SCD30 BasicReadings] | |
+ | |||
<syntaxhighlight lang=c> | <syntaxhighlight lang=c> | ||
+ | #include <Wire.h> | ||
+ | #include "SparkFun_SCD30_Arduino_Library.h" | ||
+ | SCD30 airSensor; | ||
+ | bool flag=true; | ||
+ | byte count = 0; | ||
+ | |||
+ | void setup(){ | ||
+ | Serial.begin(115200); | ||
+ | Wire.begin(); | ||
+ | for (byte i = 8; i < 120; i++){ | ||
+ | Wire.beginTransmission(i); | ||
+ | if (Wire.endTransmission() == 0){ | ||
+ | Serial.print("Found I2C Device: "); | ||
+ | Serial.print(" (0x"); | ||
+ | Serial.print(i, HEX); | ||
+ | Serial.println(")"); | ||
+ | count++; | ||
+ | delay(1); | ||
+ | } | ||
+ | } | ||
+ | Serial.print("\r\n"); | ||
+ | Serial.println("Finish I2C scanner"); | ||
+ | Serial.print("Found "); | ||
+ | Serial.print(count, HEX); | ||
+ | Serial.println(" Device(s)."); | ||
+ | |||
+ | if (airSensor.begin() == false){ | ||
+ | Serial.println("Air sensor not detected. Please check wiring. Freezing..."); | ||
+ | flag=false; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | void loop(){ | ||
+ | if(flag){ | ||
+ | if (airSensor.dataAvailable()){ | ||
+ | Serial.print("co2(ppm):"); | ||
+ | Serial.print(airSensor.getCO2()); | ||
+ | Serial.print(" temp(C):"); | ||
+ | Serial.print(airSensor.getTemperature(), 1); | ||
+ | Serial.print(" humidity(%):"); | ||
+ | Serial.print(airSensor.getHumidity(), 1); | ||
+ | Serial.println(); | ||
+ | } | ||
+ | else | ||
+ | Serial.println("Waiting for new data"); | ||
+ | } | ||
+ | delay(4000); | ||
+ | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | ==== | + | ====Comunicação SPI usando outros pinos==== |
− | |||
− | |||
− | + | Usando outros pinos para a comunicação I2C você deve passar os GPIOs em Wire.begin(SDA, SCL) e fazer as seguintes ligações entre o sensor SCD30 e a placa NodeMCU. No exemplo usamos os GPIOs 14 e 12. | |
− | |||
− | |||
Abaixo a relação entre os pinos do sensor e da placa | Abaixo a relação entre os pinos do sensor e da placa | ||
+ | SCD30 / NODEMCU 1.0 ESP8266-12E | ||
+ | SDA / GPIO 14 - D5 | ||
+ | SCL / GPIO 12 - D6 | ||
+ | VCC / 3.3V | ||
+ | GND / GND | ||
− | + | Observe no código como declarar os GPIOs. | |
− | |||
<syntaxhighlight lang=c> | <syntaxhighlight lang=c> | ||
− | + | Wire.begin(14,12); | |
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | ou use | |
− | |||
− | |||
− | |||
− | |||
<syntaxhighlight lang=c> | <syntaxhighlight lang=c> | ||
− | + | Wire.begin(D5, D6); | |
− | |||
− | |||
</syntaxhighlight> | </syntaxhighlight> |
Edição atual tal como às 14h46min de 5 de junho de 2020
Sensor de Dióxido de Carbono (CO2), temperatura e umidade SCD30
O sensor SCD30 permite a medição precisa do dióxido de carbono. Juntamente com a tecnologia de medição NDIR para detecção de CO2, o sensor SCD30 mede umidade e temperatura também no mesmo sensor.
O dióxido de carbono é um indicador chave da qualidade do ar interno. Graças a novos padrões de energia e melhor isolamento, as casas tornaram-se cada vez mais eficientes em termos de energia, mas a qualidade do ar no interior dos ambientes pode se deteriorar rapidamente. A ventilação ativa é necessária para manter um ambiente interno confortável e saudável e para melhorar o bem-estar e a produtividade dos habitantes. O SCD30 oferece monitoramento preciso e estável de CO2, temperatura e umidade. Isso permite que o desenvolvimento de soluções que aumentam a eficiência energética e simultaneamente apoiam o bem-estar.
- Para saber mais sobre o sensor SCD30, consulte sua documentação no link: SCD30 - Sensor Module for HVAC and Indoor Air Quality Applications.
- Acesse o datasheet no link: Datasheet Sensirion SCD30 Sensor Module.
- Para saber mais sobre a interface de comunicação do sensor acesse: Interface Description Sensirion SCD30 Sensor Module.
- Para usar o sensor com a placa NodeMCU DEVKIT V1.0 siga os passos descritos na próxima seção.
NodeMCU DEVKIT V1.0 e sensor SCD30
Comunicação I2C usando os pinos padrão D1(GPIO 5) e D2(GPIO 4)
Usando os pinos padrões do NodeMCU para a comunicação I2C faça as seguintes ligações entre o sensor SCD30 e a placa NodeMCU
Abaixo a relação entre os pinos do sensor e da placa
SCD30 / NODEMCU 1.0 ESP8266-12E SDA / GPIO 4 - D2 SCL / GPIO 5 - D1 VCC / 3.3V GND / GND
Observe no código como programar no Arduino IDE para extrair os dados do sensor. Adaptado de SCD30 BasicReadings
#include <Wire.h>
#include "SparkFun_SCD30_Arduino_Library.h"
SCD30 airSensor;
bool flag=true;
byte count = 0;
void setup(){
Serial.begin(115200);
Wire.begin();
for (byte i = 8; i < 120; i++){
Wire.beginTransmission(i);
if (Wire.endTransmission() == 0){
Serial.print("Found I2C Device: ");
Serial.print(" (0x");
Serial.print(i, HEX);
Serial.println(")");
count++;
delay(1);
}
}
Serial.print("\r\n");
Serial.println("Finish I2C scanner");
Serial.print("Found ");
Serial.print(count, HEX);
Serial.println(" Device(s).");
if (airSensor.begin() == false){
Serial.println("Air sensor not detected. Please check wiring. Freezing...");
flag=false;
}
}
void loop(){
if(flag){
if (airSensor.dataAvailable()){
Serial.print("co2(ppm):");
Serial.print(airSensor.getCO2());
Serial.print(" temp(C):");
Serial.print(airSensor.getTemperature(), 1);
Serial.print(" humidity(%):");
Serial.print(airSensor.getHumidity(), 1);
Serial.println();
}
else
Serial.println("Waiting for new data");
}
delay(4000);
}
Comunicação SPI usando outros pinos
Usando outros pinos para a comunicação I2C você deve passar os GPIOs em Wire.begin(SDA, SCL) e fazer as seguintes ligações entre o sensor SCD30 e a placa NodeMCU. No exemplo usamos os GPIOs 14 e 12.
Abaixo a relação entre os pinos do sensor e da placa
SCD30 / NODEMCU 1.0 ESP8266-12E SDA / GPIO 14 - D5 SCL / GPIO 12 - D6 VCC / 3.3V GND / GND
Observe no código como declarar os GPIOs.
Wire.begin(14,12);
ou use
Wire.begin(D5, D6);