Hello Guys,
we install JSN-SR04T in a water tank with 120cm height .
and below is the code but my problem is that the tank now is empty but it gives me 80% when pressing the button
[
{
"id": "2a29abc4.be4324",
"type": "exec",
"z": "e86239c2.ac7248",
"command": "sudo python /home/pi/ultrasonic.py",
"addpay": "payload",
"append": "",
"useSpawn": "false",
"timer": "",
"winHide": false,
"oldrc": false,
"name": "",
"x": 400,
"y": 180,
"wires": [
[
"9971de04.727c6"
],
[],
[]
]
},
{
"id": "9971de04.727c6",
"type": "function",
"z": "e86239c2.ac7248",
"name": "",
"func": "var distance = parseInt(msg.payload);\nvar EmptyDist = 120 - distance;\nmsg.payload = parseInt((EmptyDist/120)*100);\n//msg.payload =(100- parseInt((temp/125)*100));\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 730,
"y": 180,
"wires": [
[
"b1617d6f.12bf9"
]
]
},
{
"id": "b1617d6f.12bf9",
"type": "ui_gauge",
"z": "e86239c2.ac7248",
"name": "",
"group": "99602dee.56223",
"order": 1,
"width": 0,
"height": 0,
"gtype": "wave",
"title": "",
"label": "%",
"format": "{{value}}",
"min": 0,
"max": "100",
"colors": [
"#00b500",
"#e6e600",
"#ca3838"
],
"seg1": "",
"seg2": "",
"diff": false,
"className": "",
"x": 900,
"y": 180,
"wires": []
},
{
"id": "a8b70e6a.6305",
"type": "ui_button",
"z": "e86239c2.ac7248",
"name": "",
"group": "99602dee.56223",
"order": 2,
"width": 0,
"height": 0,
"passthru": false,
"label": "button",
"tooltip": "",
"color": "",
"bgcolor": "",
"className": "",
"icon": "",
"payload": "",
"payloadType": "str",
"topic": "topic",
"topicType": "msg",
"x": 160,
"y": 240,
"wires": [
[
"2a29abc4.be4324"
]
]
},
{
"id": "99602dee.56223",
"type": "ui_group",
"name": "Fuel Tank",
"tab": "94549.2567dab8",
"order": 1,
"disp": true,
"width": "6",
"collapse": false,
"className": ""
},
{
"id": "94549.2567dab8",
"type": "ui_tab",
"name": "Fuel Level",
"icon": "dashboard",
"disabled": false,
"hidden": false
}
]
ultrasonic.py
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
TRIG = 23
ECHO = 24
#print "Distance Measurement In Progress"
GPIO.setup(TRIG,GPIO.OUT)
GPIO.setup(ECHO,GPIO.IN)
GPIO.output(TRIG, False)
#print "Waiting For Sensor To Settle"
time.sleep(2)
GPIO.output(TRIG, True)
time.sleep(0.00001)
GPIO.output(TRIG, False)
while GPIO.input(ECHO)==0:
pulse_start = time.time()
while GPIO.input(ECHO)==1:
pulse_end = time.time()
pulse_duration = pulse_end - pulse_start
distance = pulse_duration * 17150
distance = round(distance, 2)
print distance
GPIO.cleanup()