From 3ccc7ed0e8fc3f531766954ab6e3a5d90594d3c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=BC=80=E6=99=BA?= Date: Mon, 4 Nov 2019 19:40:17 +0800 Subject: [PATCH] Create modbus_apriltag.py --- scripts/examples/32-modbus/modbus_apriltag.py | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 scripts/examples/32-modbus/modbus_apriltag.py diff --git a/scripts/examples/32-modbus/modbus_apriltag.py b/scripts/examples/32-modbus/modbus_apriltag.py new file mode 100644 index 000000000..c0e51b501 --- /dev/null +++ b/scripts/examples/32-modbus/modbus_apriltag.py @@ -0,0 +1,39 @@ +import sensor, image +import time +from pyb import UART +from modbus import ModbusRTU + +sensor.reset() +sensor.set_pixformat(sensor.GRAYSCALE) +sensor.set_framesize(sensor.QQVGA) # we run out of memory if the resolution is much bigger... + +uart = UART(3,115200, parity=None, stop=2, timeout=1, timeout_char=4) +modbus = ModbusRTU(uart, register_num=9999) + +sensor.skip_frames(time = 2000) +clock = time.clock() + +while(True): + if modbus.any(): + modbus.handle(debug=True) + else: + clock.tick() + img = sensor.snapshot() + tags = img.find_apriltags() # defaults to TAG36H11 without "families". + modbus.clear() + modbus.REGISTER[0] = len(tags) + if tags: + print(tags) + i = 1 + for tag in tags: + img.draw_rectangle(tag.rect(), color = 127) + modbus.REGISTER[i] = tag.family() + i += 1 + modbus.REGISTER[i] = tag.id() + i += 1 + modbus.REGISTER[i] = tag.cx() + i += 1 + modbus.REGISTER[i] = tag.cy() + i += 1 + #print(modbus.REGISTER[0:15]) + #print(clock.fps())