diff --git a/adafruit_us100.py b/adafruit_us100.py index cc981a1..79d4b46 100644 --- a/adafruit_us100.py +++ b/adafruit_us100.py @@ -37,11 +37,10 @@ https://github.com/adafruit/circuitpython/releases """ -# imports - __version__ = "0.0.0-auto.0" __repo__ = "https://github.com/adafruit/Adafruit_CircuitPython_US100.git" + class US100: """Control a US-100 ultrasonic range sensor.""" @@ -63,6 +62,9 @@ def distance(self): """ self._uart.write(bytes([0x55])) data = self._uart.read(2) # 2 bytes return for distance + if not data: + raise RuntimeError("Sensor not found. Check your wiring!") + if len(data) != 2: raise RuntimeError("Did not receive distance response") dist = (data[1] + (data[0] << 8)) / 10 @@ -73,6 +75,9 @@ def temperature(self): """Return the on-chip temperature, in Celsius""" self._uart.write(bytes([0x50])) data = self._uart.read(1) # 1 byte return for temp + if not data: + raise RuntimeError("Sensor not found. Check your wiring!") + if len(data) != 1: raise RuntimeError("Did not receive temperature response") temp = data[0] - 45 diff --git a/examples/us100_simpletest.py b/examples/us100_simpletest.py index a08ffb8..b503e80 100644 --- a/examples/us100_simpletest.py +++ b/examples/us100_simpletest.py @@ -1,14 +1,21 @@ import time + +# For use with a microcontroller: import board import busio import adafruit_us100 - uart = busio.UART(board.TX, board.RX, baudrate=9600) -# Create a US-100 module instance. + +# For use with Raspberry Pi/Linux: +# import serial +# import adafruit_us100 +# uart = serial.Serial("/dev/ttyS0", baudrate=9600, timeout=1) + us100 = adafruit_us100.US100(uart) while True: print("-----") print("Temperature: ", us100.temperature) + time.sleep(0.5) print("Distance: ", us100.distance) time.sleep(0.5)