add soil moisture sensor
This commit is contained in:
parent
59fa90d43f
commit
5658aa603c
@ -351,3 +351,24 @@ Blockly.Blocks['sensebox_gps'] = {
|
||||
this.setTooltip(Blockly.Msg.senseBox_bme_tip);
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Block for Truebner STM50
|
||||
*/
|
||||
|
||||
Blockly.Blocks['sensebox_sensor_truebner_smt50'] = {
|
||||
init: function () {
|
||||
var dropdownOptions = [[Blockly.Msg.senseBox_ultrasonic_port_A, 'A'],
|
||||
[Blockly.Msg.senseBox_ultrasonic_port_B, 'B'], [Blockly.Msg.senseBox_ultrasonic_port_C, 'C']];
|
||||
this.setColour(getColour().sensebox);
|
||||
this.appendDummyInput()
|
||||
.appendField(Blockly.Msg.sensebox_soil_smt50);
|
||||
this.appendDummyInput()
|
||||
.appendField("Port:")
|
||||
.appendField(new Blockly.FieldDropdown(dropdownOptions), "Port")
|
||||
this.appendDummyInput()
|
||||
.appendField(Blockly.Msg.senseBox_value)
|
||||
.appendField(new Blockly.FieldDropdown([[Blockly.Msg.senseBox_temp, "temp"], [Blockly.Msg.senseBox_soil, "soil"]]), 'value')
|
||||
this.setOutput(true, Types.NUMBER.typeName);
|
||||
}
|
||||
};
|
||||
|
@ -331,4 +331,44 @@ Blockly.Arduino.sensebox_gps = function () {
|
||||
}
|
||||
return [code, Blockly.Arduino.ORDER_ATOMIC];
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Block for Truebner STM50
|
||||
*/
|
||||
|
||||
|
||||
Blockly.Arduino.sensebox_sensor_truebner_smt50 = function () {
|
||||
var dropdown_port = this.getFieldValue('Port')
|
||||
var dropdown_value = this.getFieldValue('value');
|
||||
var dropdown_pin = 1;
|
||||
if (dropdown_value == 'temp') {
|
||||
if (dropdown_port == 'A') {
|
||||
dropdown_pin = 1;
|
||||
}
|
||||
if (dropdown_port == 'B') {
|
||||
dropdown_pin = 3;
|
||||
}
|
||||
if (dropdown_port == 'C') {
|
||||
dropdown_pin = 5;
|
||||
}
|
||||
Blockly.Arduino.codeFunctions_['sensebox_smt50_temp'] = 'float getSMT50Temperature(int analogPin){\n int sensorValue = analogRead(analogPin);\n float voltage = sensorValue * (3.3 / 1024.0);\n return (voltage - 0.5) * 100;\n}';
|
||||
var code = 'getSMT50Temperature(' + dropdown_pin + ')';
|
||||
return [code, Blockly.Arduino.ORDER_ATOMIC];
|
||||
}
|
||||
else if (dropdown_value == 'soil') {
|
||||
if (dropdown_port == 'A') {
|
||||
dropdown_pin = 2;
|
||||
}
|
||||
if (dropdown_port == 'B') {
|
||||
dropdown_pin = 4;
|
||||
}
|
||||
if (dropdown_port == 'C') {
|
||||
dropdown_pin = 6;
|
||||
}
|
||||
Blockly.Arduino.codeFunctions_['sensebox_smt50_soil'] = 'float getSMT50Moisture(int analogPin){\n int sensorValue = analogRead(analogPin);\n float voltage = sensorValue * (3.3 / 1024.0);\n return (voltage * 50) / 3;\n}';
|
||||
var code = 'getSMT50Moisture(' + dropdown_pin + ')';
|
||||
return [code, Blockly.Arduino.ORDER_ATOMIC];
|
||||
}
|
||||
|
||||
};
|
@ -50,6 +50,7 @@ class Toolbox extends React.Component {
|
||||
<Block type="sensebox_sensor_ultrasonic_ranger" />
|
||||
<Block type="sensebox_sensor_sound" />
|
||||
<Block type="sensebox_button" />
|
||||
<Block type="sensebox_sensor_truebner_smt50" />
|
||||
</Category >
|
||||
<Category name="WIFI" colour={getColour().sensebox}>
|
||||
<Block type="sensebox_wifi" />
|
||||
|
Loading…
x
Reference in New Issue
Block a user