add co2 sensor

This commit is contained in:
Mario
2020-10-12 15:06:33 +02:00
parent 08ee8b3b5c
commit 9f16e07c59
6 changed files with 95 additions and 27 deletions
@@ -251,4 +251,48 @@ Blockly.Arduino.sensebox_button = function () {
code = 'button_' + dropdown_pin + '.wasPressed()';
}
return [code, Blockly.Arduino.ORDER_ATOMIC];
};
};
/**
* SCD30 CO2 Sensor
*
*/
Blockly.Arduino.sensebox_scd30 = function () {
var dropdown = this.getFieldValue('dropdown');
Blockly.Arduino.libraries_['scd30_library'] = '#include "SparkFun_SCD30_Arduino_Library.h"'
Blockly.Arduino.libraries_['library_senseBoxMCU'] = '#include "SenseBoxMCU.h"';
Blockly.Arduino.definitions_['SCD30'] = 'SCD30 airSensor;';
Blockly.Arduino.variables_['scd30_temp'] = 'float scd30_temp;';
Blockly.Arduino.variables_['scd30_humi'] = 'float scd30_humi;';
Blockly.Arduino.variables_['scd30_co2'] = 'float scd30_co2;';
Blockly.Arduino.setupCode_['init_scd30'] = ` Wire.begin();
if (airSensor.begin() == false)
{
Serial.println("Air sensor not detected. Please check wiring. Freezing...");
while (1)
;
}`;
Blockly.Arduino.loopCodeOnce_['scd30_getData'] = `if (airSensor.dataAvailable())
{
scd30_co2 = airSensor.getCO2();
scd30_temp = airSensor.getTemperature();
scd30_humi = airSensor.getHumidity();
}`
var code = '';
switch (dropdown) {
case 'temperature':
code = 'scd30_temp';
break;
case 'humidity':
code = 'scd30_humi';
break;
case 'CO2':
code = 'scd30_co2';
break;
default:
code = ''
}
return [code, Blockly.Arduino.ORDER_ATOMIC];
}