Embedded_game/002_B_Car/time函数.py

64 lines
1.8 KiB
Python
Raw Permalink Normal View History

2025-01-02 12:48:11 +08:00
import math
import sensor, image, time, lcd
import binascii
from Maix import GPIO
from machine import Timer, PWM, UART, Timer
from fpioa_manager import fm
import KPU as kpu
lcd.init() # lcd初始化
# 映射串口引脚
fm.register(6, fm.fpioa.UART1_RX, force=True)
fm.register(7, fm.fpioa.UART1_TX, force=True)
# 初始化串口
uart = UART(UART.UART1, 115200, read_buf_len=4096)
# 初始化摄像头阈值
def canera_init():
# 摄像头模块初始化
sensor.reset() # 复位和初始化摄像头
sensor.set_pixformat(sensor.RGB565) # 设置像素格式为彩色 RGB565
# sensor.set_pixformat(sensor.GRAYSCALE) # 设置像素格式为灰色
sensor.set_framesize(sensor.QVGA) # 设置帧大小为QVGA320×240
sensor.set_vflip(1) # 后置模式
sensor.skip_frames(30) # # 跳过前30帧
canera_init()
def Servo(angle):
'''
说明舵机控制函数
功能180度舵机angle:-90至90 表示相应的角度
360连续旋转度舵机angle:-90至90 旋转方向和速度值
duty占空比值0-100
'''
#PWM通过定时器配置接到IO17引脚
tim_pwm = Timer(Timer.TIMER0, Timer.CHANNEL0, mode=Timer.MODE_PWM)
S1 = PWM(tim_pwm, freq=50, duty=0, pin=17)
S1.duty((angle+90)/180*10+2.5)
Servo(0)
res_QR = []
timeflag = 0
while (timeflag < 30):
# for i in range(9):
img = sensor.snapshot() # 获取图像
lcd.display(img) # 在LCD显示
TS_QR = img.find_qrcodes() # 再次寻找二维码
for qr in TS_QR:
if all(qr.payload() != existing_qr.payload() for existing_qr in res_QR):
res_QR.append(qr)
timeflag+=1
time.sleep(0.001)
print(timeflag)
print(len(res_QR))
for res in res_QR:
result = res.payload()
print(result)