From 3350b3b21c29669206fd13ff45cdf8aa95f823c9 Mon Sep 17 00:00:00 2001 From: Christian Zufferey Date: Mon, 16 Dec 2019 12:07:35 +0100 Subject: [PATCH] Yeah ! cela fonctionne enfin. En fait cela ne fonctionne QUE avec certaines pines du NodeMCU. A creuser maintenant pourquoi ? --- Mesures/humidity/bolo/0_get_data.lua | 31 ++++++++-------------------- Mesures/humidity/bolo/a.lua | 21 ++++++------------- Mesures/humidity/bolo/b.lua | 21 +++++++++++++++++++ 3 files changed, 36 insertions(+), 37 deletions(-) create mode 100644 Mesures/humidity/bolo/b.lua diff --git a/Mesures/humidity/bolo/0_get_data.lua b/Mesures/humidity/bolo/0_get_data.lua index d6056bc..5b8850b 100644 --- a/Mesures/humidity/bolo/0_get_data.lua +++ b/Mesures/humidity/bolo/0_get_data.lua @@ -1,5 +1,5 @@ -- Lit le capteur I2C HTU21D de mesure d'humidité et de température -print("\n 0_get_data.lua zf191215.2057 \n") +print("\n 0_get_data.lua zf191216.1205 \n") -- https://cdn-shop.adafruit.com/datasheets/1899_HTU21D.pdf -- Comparaison DHT22, AM2302, AM2320, AM2321, SHT71, HTU21D, Si7021, BME280 @@ -13,37 +13,26 @@ print("\n 0_get_data.lua zf191215.2057 \n") id = 0 -sda = 1 -scl = 2 +sda = 5 +scl = 6 addr = 0x40 HUMIDITY = 0xE5 TEMPERATURE = 0xE3 -SOFTRESET = 0xFE - -trig = 4 -gpio.mode(trig, gpio.OUTPUT) -gpio.write(trig, gpio.HIGH) - i2c.setup(id, sda, scl, i2c.SLOW) + i2c.start(id) -tmr.delay(1*1000) - -i2c.address(id, addr, i2c.TRANSMITTER) -i2c.write(id, SOFTRESET) -tmr.delay(20*1000) - - i2c.address(id, addr, i2c.TRANSMITTER) i2c.write(id, HUMIDITY) +i2c.stop(id) + +i2c.start(id) i2c.address(id, addr, i2c.RECEIVER) tmr.delay(50*1000) -gpio.write(trig, gpio.LOW) -tmr.delay(0.1*1000) -gpio.write(trig, gpio.HIGH) - r = i2c.read(id,3) +i2c.stop(id) + print(string.byte(r)) print(string.byte(r,2)) print(string.byte(r,3)) @@ -68,5 +57,3 @@ print(string.byte(r,2)) print(string.byte(r,3)) ]] -tmr.delay(1*1000) -i2c.stop(id) diff --git a/Mesures/humidity/bolo/a.lua b/Mesures/humidity/bolo/a.lua index b4bdd59..b25f328 100644 --- a/Mesures/humidity/bolo/a.lua +++ b/Mesures/humidity/bolo/a.lua @@ -1,15 +1,10 @@ -print("\n a.lua zf191215.2112 \n") +print("\n a.lua zf191216.1206 \n") t2 = 1234 -trig = 4 -gpio.mode(trig, gpio.OUTPUT) -gpio.write(trig, gpio.HIGH) - - id = 0 -sda = 1 -scl = 2 +sda = 5 +scl = 6 addr = 0x40 r = "" @@ -22,16 +17,14 @@ function readHumi() i2c.address(id, addr, i2c.TRANSMITTER) i2c.write(id, HUMIDITY) i2c.stop(id) + i2c.start(id) i2c.address(id, addr, i2c.RECEIVER) tmr.delay(20000) - - gpio.write(trig, gpio.LOW) - tmr.delay(10) - gpio.write(trig, gpio.HIGH) - + r = i2c.read(id,3) i2c.stop(id) + print(r) return (bit.band((bit.lshift(string.byte(r,1),8)+string.byte(r,2)),0xfffc)*12500)/65536-600 end @@ -41,9 +34,7 @@ function getHumidity() return tonumber(string.format("%.1f", tostring(readHumi()/100))) end -tmr.delay(15000) i2c.setup(id, sda, scl, i2c.SLOW) -tmr.delay(15000) t2 = getHumidity() print("Humidity: "..t2.." %") diff --git a/Mesures/humidity/bolo/b.lua b/Mesures/humidity/bolo/b.lua new file mode 100644 index 0000000..e2f6926 --- /dev/null +++ b/Mesures/humidity/bolo/b.lua @@ -0,0 +1,21 @@ +-- http://www.esp8266.com/viewtopic.php?f=19&t=771 +-- Scan for I2C devices + +print("\n b.lua zf191216.1158 \n") + +id=0 +sda=5 +scl=6 + +-- initialize i2c, set pin1 as sda, set pin0 as scl + +print("start...") +i2c.setup(id,sda,scl,i2c.SLOW) + +for i=0,127 do + i2c.start(id) + resCode = i2c.address(id, i, i2c.TRANSMITTER) + i2c.stop(id) + if resCode == true then print("We have a device on address 0x" .. string.format("%02x", i) .. " (" .. i ..")") end +end +print("stop...") \ No newline at end of file