I2C communication between sensor and Pysense not working
-
Hello all together,
I posted my issue under another topic three weeks ago but it could not be solved and I still got no idea why my setup fails to work. I have a hc-sr04 ultrasonic sensor (5V signal level) level shifted from 5v to 3v3 and connected to the Pysense external I/O header. Echo goes to PIN7, Trigger to Pin8 and Ground to Pin 1. Very sporadically I receive a distance measurement that sometimes seems to be correct and sometimes is 0; 99% of the time, the serial port seems to be dead! Do you have an idea what could be the issue? Is there a mistake in the code? I have two Pysense and the problem with them both. Thank you very much for your time in advance!
import pycom import time from machine import Pin, Timer from machine import I2C import ubinascii import micropython echo = Pin(Pin.exp_board.G17, mode=Pin.IN) trigger = Pin(Pin.exp_board.G22, mode=Pin.OUT) trigger(0) chrono = Timer.Chrono() while True: chrono.reset() trigger(1) time.sleep_us(10) trigger(0) while echo() == 0: pass chrono.start() while echo() == 1: pass chrono.stop() distance = chrono.read_us() / 58.0 if distance > 400: print("Out of range") else: print("Distance {:.0f} cm".format(distance)) time.sleep(500)