PIXY2模块学习笔记
杂记
1、串口监视器无法显示。串口监视器不显示是因为以前接了一个显示屏,串口监视器在显示屏上面。解决办法:再接上一个显示屏,拖到电脑显示屏上关掉就行了。
2、用delay(1000),LED灯不闪烁。针对arduino UNO R3,原因是因为接的是端口1,而端口1是用来给计算机发送数据的,所以会一直是高电平导致LED永远不熄灭,换一个端口就行了。
3、一个教程:http://www.sohu.com/a/316471846_651319
4、arduino数据输出到Excel:http://url.cn/5vx6QcT
http://url.cn/5B1D3rB
一、 概述
1、简介
我拿到的是二代的。
Pixy是一款在全球极受欢迎的开源视觉传感器(图像识别传感器),这款Pixy2是该系列的第二代版本。它能够让图像识别变得更容易,支持多物体识别,具有强大的多色彩颜色识别及色块追踪能力(最高支持7种颜色),就像它的前身一样,Pixy2只需按下一个按钮即可识别并记忆你教授的物体。同时,新版本增加线路追踪和小型条形码识别功能,较上一版本的Pixy反应更快,体型更小,功能更强。
Pixy系列是联合Charmed实验室和卡内基-梅隆大学共同推出的图像识别系统。Pixy2自带处理器,并搭载着一个图像传感器CMUcam5,它通过其处理器内部的算法,以颜色为中心来处理图像数据,选择性地过滤无用信息,从而得到有效信息——这样一来Pixy2只需将已经处理过的特定颜色物体的数据发送给与之连接的微型控制器(例如Arduino)即可,而不必向控制器输入所有原始视觉信息,处理后得到的数据更精确有效。因此,你的Arduino板或其它微控制器可以滕出许多资源来执行其他事件。Pixy2的输出的数据可以通过SPI,I2C等与arduino和树莓派等控制器直接通讯,自带的通讯线可以直插在Arduino控制板上面,方便制作具有图像识别功能的小机器人。它配套有开源的arduino及Linux库和示例文件。
2、技术参数
帧率:每秒60帧
支持的通信接口:SPI,I2C,UART,USB或模拟/数字输出
处理器:恩智浦NXP LPC4330,204 MHz双核
图像传感器:Aptina MT9M114,1296×976分辨率,集成图像流处理器
透镜视场:水平60度,垂直40度
功耗:典型值为140 mA
电源输入:USB输入(5V)或Vin输入(6V~10V)
RAM:264K bytes
闪存:2M bytes
可用的数据输出:UART串行,SPI,I2C,USB,数字,模拟
尺寸:1.5“x 1.65”x 0.6“ 重量:10g
集成光源: 约20 lumens
3、使用简介
Pixy使用的是基于色调过滤算法(hue-based color filtering algorithm)来识别物体。因为Pixy使用色调(hue),物体应有明显的色调,如:
有些物体因为没有色相(黑色、白色或灰色)或色相不明显,如:
给pixy供电,按住pixy顶部的按钮等待大约1秒钟,LED会变亮,先是显示白色,继续按会变其他颜色,有7个颜色(红、橙、黄、绿、青、蓝、紫),每一个颜色就像是一个盒子的编号,盒子中存放pixy学习到的颜色。松开按键,pixy会进入“light pipe”模式,此时LED的颜色就是pixy摄像头所看到的图像中间部分的颜色。
用LED的颜色来检查是否你的物体在Pixy视角的中心位置。当你感觉LED颜色和你的物体颜色很接近时,点击一下按键(按下并释放按键,就像单击鼠标一样)。如果Pixy感觉你的物体色调足够好(有足够的色彩饱和度[enough color saturation])的话,LED会闪烁,你现在已经操作完成。Pixy现在已经“学会”了你的物体,并且会追踪具有相同颜色的物体。如果物体的色调没有那么好,LED会关闭(不会闪)并且Pixy并没有学到物体。如果LED没有闪,可以换一个有更好色彩饱和度的物体。
有一个配套pixy2的程序下载:https://github.com/charmedlabs/pixy2/raw/master/releases/pixymon_windows/pixymon_v2_windows-3.0.24.exe
详情参见:https://pixycam.com/
二、将pixy2与arduino连接
开始
官方介绍:http://url.cn/5mRflxy
一篇博客:http://www.makerlab.me/guides/6/articles/34
引脚接法:
安装arduino
从:https://www.arduino.cc/en/Main/Software 下载软件即可。
不推荐在微软应用商店直接下载。
配置arduino库
1、 下载pixy2的库:https://pixycam.com/downloads-pixy2/
2、下载后解压,将解压的文件放到arduino的安装目录下的libraries目录如图:
再次进入arduino会看见:
Arduino API
官方说明:http://url.cn/5mvL76T
在Arduino上使用Pixy非常简单。您只需包含SPI和Pixy标头:
#include <Pixy2.h>
并将这个小家伙放在setup()和loop()函数之外,以创建Pixy的全局实例:
Pixy2 pixy;
Arduino库中最重要的方法是getBlocks(),它返回Pixy已检测到的对象数。然后,您可以在pixy.ccc.blocks[]数组中查找有关每个检测到的对象的信息(每个检测到的对象一个数组成员。)每个数组成员(i)包含以下字段:
• pixy.ccc.blocks[i].m_signature被检测对象的签名号(正常签名为1-7)
• pixy.ccc.blocks[i].m_x被检测物体中心的x位置(0到316)
• pixy.ccc.blocks[i].m_y被检测物体中心的y位置(0至208)
• pixy.ccc.blocks[i].m_width被检测物体的宽度(1至316)
• pixy.ccc.blocks[i].m_height被检测物体的高度(1至208)
• pixy.ccc.blocks[i].m_angle如果检测到的对象是颜色代码(-180至180),则对象检测到的对象的角度。
• pixy.ccc.blocks[i].m_index区块的追踪指数
• pixy.ccc.blocks[i].m_age该块已被跟踪的帧数。
• pixy.ccc.blocks[i].print()将检测到的对象信息打印到串行端口的成员函数
1、 video API:http://url.cn/5pQBG6z
2、 线路跟踪API:http://url.cn/5TESsaq
3、 彩色连接组件API:http://url.cn/5VGUygY
4、 通用API(无用):http://url.cn/5fCntTo
5、 Arduino API:http://url.cn/52WY3Zi
6、 在官网搜索API得到的结果:http://url.cn/514Put0
三、程序
代码
#include <Pixy2.h>
#include <SPI.h>//测距Pixy2 pixy;float x, y, z;
int t = 0;double bili = 0.56;void setup()
{Serial.begin(9600);pixy.init();}void loop()
{int i;pixy.ccc.getBlocks();if (pixy.ccc.numBlocks){float x1, y1, z1;//double x2, y2, z2;//x1 = 0.26 * ((pixy.ccc.blocks[0].m_x) );x1 = 0.26 * (pixy.ccc.blocks[0].m_x) - 42 ;y1 = 0.26 * (pixy.ccc.blocks[0].m_y) - 28;float h = 0.26 * (pixy.ccc.blocks[0].m_height);float w = 0.26 * (pixy.ccc.blocks[0].m_width);float temp = h * w;z1 = 62 - (sqrt(18 * 18 / temp)) * 58 ;if (t == 0) {x = x1;y = y1;z = z1;t++;}if (abs(x - x1) > 5) {x = x1;}if (abs(y - y1) > 5) {y = y1;}if (abs(z - z1) > 5) {z = z1;}z = 0;Serial.print(x); Serial.print(",");Serial.print(y); Serial.print(",");Serial.println(z);delay(10);}
}
PIXY2模块学习笔记相关推荐
- Arduino模块学习笔记(一)—GPS模块的使用
Arduino模块学习笔记(一)--GSP模块的使用 文章目录 Arduino模块学习笔记(一)--GSP模块的使用 所需组件 一.模块使用介绍 1.GPS模块(在室内时,一般获取不到位置信息) 2. ...
- python模块学习笔记
python模块学习笔记 1.Python自动发送邮件smtplib 2.制作二维码图片MyQR 3.绝对值模块math 4.CSV模块 5.openpyxl 模块,操作Excel文件 ExcelMa ...
- cma linux 起始地址,CMA模块学习笔记
CMA模块学习笔记 作者:linuxer 发布于:2017-6-28 18:29 分类:内存管理 前言 本文是近期学习CMA模块的一个学习笔记,方便日后遗忘的时候,回来查询以便迅速恢复上下文. 学习的 ...
- Python模块之Pandas模块学习笔记
目录 一.模块的安装 二.数据结构 1. DataFrame的创建 2. DataFrame索引的修改 3. DataFrame数据信息查看 三.文件的读取和写入 1. 读取 2. 写入 四. 数据的 ...
- IPy-IPv4和IPv6地址处理模块学习笔记
在日常网络规划中,会有很多关于IP地址的分配规划问题,如果是手动分配,在量很大的情况下,容易出错.而利用IPy这个python模块,可以很容易实现对iP地址的分配等操作. 以下是对IPy模块学习的一个 ...
- 《西游降魔录》模块学习笔记
<三维游戏设计师宝典3>附带的光盘是错位的给的不是书中的例子所对应的光盘具体原因不得而知.尽管如此,该错位的光盘却有个非常好的例子<西游降魔录> 的游戏,前两天尝试着写了点自己 ...
- 启英泰伦cl1122模块学习笔记
笔记目录 前言 一.CI1122芯片与其它型号对比 二.资料获取 1.启英泰伦语音AI平台 文档中心: 软硬件开发资料以及平台的使用方法 开发资料: SDK和固件下载,相关开发工具的下载,开发板的硬件 ...
- LCD1602液晶显示模块学习笔记
LCD1602液晶显示模块 一.初识LCD602 1.1.实物图 1.2.引脚图 1.3.引脚功能说明 二.显示位置 三.显示内容 四.指令集 五.工作时序 5.1.写操作时序 5.2.读操作时序 六 ...
- NOKIA5110液晶显示模块学习笔记
现在我们的嵌入式课程设计要求做一个超声波测距的倒车雷达,总体不是很难,但是其中要求的NOKIA显示屏从来没有接触过,在CSDN上也很难找到免费的比较完整的资料,因此就想把这部分的学习过程记录下来,分享 ...
最新文章
- 利用T-SQL语句快速清理ZBLOG程序的SQL SERVER2012数据库内容
- 【整理】内向交货(Inbound Delivery)
- 《深入理解Java虚拟机》读书笔记
- 集合的定义与并查操作(C语言)
- Mybatis四种分页方式
- 他是世界首位惯性导航博士!如今101岁,依然对航天事业激情澎湃
- 安卓平板usb变显示器_RJ45与USB信号接入工业显示器有何不同?
- 马云:青山不改绿水长流,后会有期
- Android新建一个activty
- nginx源码分析——configure脚本
- winform自定义用户控件
- 每天一点正则表达式复习(一)
- 2022年高压电工考试模拟100题及在线模拟考试
- 次世代建模之人体比例及肌肉骨骼介绍
- Waves 10 win10 如何卸载干净 / 安装 / 如何处理waves mixer application installation failed / 改变默认安装路径
- 2022年二级建造师《专业工程管理与实务(公路)》综合测试题及答案
- 诡异的交换机CPU利用率超高
- Cloudflare到底是不是减速器 免费版cf是减速器吗(实际测试)
- 探寻红色印记,传承红色基因
- linux实训报告内容一万字,Linux实训报告.doc
热门文章
- unet++代码实现
- Web服务器跟应用服务器之间区别是什么?
- php鼠标跟随特效,JS实现鼠标跟随特效
- Abaqus有限元分析技术应用于卫星强度校核
- 亦庄亦谐,可盐可甜——飞利浦T3235真无线蓝牙耳机开箱评测
- 2D激光SLAM-基于PL-ICP的激光雷达里程计
- 基于人脸图像识别学生宿舍系统的设计与实现(论文+源码)_kaic
- SQL Server 2008的外围应用配置器到哪里去了
- 黑寡妇优化算法(Black Widow Optimization Algorithm, BWOA)
- 内核空间怎么访问物理地址