串口通信

OpenMV本质还是一个单片机,可以通过调用pyb中的UART使用串口通信,注意发送的数据类型为字符串,可以通过json.dumps()进行字符串转换

from pyb import UARTuart = UART(3, 9600)
uart.write('hello')
uart.read(5) # read up to 5 bytes

数据类型转换

blob色块的各类方法:http://book.openmv.cc/image/blob.html
通过方法得到的数据类型为int,需要对其进行一系列操作
1.对其进行0拓展,保证每个数据4位数,方便单片机进行解析
2.进行0拓展的时候,先利用json.dumps()将坐标值转换为字符串,然后利用list将字符串转换为列表,利用列表的insert()方法在头部进行插入
3.完成0拓展之后,将list转换为字符串,利用’’.join()

附上全部代码

功能描述:找到最大的红色色块的中心,通过串口发送其中心坐标数据

# Hello World Example
#
# Welcome to the OpenMV IDE! Click on the green run arrow button below to run the script!import sensor, image, time
import json
from pyb import UARTsensor.reset()                      # Reset and initialize the sensor.
sensor.set_pixformat(sensor.RGB565) # Set pixel format to RGB565 (or GRAYSCALE)
sensor.set_framesize(sensor.QVGA)   # Set frame size to QVGA (320x240)
sensor.skip_frames(time = 2000)     # Wait for settings take effect.
clock = time.clock()                # Create a clock object to track the FPS.#对list进行拓展,高位补0
def Expand_String(str):while(len(str)<4):str.insert(0,'0')return str#所需要寻找的颜色的LAB范围
red_range=(43, 64, 27, 127, -128, 127)
#开串口3,波特率为115200
uart=UART(3,115200)while(True):clock.tick()                    # Update the FPS clock.img = sensor.snapshot()         # Take a picture and return the image.#寻找红色色块blobs=img.find_blobs([red_range])#画出所有红色色块for blob in blobs:#print(blob.rect())img.draw_rectangle(blob.rect())#找出面积最大的色块,放到blob_maxif blobs!=[]:blob_max=blobs[0]for blob in blobs:if blob_max.area()<blob.area():blob_max=blob#画出blob_max的中心img.draw_cross(blob_max.cx(),blob_max.cy(),size=5,color=(0,255,0))#将int型的blob_max的中心转换成json形式(字符形式),再转换为listcentre_x=list(json.dumps(blob_max.cx()))centre_y=list(json.dumps(blob_max.cy()))#此时用list存放的中心坐标做0拓展Expand_String(centre_x)Expand_String(centre_y)#将list转换为字符串形式centre_x=''.join(centre_x)centre_y=''.join(centre_y)#利用串口发出中心坐标值uart.write(centre_x+' '+centre_y+'\r\n')print(centre_x+' '+centre_y+'\n')else:#如果没有找到的话,返回print('0000'+' '+'0000'+'\n')#print(clock.fps())              # Note: OpenMV Cam runs about half as fast when connected# to the IDE. The FPS should increase once disconnected.

OpenMV——串口通信+发送中心位置相关推荐

  1. 【串口通信】K210与STM32串口通信、K210与OpenMV串口通信

    [串口通信]K210与STM32串口通信.K210与OpenMV串口通信 串口通信 前言 为何需要串口通信 K210如何进行串口通信 K210串口配置 K210串口发送相关定义 K210串口发送测试 ...

  2. java串口发送16进制数据_MFC串口通信发送16进制数据的方法

    本文实例为大家分享了MFC串口通信发送16进制数据的具体代码,供大家参考,具体内容如下 MFC串口通信会使用m_mscomm控件. 发送数据一般是在edit control 里输入自己想发送的内容,然 ...

  3. 51单片机串口通信发送以及接收代码详解1

    #include <reg51.h> //实验现象:单片接收电脑发送的字符串,并发回给PC端的代码.//函数声明 void uart_init(void); void uart_seng_ ...

  4. 51单片机串口通信发送以及接收代码详解2

    #include <reg51.h> //实验现象:在电脑端没按下发送的时候,单片一直给电脑发送aaa字符串: //实验现象:在电脑端按下发送的时候,结束字符串aaa的发送代码,执行单片接 ...

  5. delphi 串口通信发送_STM32第五章串口通讯详解

    点击上方"果果小师弟",选择"置顶/星标公众号"干货福利,第一时间送达! 串口通信是串行通信里面的异步方式.串行通信是相对于并行通信来说的.串口是一个事实存在的 ...

  6. 蓝桥杯51单片机之串口通信发送接收信息【单片机开发初学者串口必会】

    文章目录 一.上位机发送信号控制单片机 1.显示对应的流水灯 2.显示对应数码管 3.控制数码管显示的数字 二.两机收发信息 一.上位机发送信号控制单片机 1.显示对应的流水灯 实现现串口通信接收上位 ...

  7. 串口通信发送hello windows

    文章目录 一. 原理 1.串口协议 2.RS-232 3.485标准 4.RS232.485电平与TTL电平的区别 5."USB/TTL转232"模块(以CH340芯片模块为例)的 ...

  8. delphi 串口通信发送_关于串口通信232、485、422和常见问题,就没见过能讲这么清楚的...

    先讲串口通信的一些基本概念,术语.如果对串口通信比较熟悉的,就当复习,如果哪里讲的不到位,欢迎及时指出. 这里并不对串口的编程作讲解,主要是从应用的角度去讲一讲.因为更多的时候,都是产品做好了,比如触 ...

  9. FPGA自学笔记--串口通信发送多字节数据(verilog版)

    1.需求分析 关于uart协议实现这部分大家可以参考我上一篇的博客.<FPGA自学笔记--串口通信实现(vivado&verilog版)>.在上一篇博客中,主要实现了将单字节的数据 ...

最新文章

  1. Android APK的签名--笔记版 V1 签名和V2签名总结
  2. python语言deLong‘s test:通过统计学的角度来比较两个ROC曲线、检验两个ROC曲线的差异是否具有统计显著性
  3. 数据科学很性感?不,其实它非常枯燥!
  4. Mybatis入门及于hibernate的区别
  5. 简单的WinInet编程
  6. 实力封装:Unity打包AssetBundle(二)
  7. http消息当中,post和get两种请求方式的区别
  8. ubuntu pycharm mysql_ubuntu安装mysql pycharm sublime
  9. 关于php车服务论文,「PHP」行车服务app后端代码简析
  10. [POJ3254]Corn Fields
  11. Input Output
  12. python lambda函数介绍
  13. 一种在JS代码中实现模板变量替换的方法
  14. python还可以这么玩?用Python把视频转换为字符动画(含音频、高清、彩图)【附源码】
  15. python- re模块(正则表达式)
  16. golang Leaf 游戏服务器框架简介
  17. 罗克韦尔自动化通过收购ASEM加强控制和可视化产品组合
  18. 基于JAVA疫情物资商城和疫情数据可视化系统设计与实现 开题报告
  19. Java POI SXSSFWorkbook 读取模板,输出
  20. 如何在面试中介绍自己的项目经验(面向java改进版)

热门文章

  1. scrapy使用selenium抓取深圳证券交易所考评表数据
  2. 多进程IterableDataset流式读取数据的坑:每个进程会读取一遍完整数据
  3. selenium配置无界面chrome浏览器
  4. python四中方法获取列表中最大/最小的前n个数值的位置索引
  5. hadoop 依赖式job_Java项目中使用XXL-JOB调度框架
  6. js加密代码的分析[转]
  7. Java抓取Codeforces——针对某一次提交的源码和数据
  8. P2057 [SHOI2007]善意的投票 最小割
  9. lua --- 表操作
  10. AIX7.1环境打补丁缺少bash OPATCHAUTO-72049