Voilà, le module mesure bien la distance entre 15cm et 2m. Reste encore à l'envoyer sur InfluxDB
This commit is contained in:
@@ -1,7 +1,11 @@
|
||||
-- Mesure la distance avec le module ultra-son
|
||||
print("\n 0_ultra_son.lua zf200624.1910 \n")
|
||||
-- Mesure la distance avec le module ultra-son de 15cm à 2m
|
||||
-- Attention le module à ultra-son doit être alimenté en 5V !
|
||||
|
||||
--Paramètres pour le module ultra son
|
||||
print("\n 0_ultra_son.lua zf200624.2011 \n")
|
||||
|
||||
speed_air=382
|
||||
|
||||
--Paramètres pour le module ultra son
|
||||
local ztrig=5
|
||||
gpio.mode(ztrig, gpio.OUTPUT)
|
||||
local fast_write = gpio.write
|
||||
@@ -9,46 +13,36 @@ fast_write(ztrig, 0)
|
||||
|
||||
local zecho=6
|
||||
gpio.mode(zecho, gpio.INT, gpio.PULLUP)
|
||||
detectortimer1=tmr.create()
|
||||
detectortimer2=tmr.create()
|
||||
local fast_read = gpio.read
|
||||
|
||||
local ultra_son_start=0
|
||||
local ultra_son_stop=0
|
||||
local ultra_son_start, ultra_son_stop = 0,0
|
||||
|
||||
--Function pour envoyer la pulse
|
||||
function zmesure_pulse()
|
||||
--t1=tmr.now()
|
||||
-- fast_write(ztrig, 1)
|
||||
-- fast_write(ztrig, 0)
|
||||
|
||||
--gpio.serout(ztrig,gpio.LOW,{1,10})
|
||||
gpio.serout(ztrig,gpio.HIGH,{10,1})
|
||||
|
||||
--t2=tmr.now()
|
||||
--print("durée: "..t2-t1-314)
|
||||
end
|
||||
|
||||
--Fonction pour mesurer la pulse
|
||||
function zmesure()
|
||||
--print("pin: "..gpio.read(zecho))
|
||||
if fast_read(zecho)==1 then
|
||||
ultra_son_start=tmr.now()
|
||||
else
|
||||
ultra_son_stop=tmr.now()
|
||||
print("Delta: "..ultra_son_stop-ultra_son_start)
|
||||
-- zlength=math.floor(480*(ultra_son_stop-ultra_son_start)/2/10000)/100
|
||||
zlength=480*(ultra_son_stop-ultra_son_start)/2/10000
|
||||
-- if zlength>6 then zlength=0 end
|
||||
-- print("Delta: "..ultra_son_stop-ultra_son_start)
|
||||
zlength=math.floor(speed_air*(ultra_son_stop-ultra_son_start)/2/10000)/100
|
||||
--zlength=speed_air*(ultra_son_stop-ultra_son_start)/2/10000
|
||||
if zlength>2 then zlength=2 end
|
||||
if zlength<0.15 then zlength=0.15 end
|
||||
|
||||
disp_mesure()
|
||||
end
|
||||
end
|
||||
|
||||
gpio.trig(zecho,"both",zmesure)
|
||||
|
||||
-- à commenter après les tests de perf
|
||||
function disp_mesure() print("La distance est de "..zlength.."cm") end
|
||||
-- à commenter après les tests de calibration
|
||||
function disp_mesure() print("La distance est de "..zlength.."m") end
|
||||
|
||||
tmr_mesure=tmr.create()
|
||||
tmr_mesure:alarm(1*1000, tmr.ALARM_AUTO, zmesure_pulse)
|
||||
tmr_mesure:alarm(1*1000, tmr.ALARM_AUTO, zmesure_pulse)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user