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); | ||||
|   } | ||||
| }; | ||||
|  | ||||
| @ -332,3 +332,43 @@ 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