add watertemperature sensor
This commit is contained in:
		
							parent
							
								
									5658aa603c
								
							
						
					
					
						commit
						c52e9db4c8
					
				| @ -372,3 +372,23 @@ Blockly.Blocks['sensebox_sensor_truebner_smt50'] = { | |||||||
|     this.setOutput(true, Types.NUMBER.typeName); |     this.setOutput(true, Types.NUMBER.typeName); | ||||||
|   } |   } | ||||||
| }; | }; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * DS18B20 Watertemperature | ||||||
|  |  * | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | Blockly.Blocks['sensebox_sensor_watertemperature'] = { | ||||||
|  |   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_watertemperature) | ||||||
|  |       .appendField("Port:") | ||||||
|  |       .appendField(new Blockly.FieldDropdown(dropdownOptions), "Port") | ||||||
|  |     this.setOutput(true, Types.NUMBER.typeName); | ||||||
|  |     this.setTooltip(Blockly.Msg.senseBox_watertemperature_tip); | ||||||
|  |   } | ||||||
|  | }; | ||||||
| @ -342,28 +342,28 @@ Blockly.Arduino.sensebox_sensor_truebner_smt50 = function () { | |||||||
|   var dropdown_port = this.getFieldValue('Port') |   var dropdown_port = this.getFieldValue('Port') | ||||||
|   var dropdown_value = this.getFieldValue('value'); |   var dropdown_value = this.getFieldValue('value'); | ||||||
|   var dropdown_pin = 1; |   var dropdown_pin = 1; | ||||||
|   if (dropdown_value == 'temp') { |   if (dropdown_value === 'temp') { | ||||||
|     if (dropdown_port == 'A') { |     if (dropdown_port === 'A') { | ||||||
|       dropdown_pin = 1; |       dropdown_pin = 1; | ||||||
|     } |     } | ||||||
|     if (dropdown_port == 'B') { |     if (dropdown_port === 'B') { | ||||||
|       dropdown_pin = 3; |       dropdown_pin = 3; | ||||||
|     } |     } | ||||||
|     if (dropdown_port == 'C') { |     if (dropdown_port === 'C') { | ||||||
|       dropdown_pin = 5; |       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}'; |     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 + ')'; |     var code = 'getSMT50Temperature(' + dropdown_pin + ')'; | ||||||
|     return [code, Blockly.Arduino.ORDER_ATOMIC]; |     return [code, Blockly.Arduino.ORDER_ATOMIC]; | ||||||
|   } |   } | ||||||
|   else if (dropdown_value == 'soil') { |   else if (dropdown_value === 'soil') { | ||||||
|     if (dropdown_port == 'A') { |     if (dropdown_port === 'A') { | ||||||
|       dropdown_pin = 2; |       dropdown_pin = 2; | ||||||
|     } |     } | ||||||
|     if (dropdown_port == 'B') { |     if (dropdown_port === 'B') { | ||||||
|       dropdown_pin = 4; |       dropdown_pin = 4; | ||||||
|     } |     } | ||||||
|     if (dropdown_port == 'C') { |     if (dropdown_port === 'C') { | ||||||
|       dropdown_pin = 6; |       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}'; |     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}'; | ||||||
| @ -372,3 +372,30 @@ Blockly.Arduino.sensebox_sensor_truebner_smt50 = function () { | |||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
| }; | }; | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * DS18B20 Watertemperature | ||||||
|  |  *  | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | Blockly.Arduino.sensebox_sensor_watertemperature = function () { | ||||||
|  | 
 | ||||||
|  |   var dropdown_port = this.getFieldValue('Port'); | ||||||
|  |   var dropdown_pin = 1; | ||||||
|  |   if (dropdown_port === 'A') { | ||||||
|  |     dropdown_pin = 1; | ||||||
|  |   } | ||||||
|  |   if (dropdown_port === 'B') { | ||||||
|  |     dropdown_pin = 3; | ||||||
|  |   } | ||||||
|  |   if (dropdown_port === 'C') { | ||||||
|  |     dropdown_pin = 5; | ||||||
|  |   } | ||||||
|  |   Blockly.Arduino.libraries_['library_oneWire'] = '#include "OneWire.h"'; | ||||||
|  |   Blockly.Arduino.libraries_['library_oneDallasTemperature'] = '#include "DallasTemperature.h"'; | ||||||
|  |   Blockly.Arduino.definitions_['define_OneWire'] = '#define ONE_WIRE_BUS ' + dropdown_pin + '\nOneWire oneWire(ONE_WIRE_BUS);\nDallasTemperature sensors(&oneWire);'; | ||||||
|  |   Blockly.Arduino.setupCode_['sensebox_oneWireSetup'] = 'sensors.begin();'; | ||||||
|  |   Blockly.Arduino.codeFunctions_['sensebox_requestTemp'] = 'float getWaterTemp(){\nsensors.requestTemperatures();\nsensors.getTempCByIndex(0);\n}'; | ||||||
|  |   var code = 'getWaterTemp()'; | ||||||
|  |   return [code, Blockly.Arduino.ORDER_ATOMIC]; | ||||||
|  | }; | ||||||
| @ -51,6 +51,7 @@ class Toolbox extends React.Component { | |||||||
|                     <Block type="sensebox_sensor_sound" /> |                     <Block type="sensebox_sensor_sound" /> | ||||||
|                     <Block type="sensebox_button" /> |                     <Block type="sensebox_button" /> | ||||||
|                     <Block type="sensebox_sensor_truebner_smt50" /> |                     <Block type="sensebox_sensor_truebner_smt50" /> | ||||||
|  |                     <Block type="sensebox_sensor_watertemperature" /> | ||||||
|                 </Category > |                 </Category > | ||||||
|                 <Category name="WIFI" colour={getColour().sensebox}> |                 <Category name="WIFI" colour={getColour().sensebox}> | ||||||
|                     <Block type="sensebox_wifi" /> |                     <Block type="sensebox_wifi" /> | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user