北京中教仪人工智能科技有限公司

传感器
1.NTC热敏电阻
2.超声波传感器
3.电位器
4.干簧管
5.光电晶体管
6.光敏电阻
7.轨迹传感器
8.行程开关
9.颜色传感器
10.USB摄像头的基本介绍
11.摄像头的运动探测
12.摄像头的小球探测
13.摄像头的颜色探测
14.摄像头的线条探测
15.慧鱼电气元件技术参数

模拟传感器:NTC热敏电阻

  • 实验设备:

  • ID
    名称
    中文名称
    数量
    图片
    1
    TX Controller
    TX控制器
    1

    2
    Power Supply
    电源
    1

    3
    Wires
    电线
    1

    4
    NTC resistor
    NTC热敏电阻
    1
    5
    lamp
    LED灯(带灯座)
    1


  • 实验流程:
  • NTC热敏电阻又称负温度系数热敏电阻,是一类电阻值随温度增大而减小的一种传感器电阻,普遍应用于各种家用电器,包括;温控器、咖啡壶、烤面包机、冰箱、电吹风、天花灯、变压器等地方

    NTC热敏电阻用来测量温度和防止电源启动时产生的浪涌电流。

    下图是NTC热敏电阻慧鱼电线插头的连接示意图:



    NTC热敏电阻的原理图如下:


    NTC电阻是一种无源器件,可以连接到TX控制器上的任何的输入端口(I1至I8



    本例中,将NTC电阻连接到TX控制器的I1输入端口,在ROBO Pro软件中设置正确的环境和接口连接方式,然后打开接口测试窗口,在I1输入口类型上选择“Analog 5kohm(NTC,…),只有正确的设置与传感器相匹配的类型后,软件才能读取并显示正确的数值。



    将NTC热敏电阻插入到TX控制器的I1输入端,然后记录读数(该值为“室内温度值”)

    之后用你的手指捏住NTC热敏电阻,注意当你的身体热度逐渐传导到热敏电阻时,读书会发生什么变化?保持30秒,记录下最后的读数(“手指温度值”),然后放开热敏电阻,观察读数是否会回到原来的数值,以及用了多长时间回到原先的数值。

    将NTC热敏电阻的插头反向插入TX控制器的输入端,观察管脚反接是否会对

    建立新程序,开始”模块模拟分支”模块电机输出”模块拖拽至程序窗口


    复制3个模拟分支”模块,再复制4个电机输出”模块

    将其中一个电机模块的动作设置为“Off(停止)”,另外四个电机模块的亮度分别设置为“2”、“4”、“6”“8”:



    设置第一个模拟分支”模块的判断数值为刚才所记录下的“室内温度值”减去25(25为误差精度),然后选择交换“Y/N分支”;其他的四个模拟分支”模块的判断数值分别为“手指温度值”“室内温度值”的数值区间的4等分区间绝对值,设置交换“Y/N分支”



    完整的参考程序如下图所示:



    测试本程序,程序运行过程中用手捏住NTC热敏电阻30秒,查看LED灯亮度的变化情况。

2.超声波传感器


模拟传感器:超声波传感器

  • 实验设备:

  • ID
    名称 
    中文名称
    数量
    图片
    1
    TX Controller
    TX控制器
    1

    2
    Power Supply
    电源
    1

    3
    Wires
    电线
    2

    4
    Ultrasonic Distance Sensor
    超声波传感器
    1
    5
    Aluminum Strut 90
    90mm 铝型材
    2
    6
    Link 15
    15mm 连接件
    2
    7
    Building Block 30
    30mm构建块
    4

    8
    Encoder motor
    编码电机
    1
    9
    switch
    行程开关
    1
    10
    Tape Measure
    卷尺
    1


  • 实验流程:
  • 超声波是用于超出人类听觉范围的声波的术语

    超声波传感器由发射器和接收器组成发射器部分发射声音脉冲,接收器测量声波发射出去和反射回来之间所花费的时间。 超声波传感器通常可用于测量距离风速、医用和报警。

    慧鱼超声波距离传感器是一个有源传感器,需要连接到9V电源以保持其正常工作。



    超声波传感器有3跟电线,其中红色电线需要接到控制器上的9V电源输出,绿色电线可以接到控制器上的任何“地”,本例中,接到I1输入端子组中的“地”。这些在下面用红色圈出。



    另外一根黑色线是信号线,本例中接到I输入端口。

  • 在RoboPro创建一个新文件。本实例中,设置环境TX/TXT控制器,使用级别为“变量”,在【COM / USB】设置窗口中设置为USB连接、TX控制器类型
  • 之后,在ROBO Pro软件的接口测试窗口中进行正确的传感器输入类型设置,本实验中,我们将I1的输入端口类型都设置为“Ultrasonic,如下图所示:



  • 实验结论

  • 组装超声波传感器测试台,类似于下图。
  • 用铝型材搭建一个结构,将超声波传感器安置于骑上。与地面接触的铝型材两边各安置一个30mm构建块,以稳定平台。另外在TX控制器上的I2输入端接入一个微动开关。


  • 将卷尺打开, 垂直于超声波传感器所在平面,将编码马达作为被测物体首先放置于卷尺上6cm的位置,如下图所示:



    从【程序模块下的基本模块】分类中拖拽出一下这些模块到编程窗口中:



    程序模块】下的【变量、定时器分类中变量”模块列表”模块拖拽至程序窗口中:



    【程序模块】下的【变量、定时器】分类中“加1指令”模块拖拽至程序窗口中:



    【程序模块】下的【输入、输出】分类中通用输入”模块拖拽至程序窗口中:



    下面开始对各模块进行属性配置:

    首先,复制一个“加1指令”模块,将它的属性设置为“=5”



    再次复制两个“加1指令”模块两个的属性都设置为Append”(表示对列表对象进行追加数值),注意还要勾选最下面的选项“Data input for command value”(指令值来自外部数值输入)



    右键单击“变量”模块,在属性面板中将其命名为“distance”。 设置完成后,再复制两个该“变量”模块:



    右键单击通用输入”模块,并将类型设置为距离传感器设置完成后,再复制个该“通用输入”模块:



    再复制一个“列表”模块。然后右键单击其中一个列表”模块,重命名元素为“Distance”,对话框的中间部分对数据进行保存方面的属性设置,注意“保存到.CSV文件”的这个设置区域:在这里点击右边的“Browser浏览按钮可以选择数据文件的本地保存位置,下拉按钮的数值设置为“1”(该设置表示读取到的数值保存在数据文件中的第1列中,然后在右侧的文本框中输入“distance”(这个是设置数据文件中第1列的列标题)



    然后右键单击一个列表”模块,重命名元素为“sensorread”,“保存到.CSV文件”的这个设置区域里:点击“Browser浏览按钮选择与上一个“列表”模块同样的数据保存文件(也就是E盘下的sensor_data.csv之后下拉按钮的数值设置为2”(该设置表示读取到的数值保存在数据文件中的第2列中),然后在右侧的文本框中输入Sensor Reading”(这个是设置数据文件中第2列的列标题):



    之后,通过流程线完成全部程序设计,如下图所示:



    上面这个程序的大致逻辑是:进行25次的传感器数值记录,初始记录时,编码马达位置6CM的位置上,按下开关,将马达所在的位置和超声波传感器所检测到的两个数值分别记录到数据文件中的第1列和第2列中,然后移动马达向后到7CM的位置,再次按下开关进行数值记录,这样往复操作,每次移动马达向后一个单位距离,然后按动开关进行数值记录。直至25次后程序结束。

    程序全部测试完毕后,我们打开E盘下的sensor_data.csv文件,可以查看到里面的数据:



    基于这些数据我们可以建立一个图表,通过图表我们可以看到超声波传感器的线性特征及其检测精度



3.电位器


模拟传感器:电位器

  • 实验设备:

  • ID
    名称
    中文名称
    数量
    图片
    1
    TX Controller
    TX控制器
    1

    2
    Power Supply
    电源
    1

    3
    Wires
    电线
    2

    4
    Potentiometer
    电位器
    1
    5
    Lamp
    LED灯(带灯座)
    1


  • 实验流程:
  • 电位器是一个三端可变电阻器。电阻环上有两个固定的末端,中间端子连接到一个可以旋转移动的黄铜刷,所以中间端和末端之间的电阻是可变的



    电位器的原理图如下:



    通常,我们只需要连接电位器的一个末端和它的中间端子即可,本例中,我们将电位器的管脚12连接到TX控制器上的I1输入端:



  • 在RoboPro创建一个新文件。设置环境TX/TXT控制器,使用级别为初学者,在【COM / USB】设置窗口中设置为USB连接、TX控制器类型

  • 之后,在ROBO Pro软件的接口测试窗口中进行正确的传感器输入类型设置,本实验中,我们将I1输入端口的类型设置为“Analog 5KOhm(NTC,…),如下图所示:


  • 之后,我们试着旋转电位器的电刷手柄,观察I1输入端的读值有什么变化,交换I1输入端的红绿两根电线,再次旋转电刷手柄,观察I1输入端的读值是否会发生变化?

  • 程序编写
  • 将LED灯接到TX控制器上的M1输出端,将下面的这些模块拖拽至编程窗口中:


  • 我们的程序中一共需要四个数字分支”模块和5个“马达输出”模块,复制出它们。

  • 5个“马达输出”模块的图标全部设置为“lamp”,其中一个的动作设置为“Off”,剩下的4个动作设置为“On”,马达转速分别设置为“2”、“4”、“6”、“8”。
  • 4个“数字分支”模块参数分别设置500”、“1500”、“2500”和“3500”,并全部交换Y / N


  • 最终,你的程序应该看起来如下图所示:



  • 测试这个程序,旋转电刷手柄,观察LED亮的效果。

4.干簧管


《数字传感器:干簧管

  • 实验设备:

  • ID
    名称
    中文名称
    数量
    图片
    1
    TX Controller
    TX控制器
    1

    2
    Power Supply
    电源
    1

    3
    Wires
    电线
    2

    4
    Reed switch
    干簧管
    1

    5
    magnet
    小磁铁(或任意带有磁性的物体)
    1

    6
    Lamp
    LED灯(带灯座)
    1


  • 实验流程:
  • 下图是一个常见的单刀单掷开关原理图:



    慧鱼干簧管本质上就是一个常开的单刀单掷开关下图是干簧管实物图:



    干簧管接近磁铁时,类似开关关闭。这是一个瞬时开关,这意味着接近磁铁时才会触发执行器,也就是电路导通,但只要移开磁铁干簧管又会变回原来的断开状态。

    现在,我们将干簧管连接到TX控制器的I1输入端:



  • RoboPro创建一个新文件。设置环境TX/TXT控制器,使用级别为初学者,在【COM / USB】设置窗口中设置为USB连接、TX控制器类型

  • 之后,在ROBO Pro软件的接口测试窗口中进行正确的传感器输入类型设置,本实验中,我们将I1输入端口的类型设置为“Digital 5kOhm(Switch),如下图所示:


  • 我们将一个小磁铁靠近干簧管,观察I1端的信号有什么变化:



    尝试交换I1上的红绿两根电线,再次将小磁铁靠近干簧管,观察其信息有什么变化?

  • 编写程序
  • 将LED灯连接到TX控制器上的M1输出端,然后拖拽以下模块到编程窗口中,然后复制1个“马达输出”模块和“时间延迟”模块



    右键单击数字分支”模块,设置其传感器类型为“Reed switch”,点击确认,此时数字分支”模块上的图标会发生变化:



    对两个“马达输出”模块分别右键单击,在其属性面板中设置其显示图标为“lamp”,并且一个设置为“On”,一个设置为“Off”:



    通过连线,将程序写成下面的样子:



    你的实物连接图应该为以下的样子:



    运行这个程序,将小磁铁靠近或远离干簧管,注意LED灯的变化。

5.光电晶体管

《数字传感器:光电晶体管

  • 实验设备:

  • ID
    名称
    中文名称
    数量
    图片
    1
    TX Controller
    TX控制器
    1

    2
    Power Supply
    电源
    1

    3
    Wires
    电线
    2

    4
    Phototransistor
    光电晶体管
    1
    5
    Lamp
    LED灯(带灯座)
    2


  • 实验流程:
  • 开关是安装在电路中控制电流流过的物理装置而光敏三极管光电晶体管是一个快速的半导体开关装置。没有光线照射时,它是常开开关,当被光线照射时,它就被导通,直到光线不再存在。光敏三极管如下图所示



    因为它是半导体器件,所以极性是至关重要的。晶体管上有红色标记的一端是集电极



    红色的一端应该通过红色的电线连接到TX控制器输入端口中的正输入端,下图中画圈的部分是正输入端



    另一端则需要接地,TX控制器带有接地符号的端口都是“接地电位”端,如下图所示:



    现在,将光电晶体管正确的接到TX控制器上的I1端口,然后让一个LED灯接到M1端口上:



  • 之后,在ROBO Pro软件的接口测试窗口中进行正确的传感器输入类型设置,本实验中,我们将I1输入端口的类型设置为“Digital 5kOhm(Switch),如下图所示:



  • 在接口测试面板中,点击M1模式里的 CW选项,这时你连接的LED灯将点亮:

    移动LED光源,使其光线直接照射在光电晶体管上,观察此时I1输入端的信号发什么了什么变化。

  • 程序编写:
  • 在RoboPro创建一个新文件。设置环境TX/TXT控制器,使用级别为初学者,在【COM / USB】设置窗口中设置为USB连接、TX控制器类型

    之后,将下面的这些模块拖拽至编程窗口中:



    点击鼠标左键框选“马达输出”模块和“时间延迟”模块:



    松开鼠标后这两个模块将红色高亮显示:



    将鼠标移到已经选区的模块上,此时鼠标箭头变为小手的形状,点击鼠标左键(此时小手的右下方出现一个黑色的十字图标)进行拖拽,这样便复制除了一组新的模块:



    右键单击“数字分支”模块,在其属性面板中,将其传感器类型设置为“Phototransistor:



    分别右键单击“马达输出”模块,设置它们的图标显示为“Lamp”然后设置一个的动作为“On”一个的工作为“Off”:



    将另一个LED灯接到TX控制器上的M2输出端,在编程窗口中再复制一个“马达输出”模块,设置其显示图标为“Lamp”,动作为“On”。

    最终你的整体程序应为下图所示:



    测试这个程序,这个程序的意思是,当我们用M2上的LED灯去照射I1上的光电晶体管时,由于光电晶体管受到光照导通,产生高电平信号(1),此时M1上的LED灯点亮,1秒中后熄灭。观察这个过程,如果有问题请检查电路连接。

6.光敏电阻


《数字传感器:光敏电阻》

  • 实验设备:

  • ID
    名称
    中文名称
    数量
    图片
    1
    TX Controller
    TX控制器
    1

    2
    Power Supply
    电源
    1

    3
    Wires
    电线
    2

    4
    Photoresistor
    光敏电阻
    1
    5
    Lamp
    LED灯(带灯座)
    1


  • 实验流程:
  • 光敏电阻(LDR)是用硫化隔(CdS)半导体材料制成的特殊电阻器,其工作原理是基于内光电效应。光照愈强,阻值就愈低,随着光照强度的升高,电阻值迅速降低,电阻值可小至1KΩ以下。

    其原理图如下图所示:



    光敏电阻是一种无源器件,可以连接到TX控制器上的任何输入端(I1-I8



    将光敏电阻连接到TX控制器的I1输入,将LED灯连接到TX控制器的M1输出。

    在开始测试前,请准备一张白纸,并在表面贴上一小段胶带



    之后,在ROBO Pro软件的接口测试窗口中进行正确的传感器输入类型设置,本实验中,我们将I1输入端口的类型设置为“Analog 5kOhm(NTC,,如下图所示:



    一旦这样做,你会看到一个I1旁边的复选框被勾选了,同时在文字框中出现了实时监测到的数值

    当你移动或遮盖光敏电阻传感器时,你应该发现数值的变化。使光敏电阻向下面向刚才准备好的白纸,高度距离保持在大约1英寸(2.54厘米)。使光敏电阻指向白色的纸面,然后记下它的读值,然后让传感器平移到黑色电工胶带的上方,记录下这个读值,你会发现这两个的读值是不同的:



    拖拽一个“模拟分支”模块到编程窗口,右键单击它,在其属性面板中设置其参数,这里的数值取刚才记录的两个数值的算数平均数(两个值的中间数):



    拖拽其他模块创建如下的程序:



    运行该程序,将光敏电阻从电工胶带的上方开始,然后慢慢移动到纸张的白色部分,观察程序的运行情况

  • 程序扩展
  • 现在新建一个程序,并将软件的使用级别设置为3级:变量”:



    这里我们将使用到一些新的模块,不过首先Basic elements基本模块)”分类拖拽出下列常用的几个模块:



    下一步从“Inputs, output(输入,输出”分类中拖拽“Universal input(通用输入)”模块到程序窗口中:



    右键单击“Universal input(通用输入)”模块,在其属性面板中,设置其传感器类型为“Photoresistor(光敏电阻)”,点击确定后你会看到模块上面的图标发生了变化:



    接下来,展开“Operating elements(操作模块)”组,拖拽其中的“Text display(文本框显示)”模块到编程窗口,这个模块可以为我们在屏幕显示一个值



    右键单击文本显示”模块,在其属性面板中进行如下修改:



    回到“Inputs, output(输入,输出)”分类中,拖拽“Panel Display(面板显示)”模块到编程窗口中:



    右键单击“Panel Display(面板显示)”模块,这里你会看到我们刚才已经建立的“文本显示”模块的名称,选择它,点击确认,之后你会看到“面板显示”模块上的图标发生了变化。

    注意:如果在程序窗口中有多个不同名称的“文本显示”模块,“Panel Display(面板显示)”模块的属性面板中都会将它们显示出来。



    接下来,“Branch, wait分支,等待…)”分类中拖拽一个“Branch with data input(带数据输入的分支)”模块到程序窗口中:



    在其属性面板中,设置一个数刚才记录的照射黑色电工胶带时的读值减去50(50是误差)

    在对话框的底部有一个单选按钮来交换Y / N分支。选择该选项,然后点击OK,之后你会发现“带数值输入的分支”模块上的Y和N的图标发生的变化:



    放置第二个“Branch with data input(带数据输入的分支)”模块,并在其属性面板中,将其数值设置为先前记录的两个读值的算数平局数(中间值)

    之后完成类似于下面的程序设计:



    运行程序,移动光敏电阻,从电工胶带上移到白色区域,观察LED灯发生了什么

    当室内光照发生变化时,可以调整分支的参数值,以修正输出结果

7.轨迹传感器


数字传感器:轨迹传感器

数字信号是指某些传感器提供两种不同状态的信号:高电平或低电平,开或关,逻辑1或逻辑0。数字信号是编程中最容易处理的信号类型

轨迹传感器的内部是由两个单独的传感器组成的有源设备需要一个额外的9V电源供电。

  • 实验设备:

  • ID
    名称
    中文名称
    数量
    图片
    1
    TX Controller
    TX控制器
    1

    2
    Power Supply
    电源
    1

    3
    Wires
    电线
    2

    4
    Trail Follower Sensor
    轨迹传感器
    1
    5
    Lamp
    LED灯(带灯座)
    2

    6
    Building Block 15
    15mm构建块
    1

    7
    Building Block 30
    30mm构建块
    2


  • 实验流程:
  • 轨迹传感器需要相当接近它遵循的线条在该示例中,构建小型装置以安装传感器保持距离桌面表面约15mm如下图所示



    将轨迹传感器安装到组件,确保传感器的“眼睛”指向下方,将一条电工胶带粘贴在纸张上,如下图所示:



    轨迹传感器一共有四根电线,红色电线需要接控制器上的9V电源输出,绿色电线可以接到控制器上的任何“地”,本例中,接到I1输入端子组中的“地”:




    传感器上的另外两根电线是信号线,现在,将蓝黄条纹电线连接到I1端子,将蓝色电线连接到I2端子



  • RoboPro创建一个新文件。设置环境TX/TXT控制器,使用级别为初学者,在【COM / USB】设置窗口中设置为USB连接、TX控制器类型


  • 之后,在ROBO Pro软件的接口测试窗口中进行正确的传感器输入类型设置,本实验中,我们将I1和I2的输入端口类型设置为“Digital 10VTrail sensor,如下图所示:



  • 将轨迹传感器放置在电工胶带的正上方,如下图所示:



    现在,我们将轨迹传感器在电工胶带上方进行左右小幅度的移动,在接口测试窗口中观察,I1和I2在什么时候显示0,什么时候显示1。

    调换I1和I2上的导线,观察导线对传感器的工作是否有影响?


  • 实验结论

  • 通过测试,我们得知,轨迹传感器上的两组内置传感器(一个圆形的光纤发射器和一个方形的光线接收器是一组)的工作方式是一样的,即:当置于黑色电工胶带上方时,信号返回为“0”,当移动至白色纸张上方时,信号返回为“1”。

    接下来,我们要改装测试装置,在控制器的M1和M2输出端口上添加LED灯泡,您可以将它们并列安装在传感器支架上,如下图所示:



  • 编写程序

  • 拖拽“数字分支”模块到编程窗口,右键单击模块,调出属性设置面板,将数字输入端口设置为I1和I2,将传感器类型设置为Trail sensor”(轨迹传感器,如下图所示:



  • 接下来拖拽其他模块,将程序编写为下面的样子:



  • 程序中LED灯的点亮有四种可能的逻辑,这些逻辑将通过左右移动轨迹传感器而看到效果

  • 下面是真值表,请通过运行程序检验逻辑,以确保LED灯在四种情况下都能正常的点亮(如有问题,请检查LED灯的接线)


  • 现在,开始进行程序测试,左右小幅度地移动轨迹传感器,观察并记录测试结果。

8.行程开关


《数字传感器:行程开关》

数字信号是指某些传感器提供两种不同状态的信号:高电平或低电平,开或关,逻辑1或逻辑0。数字信号是编程中最容易处理的信号类型

行程开关通过关闭或打开一组触点来工作。一般来说,当开关闭合时会产生一个高电平,当开关打开时会产生一个低电平。

  • 实验设备:

  • ID
    名称
    中文名称
    数量
    图片
    1
    TX Controller
    TX控制器
    1

    2
    Power Supply
    电源
    1

    3
    Wires
    电线
    2

    4
    switch
    行程开关/接触开关
    1

    5
    Lamp
    LED灯(带灯座)
    1


  • 实验流程:
  • 行程/接触开关安装在电路中控制电子的流动。

    执行机构是使开关打开和关闭的机械方法常见的类型包括瞬时拨动滑动摇杆等

    一个常开开关是指一个电路在其初始状态下是打开的,而执行器触发后,电路关闭从而允许电流通过;常闭开关是指初始状态下电流可以流过,除非触发执行器使开关打开,从而阻挡电流流动。

  • 下图是一个常见的单刀单掷开关原理图:


  • 而慧鱼的行程开关是一种单刀双掷开关,一个输入和两个不同的输出路径,示意图如下:



    下图是实物照片。这是一个接触开关,这意味压下红色按钮(执行器)会临时性地改变路径,而松开后便恢复到原来的位置。



    拆开零件会看到其内部结构默认情况下,中间的触点1和触点2是接通的,也就是常闭状态;触点1和触点3是断开的,是常开状态。

    当按钮被按下时,触点1与2断开,而触点1和3之间接通,但这是一个临时性的接通,因为当松开按钮释放压力时,弹簧将使中间的簧片弹回到其默认的位置上



    现在,将开关的触点1和触点3上连接到TX控制器的I1输入端:



  • 将LED灯(带灯座)连接到TX控制器上的M1端子上,示意图如下:



  • RoboPro创建一个新文件。设置环境TX/TXT控制器,使用级别为初学者,在【COM / USB】设置窗口中设置为USB连接、TX控制器类型

  • 之后,在ROBO Pro软件的接口测试窗口中进行正确的传感器输入类型设置,本实验中,我们将I1输入端口的类型设置为“Digital 5kOhm(Switch),如下图所示:


  • 之后,将下面的这些模块拖拽至编程窗口中:



    复制一组Moto output(马达输出)模块和Time delay(时间延迟)模块。

    右键点击Moto output(马达输出)模块,在其属性面板上,设置其图标显示为Lamp(灯),一个设置为On(开),一个设置为Off(关)。


        


    编写成以下简单的程序来测试行程开关



    现在运行程序,观察开关触发后LED灯的点亮效果。

9.颜色传感器


模拟传感器:颜色传感器

  • 实验设备

  • ID
    名称
    中文名称
    数量
    图片
    1
    TX Controller
    TX控制器
    1

    2
    Power Supply
    电源
    1

    3
    Wires
    电线
    1

    4
    Color Sensor
    颜色传感器
    1
    5
    Building block 30
    30mm构建块
    4
    6
    Link 15
    15mm
    2

    7
    Aluminum Strut 90
    90mm铝型材
    1


  • 实验流程:
  • 光学颜色传感器可以测量物体表面的颜色或光源的特性。测试数值取决于房间照明待测表面的距离和待测物体的形状
  • 光学颜色传感器是一个有源传感器,需要连接9V电源,以使正常运作。传感器由一个明亮的LED光源一个捕获反射光的接收器组成。所有被测物体都会根据自身颜色和表面的纹理吸收不同量的光


  • 颜色传感器带有三根线缆,其中红色的线缆(电源正极线)接到控制器上的9V输出端绿色的线缆可以接到控制器上的任何一个接地端子,在本实验中接到I1的接地端子。黑色的线缆是信号线,本实验中接到I1的输入端子。三根线缆的接线位置如下图所示:



  • 搭建一个传感器支架,结构类似于下面的示意图:



  • 整体示意图如下:



  • 无论何时当你把一个传感器连接到控制器时,都需要在ROBO Pro软件的接口测试窗口中进行正确的传感器输入类型设置,只有配置正确,软件才会返回正确的传感器测试数值

  • 本实验中,我们将I1输入端口的类型设置为“Analog 10V(color sensor),如下图所示:


  • 实验结论

  • 使用四种不同颜色的片状物体或纸张。将每一个插入你的传感器测试结构中,记录软件界面中返回的数值。


  • 下面是四组测试结果:



  • 程序编写:

  • 下面这个程序是一个分类程序。软件让我们知道当前的被测纸张是什么颜色的,并且在程序界面中通过模拟的LED灯显示其颜色


  • 上面这个程序是如何编写的呢,详情如下:

  • RoboPro软件中建立一个新的文件。设置编程环境Environment为“TX/TXT控制器,设置级别为“3级:变量。在COM / USB设置界面进行配置:“USB连接方式和TX控制器


  • 在类别【Program elements / 程序模块中的子类别【Basic elements / 基本模块中找到下面两个模块拖至到编程窗口



  • 子类别【Commands / 指令中放置一个指令元素



  • 子类别【Branch,wait / 分支,等待】中放置一个“带数据输入的分支”模块:



  • 子类别【Inputs,outputs / 输入,输出中拖拽以下这两个模块到程序窗口:


  • 类别【Operating elements / 操作模块】中的子类别【Displays / 显示将下列模块放置在程序窗口中:



  • 编程窗口中复制“指令”元素,复制方法是按住Ctrl键,在要复制的模块上点击鼠标左键:


  • 右键分别单击上面的两个“指令”模块,在其属性中,一个设置为“On / 开 ”,一个设置为“Off / 关”:



  • 对这两个“指令”模块,分别各复制出3个,共计8个“指令”模块:



  • 再复制三个“带数据输入的分支”模块,共计4个。分别在属性面板中设置这四个模块的条件判断参数,使得我们在前面所测量的四张纸片的颜色数值分别在这四个参数形成的数值区间内。



  • 右键单击“Text display / 文本显示”模块,并设置显示框名称为“sensor”,默认的显示文字为“Sensor=   0”,显示框的宽度(显示位)设置为14,如果愿意的话,还可以改变背景颜色



  • 复制3个“Display Lamp / 显示灯”模块分别给每个设置一种与前面测试纸片所对应的颜色名称。它们分别是“yellow”、“white”、“orange”、“blue”。



  • 再复制出7个“Panel display / 面板显示”模块,分别在其属性面板中配置到不同颜色的显示灯上。



  • 用流程箭头连接各模块。完成后,你的程序应该看起来类似于下面的显示。



  • 现在TX控制器连接到计算机,打开控制器的电源并运行程序。

  • 不同颜色的纸张在传感器测试结构依次插入,查看程序的运行结果,如果程序反馈了不正确的颜色显示那么请调整“带数据输入的分支”模块的参数设置
10.USB摄像头的基本介绍


《USB摄像头的基本介绍

慧鱼USB摄像头是一个多功能的传感系统,除了基本的回传视频画面外还可以用来收集不同类型的信号

  • 连接摄像头
  • 将摄像头的USB数据线插入到TXT控制器上的USB1接口,如下图所示:



    连接后,摄像头通过USB线缆供电,现在可以开始使用。

  • 测试摄像头
  • 接通TXT控制器的电源,打开控制器。 在电脑上打开Robo Pro软件、设置正确的运行环境,启动一个新程序。


  • 主程序界面中,选择“Camera”窗口选项卡这将打开摄像头窗口。 有关摄像头的所有设置都在此窗口中进行,在这里我们可以指定如何使用摄像头以及我们希望使用的属性


    窗口中的右侧是摄像头的设置,右下方是显示摄像头回传的各种数据。

    这里,我们先选择摄像头的连接方式为:TXT Controller(通过TXT控制器连接,如下图所示:


    点击“Select PC Camera”标签旁边的“Select(选择)”按钮,将弹出一个选择对话框,这里可以指定摄像头。如果您使用的是自带摄像头的笔记本电脑,您可能会看到这里列出了两个不同的摄像头。 选择其中的“Any available camera任何可用的相机)”的选项


      



    接下来,单击 “Activate Preview实时预览)”复选框



    几秒钟后,窗口中的左侧屏幕将闪烁,您将看到摄像头回传的实时画面:



    如果在你的程序中你仅仅需要的就是摄像头的回传画面那么你现在可以通过点击“Function(功能)”选项卡切换到程序主界面:



    要让摄像头回传画面出现在您的程序界面中,那么需要在“Operating elements(操作模块)”分类中将“Camera viewer(摄像头查看器)”模块拖拽到程序界面中:


    拖拽到程序界面中时它显示为黑色矩形。现在点击程序运行”按钮我们将看到实时回传的画面:


    以上是摄像头回传画面的基本用法,事实上,慧鱼摄像头除此基本功能外还提供5中的额外的功能,这另外五种功能为:

  • Color detector(颜色探测
  • Movement detector运动探测
  • Line finder(线条探测
  • Ball finder(小球探测
  • Exclusion object(排除物体

  • 以上这5种功能我们将在另外5个文档中分别详细介绍。

11.摄像头的运动探测


《摄像头的运动探测

  • 功能介绍
  • 摄像头通过镜片监测外部世界与我们的肉眼直接观察世界是不太相同的。

    为了观察运动,我们可以观察摄像头回传回来的画面,并且观察图像的变化对比度。如果图像是稳定的,那么对比度的值是恒定的;当画面出现运动时,对比度是会发生变化的。

    当屏幕里的画面出现变动,即对比度产生变化时,系统会产生提示,但是,我们还需要对监测精度进行调节,以避免类似系统中的热空气流动产生的微小变化。

    现在连接摄像头到TXT控制器,将控制器与电脑相连,接通电源,在电脑中打开软件,设置好环境,新建一个空白文件。

    点击进入Camera窗口中,单击左上角的“Sensor fields(传感器域)”:



    在左下侧的传感器种类中,左键单击“Movement detector(运动探测)”模块,之后鼠标箭头会变成一个笔形图标



    在右侧的黑色屏幕区域单击鼠标,绘制一个监测区域,在笔形图标的状态下,拖动区域四周的锚点,可以再次调整区域的小大:



    再次单击笔形图标完成绘图,此时笔形图标变回正常的鼠标箭头:



    左键点击监测区域(监测区域框显示为红色表示被选中)右键单击鼠标,弹出属性设置面板:



    在对话框中有三个属性设置:

  • Name(名称):输入一个该监测窗口的唯一名称本实例中我们设置为Detect。
  • Change contrast(变化对比度):像素点的亮度改变,这里允许我们设置一个阈值,只有当对比度的变化值达到了这个阈值,系统才会产生“警报”提示(监测区域框会显示为红色。这个如果设置的太高,非常小的运动就将触发“警报”,如果设的太低,画面小幅度变动将很难触发“警报”。
  • Change area(变动区域):设置阈值指定监测区域内变化的区域所占的百分比。如果你想监测一辆汽车行驶过而不是一个行人,那么这个值要设置的很高。如果你想监测一个鼠标在地板上移动这个值应该设的很小。
  • 举例:如果你想要监测一张白纸上的蚂蚁的爬行,“变化对比度”的设置值要较高(50或50以上),但是“变动区域”的设置值要很小(1)。

    本实例中,我们就接受其默认值10)。现在,点击“OK”。然后再勾选“实时预览”复选框,此时摄像头将为您提供监控数据



    如果在监测区域内的画面没有任何的变动,那么在“Sensor values(传感器值)”窗口里我们看到Detect的返回值都是“0”:

    将手移动到摄像头前的监测区域中,观察“Contrast(对比度)”“Size(大小)”的数值变化。

    尝试在摄像头前移动不同的东西当物体移动到监测区域时,你会观察到明显的数值变化。请观察不同颜色的对象和不同大小的物体的移动时,数值变化有何不同你还可以尝试改变摄像头前的画面背景颜色,再次在监测区域内移动物体看看有什么效果。

    除了在摄像头窗口下可以实时看到监测的数值,在编写程序时,我们通过“Camera Input(摄像头输入)”模块来调用这两个属性参数。

  • 程序测试
  • 切换到程序界面,从基本模块中拖拽“开始”模块和“时间延迟”模块到程序窗口中:

    “输入,输出”子分类中拖拽“面板显示”和“摄像头输入”模块到程序窗口中:

    “分支,等待”子分类中拖拽一个“带数据输入的分支” 到程序窗口中:

    操作模块下的“显示”子分类中,拖拽一个“显示灯”模块到程序窗口中

    组织这些模块,编写一个如下的简单的程序



    这个程序将调用摄像头的属性值,并根据这个值进行分支判断,如果画面有变动,就点亮“显示灯”

    在程序正常运行前,我们还需要对模块进行一下配置:

    右键单击“摄像头输入”模块,调出属性面板,这里列出了Detect对象的两个属性:Detect C(对比度)和Detect A(区域)。本例中,我们选择调用“对比度”这个属性值



    确认设置后,我们会看到“摄像头输入”模块图文标识发生了变化:



    右键单击“显示灯”模块,在其属性面板中,去掉“Initially on”右侧复选框的“勾”,这表示显示灯在程序运行初始时是熄灭的。

    右键单击“面板显示”模块,在其属性面板中,其指定到这个名为“Lamp”的显示灯



    运行这个程序,当监测区域里出现画面变动时,对比度会产生数值变化(非0),这时就会看到“显示灯”点亮,如果画面静止不动,那么对比度数值为0,“显示灯”又会熄灭。

    如果我们想在程序窗口里实时的看到摄像头监测到的对比度数值,那么只需对程序做如下的调整:

    从操作模块下的“显示”子分类中,拖拽一个“文本显示”模块到程序窗口中,右键单击对其属性进行设置,修改其名称为“contrast”将默认的文本显示设置为“Contrast=   0”,位数设置为“15”



    在程序中删除掉“显示灯”控件,“面板显示”模块重新指定到这个新建立的名为“contrast”的文本显示”模块



    运行该程序,我们可以实时查看监测区域中的对比度值。

    然后,我们可以将分支的判断阈值进行调整,这时我们可以观察到对比度的值只有在达到了判断阈值时,才会引起分支模块的跳转


  • 实验

  • 试一试,如果忽略小的变化,只监测大的变化,那么“变化对比度和“变动区域的值应该设置为多少合适呢?

    我们可以用摄像头的这个功能来实现对物料输送带上流动的物品进行计数的程序,请尝试完成实物搭建和程序编写。

12.摄像头的小球探测

http://192.168.1.120/image/part_img/big/152522.gif

《摄像头小球探测

  • 功能介绍
  • 这个功能被称为球探测器,但它也可以探测圆形以外的形状。 该功能可以查找与背景色不同颜色的对象。 当它定位一个对象时,它提供对比度、X和Y轴坐标及物体尺寸这四个属性

    实验组件:

    将15mm的红色构建块安装在底板的C12、F12和 E9槽中:

    组装好转盘并安插到底板上的3个构建块上

    将2个安置到底板的J9和K9槽中:

    上滑入30mm的黑色构建块:

    组装带有蜗杆轴的电机齿轮箱:

    滑动电机齿轮箱,确保其上连接的蜗杆与转盘接触

    如上图所示,将电机连接到TXT控制器上的M1输入端。

    制作背景:用30mm的构建块制作两个“L”型的支架,在中间插入一张单色的纸张作为背景:

        

    制作立架:使用60mm的金属轴,将其放在筒夹和轮毂螺母之间,然后拧紧使其相对固定:

    在另一端,用同样的方法固定筒夹和轮毂螺母,注意在末端流出一定的空间:

    这个结构将作为放置乒乓球的支架使用:

    你的整体测试环境应该如下图这样布置:

    下面开始摄像头的配置:

    在软件中新建一个程序,打开摄像头窗口。 点击左上角的“传感器”,在下面的程序模块中选择小球探测模块:

    单击“小球探测”模块后,鼠标形状变为笔形,现在视频监控窗口中绘制监测区域可以拖动监测区域框四周的锚点以改变形状,确定形状后,鼠标点击监测区域以外的地方以确定设置,鼠标变回光标形状:

    本例中需要一个较大的矩形监测区域,之后右键单击监测区域弹出属性设置面板:

    通过该属性面板中的设置,我们可以告诉计算机要去寻找的对象

    可以给该探测区域设置一个唯一的名称,方便在程序中调用其属性;

    之后“Ball detection(球探测)”属性中可以设置“Minimum color contrast(最小颜色对比度)”,这个对比对是指被监测对象的颜色与背景色的对比度;

    “Minimum size(最小尺寸)”和“Maximum size(最大尺寸)”是设置要监测的物体的尺寸范围对于最大尺寸,设定要合适,不能太大,否则处理会非常耗时,还可能会识别到一些不是目标对象的物体。同时,对于最小尺寸也不能设置的太小。最好的办法是在摄像头监测区域内测量物体的尺寸,然后减去或加上尺寸的20%作为最小尺寸和最大尺寸;

    之后Result coordinates监测区坐标)”属性中可以设置监测区域的刻度范围,分别可以设置X轴和Y轴的最大和最小坐标值以及网格间距。

    之后勾选“实时预览”复选框。在视频窗口中将显示摄像头拍摄到的画面,你将看到计算机识别到了摄像头前的乒乓球(识别到时会有一个绿色的圆圈实线)。

    上图中Contrast(对比度)值55。Position(位置)值15 75,这个值中间有一个空格,空格前的15表示球的中心在X轴方向上的刻度,后面的75表示球的中心在Y轴方向上的刻度。Size(尺寸)值是小球在网格坐标下的半径。

    在上面的视图中,我们看到小球的顶部超出了网格区域,那么现在我们调整一监测区域的位置,使小球能完全的显示在网格区域内部:

  • 程序测试
  • 切换到编程界面,从“输入,输出”子分类中拖拽“摄像头输入”和“面板显示”模块到程序窗口中:
  • 从操作模块下的“显示”子分类中,拖拽一个“文本显示”模块到程序窗口中
  • 复制上面的三个模块如下:
  • 右键单击每一个“摄像头输入”模块,在其属性面板上,为其指向小球对象的每一个属性:
  • 右键单击每一个“文本显示”模块,为其设置相应的命名,并修改默认的文字显示:
  • 之后,右键单击每一个“面板显示”模块,将其指向对应的“文本显示”模块:
  • 接下来,拖拽流程线将程序修改成如下的样子:
  • 从“操作模块”分类中拖拽一个“Camera viewer(摄像头查看器)”模块到编程界面中,然后点击运行该程序,这时我们在程序界面中可以看到拍摄到的画面以及监测到的小球的各个属性值:
  • 移动支撑小球的支架,同时观察程序中的那几个属性值发生了变化:
  • 接下来我们进一步修改这个程序,使其功能更完善:

    拖拽“起始”模块和“马达输出”模块程序窗口中

  • 从“变量、定时器”子分类中,拖拽1个“常量”模块到程序窗口中

    从“分支、等待”子分类中,拖拽“等待”和“带数据输入的分支”模块到程序窗口中

    从“操作模块”中的“控制模块”子分类中,拖拽“按钮”模块到程序窗口中

    从“输入输出”子分类中,拖拽“面板输入”模块到程序窗口中,并在其属性面板中设置指向 “按钮”模块

    从“运算符”子分类中,拖拽“算数运算符”模块到程序窗口中

    复制模块,修改相应的属性,将上面这些模块组织成下面的程序显示:

    上面这个程序是一个追踪程序,如果小球的摆放位置不是在摄像头的正前方,那么摄像头会调整方向以保证让小球在自己的正前方。

    试着用手移动小球的支架,摄像头也会跟随的小球的移动方向移动。如果你发现摄像头的移动方向有误,请在TXT控制器上的M1端口调换电机的接线。如果摄像头的移动太快,甚至出现过度纠偏的情况,那么你可以尝试将电机的速度从8改为4或者3,减低速度摄像头的移动会更稳定准确。

    下面我们学习如何屏蔽画面中的部分显示区域,当我们构建实验模型时,有时模型的颜色可能会分散程序的注意力。要从视图排除掉一个可能造成干扰的区域,只需要使用摄像头中的一个“区域排除”功能即可。

    现在关闭到程序,切换到“摄像头”窗口中,勾选“实时预览”复选框,然后单击左上角的“Sensor fields(传感器域)”在左下侧的传感器种类中,左键单击“Exclusion object排除物体)”模块:

    之后在摄像头窗口里拖拽一个矩形区域,如下图所示,画面中底部的白色区域与背景色有较大的差异,那么我们把底部的这个区域排除掉:

    确定该排除区域后,右键单击该区域,在其属性面板中为其设置一个唯一的名称“Bottom”

    之后,我们再次选择小球探测区域,在其属性面板中,我们将“Exclusion area(排除区域)”的值指向“Bottom”:

    设置好后,再次运行该程序 ,由于设置了排除区域,因此计算机将不再被不同的颜色分心

  • 实验
  • 描述你如何看待计算机使用颜色对比度来定位球。

    尝试使用一个块状物体来代替乒乓球,程序能够识别到块状物体么?

13.摄像头的颜色探测


《摄像头颜色探测

  • 功能介绍
  • 在进行本功能测试前要注意,外部光源对摄像头的颜色识别是有影响的,在编程测试期间请保证不变的外部光源,否则测试数据会受到影响,还有当摄像头前的探测区域没有明显反光时,识别颜色也较为准确。最好提供一个黑色、白色或者单色的背景色,被测物体的颜色最好也是单色颜色探测时被测物要保持稳定。

    实验组件:

    按照下图组装结构

    按照下图安装上摄像头并组装好试验台

    在软件中新建一个程序,打开摄像头窗口。 点击左上角的“传感器”,在下面的程序模块中将显示出5种摄像头探测模块:

    本实例中,选择“颜色探测”模块:

    单击“颜色探测”模块后,鼠标形状变为笔形,现在在视频监控窗口中绘制监测区域

    可以拖动监测区域框四周的锚点以改变形状,确定形状后,鼠标点击监测区域以外的地方以确定设置,鼠标变回光标形状:

    右键单击设置好的监测区域,弹出属性面板,在这里给监测窗口设置一个唯一的名称,这里我们将名称改为“Detect”

    确认后,你会看到,监测区域框内的名称变更为你设置的“Detect”:

    勾选“实时预览”复选框,你将看到摄像头拍摄的实时画面:

    我们的电脑是使用RGB颜色标准的。RGB颜色标准是指每种颜色都是由:Red(红)、Green(绿)、Blue(蓝)三种颜色按照不同比例混合而成。R、G、B每种色各分为256阶亮度,数值从0到255表示,一些颜色的RGB表示如下:


    颜色名称
    红色值 Red(0 - 255)
    绿色值 Green(0 - 255)
    蓝色值 Blue(0 - 255)
    黑色
    0
    0
    0
    蓝色
    0
    0
    255
    绿色
    0
    255
    0
    青色
    0
    255
    255
    红色
    255
    0
    0
    洋红色
    255
    0
    255
    黄色
    255
    255
    0
    白色
    255
    255
    255


    此外,监测系统还提供一个B/W属性来表示不同颜色的总体亮度值。

    现在你可以从电脑上打印几张不同颜色的纸,并将其RGB值和B/W总体亮度值记录在其上,以备后面使用

  • 程序测试
  • 切换到程序界面,从“输入,输出”子分类中拖拽“摄像头输入”和“面板显示”模块到程序窗口中:
  • 从操作模块下的“显示”子分类中,拖拽一个“文本显示”模块到程序窗口中
  • 复制上面的三个模块如下
  • 右键单击第一个“摄像头输入”模块,在其属性面板上,将其指向“Detect监测区域”中的“R”属性:
  • 重复这个操作,将其他的两个“摄像头输入”模块分别指向“Detect监测区域”中的“G”属性和“B”属性
  • 右键第一个“文本显示”模块,在其属性面板中,设置其名称为“Color R”,修改其文字显示内容为“Color R=   0”,然后将背景色改为“红色”:
  • 之后重复这个操作,将其他两个文本框分别设置显示“绿色”和“蓝色
  • 接下来 ,分别设置三个“面板显示”模块指向上面这三个“文本显示”模块,使程序显示如下:
  • 现在运行程序,将不同颜色的彩纸放在架子上,观察测得的数据应该接近彩纸上记录的RGB色值。
  • 接下来我们进一步修改这个程序,使其功能更完善:

    拖拽“起始”模块程序窗口中

    从“变量、定时器”子分类中,拖拽2个“变量”模块到程序窗口中

    从“指令”子分类中,拖拽“赋值”模块和“加”模块程序窗口中

    从“分支、等待”子分类中,拖拽“等待”和“带数据输入的分支”模块到程序窗口中

    从“操作模块”中的“控制模块”子分类中,拖拽“按钮”模块到程序窗口中

    从“输入输出”子分类中,拖拽“面板输入”模块到程序窗口中,并在其属性面板中设置指向 “按钮”模块

    复制模块,修改相应的属性,将上面这些模块组织成下面的程序显示:

    在上面这个程序里,我们用RGB中的“R”值作为分支判断的数据输入值,我们修改分支判断的条件数值,以便判断每次放置的颜色卡片是否是我们要监测的颜色。但是每种颜色的RGB三个通道的色值有时是非常接近的,因此用一个颜色通道的数值来做条件判断往往不够准确,这时我们可以考虑用多个条件来做颜色判断:

    如果在自然光干扰较小的环境中,如果颜色纸张的测试数值较为稳定,那么我们可以用上面的这种多通道颜色的“等值”判断来确认颜色,但是如果数值不够稳定,这种颜色的判断也是不准确的会存在误差。完整的测试程序如下

  • 实验
  • 有多种逻辑来选择你想要的颜色,请尝试不同的方法编程来实现颜色筛选功能。

14.摄像头的线条探测


http://192.168.1.120/image/part_img/big/152522.gif

《摄像头线条探测

  • 功能介绍
  • 我们需要通过设置选项来告诉摄像头要寻找什么

    最简单的循迹是追踪那些在白色背景上的黑线。 由于我们的摄像头可以区分不同的颜色,因此循迹的能力是无止境的。 摄像头还可以一次看到几条线,如果我们清楚这些线不同条件,那么我们可以告诉程序何时停止跟踪一条线条并开始追踪其他的线条

    以下的学习将帮助你理解摄像头是如果看到线条和颜色,并如何实现追踪。

    实验组件:

    我们用上述组件搭建一个如下的结构:

    下面开始摄像头的配置:

    在软件中新建一个程序,打开摄像头窗口。 点击左上角的“传感器”,在下面的程序模块中选择线条探测模块:

    单击“线条探测”模块后,鼠标形状变为笔形,现在视频监控窗口中绘制监测标尺,可以拖动监测标尺两端的锚点以改变形状,确定形状后,点击监测标尺以外的地方以确定设置,鼠标变回光标形状:

    之后右键单击监测标尺弹出属性设置面板:

    在这个属性框中有很多设置,在本实例中,我们将经常返回这里进行属性值的更改,看看如何影响摄像头的线条循迹

    由于我们会在程序中对某些属性进行调用,因此我们对属性的设置还将影响编程界面的内容。

    现在,就从这些默认设置开始。 选择“OK”。

    将画有线条的纸张放置在摄像头的正下方,然后勾选“实时预览”复选框,从监测窗口中看看摄像头正在监测什么

    上图中,在摄像头下方有一个黑色的线条,监测到的数据信息为:对比度为35,位置为12(这里的位置是指该黑色线条宽度的中心点距离监测标尺中心点“0”之间的距离,这个值是带有正负的,正值表示在监测线条的右侧,如果是负值,表示在监测线条的左侧),尺寸12(尺寸指在标尺线上的黑色线条宽度)。

    现在取消“实时预览”右键单击监测标尺以再次弹出属性框。 在上图中,对比度为35。现在我们将“Minimum contrast(最小对比度)”的值设置的高于这个监测到的值(比如40或45):

    选择“确定”,然后再次激活“实时预览观察发生了什么?

    我们注意到,当“最小对比度”值设置高于实测对比度时,我们的摄像头现在对黑色线条“视而不见

    取消“实时预览再次调出属性面板,将“最小对比度”的值重置为20detection and automatic white balance(颜色检测和自动白平衡)”选项区中,选中“Color(颜色)”单选按钮

    点击确认打开“实时预览”再次观察监测效果

    这一次你应该能看到更多的信息。你会注意到在“传感器值”窗口中有更多的颜色信息。 这些属性值将允许我们决定要追踪的颜色线现在,将不同的颜色线移动到摄像头的下方,并记录下不同的数据:

    在我们编写程序时,这些数据可以帮助我们进行条件设定。另外需要注意,不同的室内的照明会对摄像头的循迹造成影响(监测数值会发生变化)。

  • 程序测试
  • 切换到编程界面,从“输入,输出”子分类中拖拽“摄像头输入”和“面板显示”模块到程序窗口中:

  • 从操作模块下的“显示”子分类中,拖拽一个“文本显示”模块到程序窗口中
  • 复制上面的三个模块如下:
  • 右键单击每一个“摄像头输入”模块,在其属性面板上,为其指向监测标尺”返回的每一个属性:
  • 右键单击每一个“文本显示”模块,为其设置相应的命名,并修改默认的文字显示:
  • 之后,右键单击每一个“面板显示”模块,将其指向对应的“文本显示”模块,然后画出流程线,将程序设置成下面的样子
  • 从“操作模块”分类中拖拽一个“Camera viewer(摄像头查看器)”模块到编程界面中,然后点击运行该程序,然后将画有不同颜色线条的纸张放置到摄像头下方这时我们在程序界面中可以看到拍摄到的画面以及监测到的线条的各个属性值:
  • 通过测试你会发现在刚才的那种属性配置下,摄像头可以监测到任何颜色的线条。在“监测标尺”的属性面板中我们可以通过设置线条的宽度来追踪特定宽度的线条:
  • 但是,有些时候我们想追踪指定颜色的线条而屏蔽掉其他的颜色,这要怎么做呢?
  • 很简单,假设我们要监测红色的线条而排除其他的颜色,那么通过数据分析,我们发现红色线条的“Red”通道返回的值是唯一大于50的数值,那么我们用这个属性值作为判定条件
  • 我们只需设置一个运算符来检查一个大于50的红色值即可:
  • 运行该程序,之后线条的红色通道返回的值大于50的时候,程序才识别这个线条:
  • 通过上述这种方法,我们可以让程序只注意到一种颜色的线条,再重复一遍这个逻辑,比较不同颜色线条的返回值,查看指定线条的参数值与其他线条的参数值有何不同,当一个RGB通道的数值不足以定位到该线条时,我们可以使用多个参数来设置判定条件。多参数判定的程序编写范例如下:
  • 下面我们学习使用“position位置这个属性,通过这个属性我们可以实现摄像头对线条的循迹。
  • 如下图所示,我们在前面也提高过,线条在标尺上会有一个位置值,这个值可以是负的,也可以是正的,如果线条正好在标尺的中心点上,那么显示为0,我们正是通过它具有的这三种数值情况来进行条件判断的:
  • 参考下面的这张图片,小车在行进的过程中,我们可以通过position的值来决定车轮该向哪个方向偏转(通过左右两个马达的速度差来实现)
  • 我们不需要实际搭建上图这个实物,你可以仅仅在TXT控制器上接入2个马达来简单地测试一下这个功能,了解其原理就可以了。
  • 向编程窗口中拖拽下面这四个模块:
  • 再复制6个“马达输出”模块,修改其属性,将你的程序修改成下面的样子:
  • 上面这个程序的意思是实现对黑色线条的循迹,首先通过多条件判断来确定是黑色线条,然后根据线条在“监测标尺”上的位置来决定M1和M2的马达转速,由于两个马达存在速度差,因而可以实现小车的方向调整。
  • 下面我们继续学习“Multiple lines(多线条)”属性的应用
  • 切换到摄像头窗口,在摄像头的下方放置一张含有两条线段的纸张,打开“实时预览”:
  • 默认的情况,我们的摄像头仅识别到一条线。现实中,当我们要在两条线段中做出到底循迹哪条线的决策前,我们必须首先要都看到这两条线才行。现在关闭“实时预览”,点开“监控标尺”的属性面板,将“Number of results(监测条数)”的值改为2:
  • 点击确定, 打开“实时预览”,你将看到两条线段都被识别到了:
  • 对于多条线段,摄像头会将左侧,也就是标尺上负坐标一侧最先出现的线段命名为line 1,然后从左向右依次类推:line 2、line3、lin4
  • 制作一张下图中的纸张,然后沿着黑线滑动摄像头。 注意它看到了什么:
  • 当新的红色线段划过标尺时,摄像头立刻识别到了这个线段:
  • 现在切换到编程窗口,再拖拽一个“摄像头输入”模块,右键单击打开属性面板,你将看到这里列出了更多的属性名称(两条线段的属性):
  • 现在修改我们的程序为下图,解释一下这个程序的逻辑是要实现什么?
  • 实验
  • 考虑一下,用摄像头可以实现简单的条码扫描功能么?
15.慧鱼电气元件技术参数

慧鱼电气元件技术参数



32293  迷你马达

额定电压:10 VDC

空载转速: 9500转/分(RPM)

最大电流:0.65 A
最大扭矩:4.8 mNm

35481 大功率马达

变速比8:1
额定电压:8 VDC
空载转速:  5800转 /分(RPM)
最大电流:1.1A
最大扭矩:1.2 Ncm

37488  迷你马达

额定电压:24 VDC
空载转速: 10700转 /分(RPM)
最大电流: 0.3 A
最大扭矩:5mNm

37487  大功率马达

额定电压:24 VDC

变速比:20:1

空载转速:270转 /分(RPM)

最大扭矩:300mNm

37031 金属帽  

额定电压:2.3VDC

材质:10F

37869 灯泡

额定电压:9VDC

额定电流:1.0A

37875  镜头灯

额定电压:9VDC

额定电流:1.5A

36134 灯座

最大电压:35V

35327 三通阀

额定电压:12 VDC

额定电流: 0.133 A

135484 编译马达

额定电压:直流9V
最大功率:1096 W

最大转速:173.5转/分(RPM)。
最大扭矩:60.29 mNm
最大电流:465mA

最大信号:NPN集电极开路输出, 2mA

135485  XM马达

最大功率:2.9 W
最大转度:338转 /分(RPM)
最大扭矩:84.15 mNm
最大电流:950 mA

137096  XS马达

最大功率:955W
最大转度:5995转 /分(RPM)
最大扭矩:1.52 mNm
最大电流:265 mA

128598  红外跟踪传感器

电源电压:9V DC(红色“+” 绿色“ - ”)

蓝色和黄色电缆输出
无踪迹信号:0V
跟踪确认信号:>5V
最大输出电流: 1mA

128599  颜色传感器

电源电压:9V DC
模拟信号:0-9 V

输出端最大电流:1 mA

133009  超声波距离传感器

电源电压:9V DC
数字信号: ROBO TX控制器/ ROBO接口板传感器

数字编码:ROBO TX控制器和传感器之间的数据传输

144643  编译马达

额定电压:24V DC
空载转速:440转 /分(RPM)
最大扭矩:176.5 mNm
最大电流:0.6A
输出信号:0.24VDC,10 mA

136734  燃料电池

工作温度:10〜40℃
存储温度:5-40℃
存储容量:2x15ml
操作电压:1.4-2V
工作电流:0-500mA
最大产氢率:3.5毫升/分

工作电流:500mA
额定功率:250mW

142504  电磁铁

额定电压:9VDC
额定电流:80mA
最大温升:30K
磁保持力:14N
重量:18.6 g
尺寸:20x18x27mm
电线长度:300mm

32698   光敏传感器

型号:LDR03

光强电阻:R100= 1.2kΩ

36437   热敏传感器

温度电阻:R25=1.5kΩ

最大功率:P25=450mW





在线客服
 
 
 工作时间
周一至周五 :8:30-17:30
 联系方式
客服热线:01068460066
邮箱:info@cedutech.com