原创 【雕爷学编程】Arduino动手做(63)---TCS3200D颜色识别传感器

2020-2-24 15:51 4899 21 2 分类: MCU/ 嵌入式 文集: 雕爷学编程

37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来---小小的进步或是搞不掂的问题,希望能够抛砖引玉。


【Arduino】168种传感器模块系列实验(资料+代码+图形+仿真)

实验六十三: TCS3200D颜色识别传感器(可编程彩色光频识别转换器模块)

TCS3200D
是TAOS(Texas Advanced Optoelectronic Solutions)公司推出的可编程彩色光到频率的转换器。它把可配置的硅光电二极管与电流频率转换器集成在一个单一的CMOS电路上,同时在单一芯片上还集成了红绿蓝(RGB)三种滤光器,是业界第一个有数字兼容接口的RGB彩色传感器。TCS3200D的输出信号是数字量,可以驱动标准的TTL或CMOS逻辑输入,因此可直接与微处理器或其它逻辑电路相连接。由于输出的是数字量,并且能够实现每个彩色信道10位以上的转换精度,因而不再需要A/D转换电路,使电路变得更简单。该颜色传感器主要可用于尿液分析仪,生化分析仪,验钞机等需要检测颜色的产品上。

三原色
三原色指色彩中不能再分解的三种基本颜色,我们通常说的三原色,即品红、黄、青(是青不是蓝,蓝是品红和青混合的颜色)  。三原色可以混合出所有的颜色,同时相加为黑色,黑白灰属于无色系。色光三原色是指红、绿、蓝三色,各自对应的波长分别为700nm,546.1nm,435.8nm,光的三原色和物体的三原色是不同的。光的三原色,按一定比例混合可以呈现各种光色。根据托马斯·杨和赫尔姆豪兹的研究结果.这三种原色确定为红、绿、蓝(相当于颜料中的大红、中绿、群青(紫蓝)的色彩感觉)。彩色电视屏幕就是由这红、绿、蓝三种发光的颜色小点组成的。由这三原色按照不同比例和强弱混合.可以产生自然界的各种色彩变化。颜料和其他不发光物体的三原色是品红(相当于玫瑰红、桃红)、品青(相当于较深的天蓝、湖蓝)、浅黄(相当于柠檬黄)。由英国化学家富勃斯特(1781—1868)研究选定的这三原色可以混合出多种多样的颜色,不过不能调配出黑色,只能混合出深灰色。

色相

是色彩的首要特征,是区别各种不同色彩的最准确的标准。事实上任何黑白灰以外的颜色都有色相的属性,而色相也就是由原色、间色和复色来构成的。色相,色彩可呈现出来的质地面貌。自然界中各个不同的色相是无限丰富的,如紫红、银灰、橙黄等。色相即各类色彩的相貌称谓。


色相环(color circle)

是指一种圆形排列的色相光谱(SPECTRUM),色彩是按照光谱在自然中出现的顺序来排列的。暖色(WARM COLOR)位于包含红色和黄色的半圆之内,冷色则包含在绿色和紫色的那个半圆内。互补色(COMPLEMENTARY COLOR)出现在彼此相对的位置上。

三原色原理

人眼对红、绿、蓝最为敏感,人的眼睛像一个三色接收器的体系,大多数的颜色可以通过红、绿、蓝三色按照不同的比例合成产生。同样,绝大多数单色光也可以分解成红、绿、蓝三种色光,这是色度学的最基本的原理,也称三原色原理。白光通过棱镜后被分解成多种颜色逐渐过渡的色谱,颜色依次为红、橙、黄、绿、青、蓝、紫,这就是可见光谱。其中人眼对红、绿、蓝最为敏感,人的眼睛就像一个三色接收器的体系,大多数的颜色可以通过红、绿、蓝三色按照不同的比例合成产生。同样绝大多数单色光也可以分解成红绿蓝三种色光。这是色度学的最基本原理,即三基色原理。三种基色是相互独立的,任何一种基色都不能有其它两种颜色合成。红绿蓝是三基色,这三种颜色合成的颜色范围最为广泛。红绿蓝三基色按照不同的比例相加合成混色称为相加混色。

红色+绿色=黄色

绿色+蓝色=青色

红色+蓝色=品红

红色+绿色+蓝色=白色

TCS3200是TAOS公司推出的可编程彩色光到频率的转换器,它把可配置的硅光电二极管与电流频率转换器集成在一个单一的CMOS电路上,同时在单一芯片上集成了红绿蓝(RGB)三种滤光器,是业界第一个有数字兼容接口的RGB彩色传感器,TCS3200的输出信号是数字量,可以驱动标准的TTL或CMOS逻辑输入,因此可直接与微处理器或其他逻辑电路相连接,由于输出的是数字量,并且能够实现每个彩色信道10位以上的转换精度,因而不再需要A/D转换电路,使电路变得更简单,TCS3200的引脚图

TCS3200采用8引脚的SOIC表面贴装式封装,在单一芯片上集成有64个光电二极管,这些二极管分为四种类型,其16个光电二极管带有红色滤波器;16个光电二极管带有绿色滤波器;16个光电二极管带有蓝色滤波器,其余16个不带有任何滤波器,可以透过全部的光信息,这些光电二极管在芯片内是交叉排列的,能够最大限度地减少入射光辐射的不均匀性,从而增加颜色识别的精确度;另一方面,相同颜色的16个光电二极管是并联连接的,均匀分布在二极管阵列中,可以消除颜色的位置误差。工作时,通过两个可编程的引脚来动态选择所需要的滤波器,该传感器的典型输出频率范围从2Hz-500kHz,用户还可以通过两个可编程引脚来选择100%、20%或2%的输出比例因子,或电源关断模式。输出比例因子使传感器的输出能够适应不同的测量范围,提高了它的适应能力。例如,当使用低速的频率计数器时,就可以选择小的定标值,使TCS3200的输出频率和计数器相匹配。

TCS3200识别颜色的原理
由上面的三原色感应原理可知,如果知道构成各种颜色的三原色的值,就能够知道所测试物体的颜色。对于TCS3200 来说,当选定一个颜色滤波器时,它只允许某种特定的原色通过,阻止其它原色的通过。例如:当选择红色滤波器时,入射光中只有红色可以通过,蓝色和绿色都被阻止,这样就可以得到红色光的光强;同理,选择其它的滤波器,就可以得到蓝色光和绿色光的光强。通过这三个值,就可以分析投射到TCS3200 传感器上的光的颜色。TCS3200这种可编程的彩色光到频率转换器适合于色度计测量应用领域,如彩色打印、医疗诊断、计算机彩色监视器校准以及油漆、纺织品、化妆品和印刷材料的过程控制和色彩配合。

白平衡和颜色识别原理
白平衡就是告诉系统什么是白色。从理论上讲,白色是由等量的红色、绿色和蓝色混合而成的;但实际上,白色中的三原色并不完全相等,并且对于 TCS3200 的光传感器来说,它对这三种基本色的敏感性是不相同的,导致TCS3200 的RGB 输出并不相等,因此在测试前必须进行白平衡调整,使得TCS3200 对所检测的“白色”中的三原色是相等的。进行白平衡调整是为后续的颜色识别作准备。在本装置中,白平衡调整的具体步骤和方法如下:将空的试管放置在传感器的上方,试管的上方放置一个白色的光源,使入射光能够穿过试管照射到TCS3200 上;根据前面所介绍的方法,依次选通红色、绿色和蓝色滤波器,分别测得红色、绿色和蓝色的值,然后就可计算出需要的三个调整参数。

TCS3200D颜色识别传感器(可编程彩色光频识别转换器模块)

主要参数

  • 尺寸:37*37mm
  • 固定孔:3mm
  • 孔距:22.6*22.6mm
  • 电压:5V
  • 芯片:TCS3200D
  • 端口:数字量
  • 输出:10-12KHz,占空比50%
  • 检测距离:10mm
  • 平台:Arduino 单片机


主要特点

  • 输出占空比50%
  • 所有的引脚全部引出
  • 采用TCS3200D,性能优于TCS230D
  • 所有IO全部引出,可控式LED补光灯
  • 通过程序可以读取颜色的RGB值
  • 适用于静态物体颜色的检测
  • 注意:不能检测灯光的颜色
  • 检测距离1厘米最佳
  • 检测有效距离小于等于5厘米
  • 可直接和单片机连接
  • 采用高亮白色LED灯反射光
  • 静态识别物体颜色,不同颜色输出不同频率

模块电原理图


模块接线

Arduino Uno   <----->   TSC3200颜色传感器

Pin 6                <----->                  S0

Pin 5                <----->                  S1                        

Pin 4                <----->                  S2

Pin 3                <----->                  S3

Pin 2                <----->                 OUT

5V                     <----->                 VCC

GND                <----->                 GND

TCS3200颜色传感器是一款全彩的颜色检测器,包括了一块TAOS TCS3200RGB感应芯片和4个白光LED灯,TCS3200能在一定的范围内检测和测量几乎所有的可见光。它适合于色度计测量应用领域。比如彩色打印、医疗诊断、计算机彩色监视器校准以及油漆、纺织品、化妆品和印刷材料的过程控制。

    通常所看到的物体颜色,实际上是物体表面吸收了照射到它上面的白光(日光)中的一部分有色成分,而反射出的另一部分有色光在人眼中的反应。白色是由各种频率的可见光混合在一起构成的,也就是说白光中包含着各种颜色的色光(如红R、黄Y、绿G、青V、蓝B、紫P)。根据德国物理学家赫姆霍兹(Helinholtz)的三原色理论可知,各种颜色是由不同比例的三原色(红、绿、蓝)混合而成的。

    由上面的三原色感应原理可知,如果知道构成各种颜色的三原色的值,就能够知道所测试物体的颜色。对于TCS3200D 来说,当选定一个颜色滤波器时,它只允许某种特定的原色通过,阻止其它原色的通过。例如:当选择红色滤波器时,入射光中只有红色可以通过,蓝色和绿色都被阻止,这样就可以得到红色光的光强;同理,选择其它的滤波器,就可以得到蓝色光和绿色光的光强。通过这三个光强值,就可以分析出反射到TCS3200D传感器上的光的颜色。

   TCS3200D传感器有红绿蓝和清除4种滤光器,可以通过其引脚S2和S3的高低电平来选择滤波器模式,如下图。

     TCS3200D有可编程的彩色光到电信号频率的转换器,当被测物体反射光的红、绿、蓝三色光线分别透过相应滤波器到达TAOS TCS3200RGB感应芯片时,其内置的振荡器会输出方波,方波频率与所感应的光强成比例关系,光线越强,内置的振荡器方波频率越高。TCS3200传感器有一个OUT引脚,它输出信号的频率与内置振荡器的频率也成比例关系,它们的比率因子可以靠其引脚S0和S1的高低电平来选择,如下图。

白平衡校正方法是:把一个白色物体放置在TCS3200颜色传感器之下,两者相距10mm左右,点亮传感器上的4个白光LED灯,用Arduino控制器的定时器设置一固定时间1s,然后选通三原色的滤波器,让被测物体反射光中红、绿、蓝三色光分别通过滤波器,计算1s时间内三色光对应的TCS3200传感器OUT输出信号脉冲数(单位时间的脉冲数包含了输出信号的频率信息),再通过正比算式得到白色物体RGB值255与三色光脉冲数的比例因子。有了白平衡校正得到的RGB比例因子,则其它颜色物体反射光中红、绿、蓝三色光对应的TCS3200输出信号1s内脉冲数乘以R、G、B比例因子,就可换算出了被测物体的RGB标准值了。

安装程序中的TimerOne.h库文件的二种办法

1、请下载:

https://github.com/PaulStoffregen/TimerOne

2、安装TimerOne库:IDE—工具—管理库—搜索TimerOne—安装

  1. /*
  2. 【Arduino】168种传感器模块系列实验(63)
  3. 实验六十三: TCS3200D颜色识别传感器(可编程彩色光频识别转换器模块)
  4. 安装TimerOne库:IDE—工具—管理库—搜索TimerOne—安装
  5. */
  6. #include <TimerOne.h>//申明库文件
  7. //把TCS3200颜色识别传感器各控制引脚连到Arduino数字端口
  8. #define S0 6 //物体表面的反射光越强,TCS3200内置震荡器产生的方波频率越高,
  9. #define S1 5 //SO和S1的组合决定输出信号频率比例因子,比例因子为2%
  10. //比例因子为TCS3200传感器OUT引脚输出信号频率与其内置振荡器频率之比
  11. #define S2 4 //S2和S3的组合决定让红、绿、蓝,哪种光线通过滤波器
  12. #define S3 3
  13. #define OUT 2 //TCS3200颜色传感器输出信号
  14. //在中断函数中纪录TCS3200输出信号的脉冲个数
  15. int g_count = 0; // 计算与反射光相对应TCS3200颜色传感器输出信号的脉冲数
  16. int g_array[3]; // 存储RGB值
  17. int g_flag = 0; // 滤波器模式选择顺序标志
  18. float g_SF[3]; // 从TCS3200输出信号的脉冲数转换为RGB标准值的RGB比例因子
  19. //初始化TSC3200各控制引脚的输入输出模式
  20. //设置TCS3200的内置振荡器方波频率与其输出信号频率的比例因子为2%
  21. void TSC_Init()
  22. {
  23. pinMode(S0, OUTPUT);
  24. pinMode(S1, OUTPUT);
  25. pinMode(S2, OUTPUT);
  26. pinMode(S3, OUTPUT);
  27. pinMode(OUT, INPUT);
  28. digitalWrite(S0, LOW);
  29. digitalWrite(S1, HIGH);
  30. }
  31. //选择滤波器模式,决定让红、绿、蓝,哪种光线通过滤波器
  32. void TSC_FilterColor(int Level01, int Level02)
  33. {
  34. if(Level01 != 0)
  35. Level01 = HIGH;
  36. if(Level02 != 0)
  37. Level02 = HIGH;
  38. digitalWrite(S2, Level01);
  39. digitalWrite(S3, Level02);
  40. }
  41. //中断函数,计算TCS3200输出信号的脉冲波
  42. void TSC_Count()
  43. {
  44. g_count ++ ;
  45. }
  46. //定时器中断函数,每1S中断后,把该时间内的红、绿、蓝三种光线通过滤波器时,
  47. //TCS3200输出信号脉冲个数分别存储到数组g_array[3]的相应元素变量中
  48. void TSC_Callback()
  49. {
  50. switch(g_flag)
  51. {
  52. case 0:
  53. Serial.println("->WB Start");
  54. TSC_WB(LOW, LOW); //选择让红色光线通过滤波器的模式
  55. break;
  56. case 1:
  57. Serial.print("->Frequency R=");
  58. Serial.println(g_count); //打印1s内的红光通过滤波器时,TCS3200输出的脉冲个数
  59. g_array[0] = g_count; //存储1S内的红光通过滤波器时,TCS3200输出的脉冲个数
  60. TSC_WB(HIGH, HIGH); //选择让绿色光线通过滤波器的模式
  61. break;
  62. case 2:
  63. Serial.print("->Frequency G=");
  64. Serial.println(g_count); //打印1S内的绿光通过滤波器时,TCS3200输出的脉冲个数
  65. g_array[1] = g_count; //存储1S内的绿光通过滤波器时,TCS3200输出的脉冲个数
  66. TSC_WB(LOW, HIGH); //选择让蓝色光线通过滤波器的模式
  67. break;
  68. case 3:
  69. Serial.print("->Frequency B=");
  70. Serial.println(g_count); //打印1s内的蓝光通过滤波器时,TCS3200输出的脉冲个数
  71. Serial.println("->WB End");
  72. g_array[2] = g_count; //存储1s内的蓝光通过滤波器时,TCS3200输出的脉冲个数
  73. TSC_WB(HIGH, LOW); //选择无滤波器的模式
  74. break;
  75. default:
  76. g_count = 0; //计数值清零
  77. break;
  78. }
  79. }
  80. //设置反射光中红、绿、蓝三色光分别通过滤波器时如何处理数据的标志
  81. //该函数被TSC_Callback()调用
  82. void TSC_WB(int Level0, int Level1) //White Balance
  83. {
  84. g_count = 0; //计数值清零
  85. g_flag ++; //输出信号计数标志
  86. TSC_FilterColor(Level0, Level1); //滤波器模式
  87. Timer1.setPeriod(1000000); // 设置输出信号脉冲计数时长1s
  88. }
  89. //初始化
  90. void setup()
  91. {
  92. TSC_Init();
  93. Serial.begin(9600); //启动串口通信
  94. Timer1.initialize(); // defaulte is 1s缺省是1秒
  95. Timer1.attachInterrupt(TSC_Callback); //设置定时器1的中断,中断调用函数为TSC_Callbace()
  96. //设置TCS3200输出信号的上跳沿触发中断,中断调用函数为TSC_Count()
  97. attachInterrupt(0, TSC_Count, RISING);
  98. delay(4000); //延时4s,以等待被测物体红、绿、蓝三色在1s内的TCS3200输出信号脉冲计数
  99. //通过白平衡测试,计算得到白色物体RGB值255与1s内三色光脉冲数的RGB比例因子
  100. for(int i=0; i<3; i++)
  101. Serial.println(g_array);
  102. g_SF[0] = 255.0/ g_array[0]; //红色光比例因子
  103. g_SF[1] = 255.0/ g_array[1] ; //绿色光比例因子
  104. g_SF[2] = 255.0/ g_array[2] ; //蓝色光比例因子
  105. //打印白平衡后的红、绿、蓝三色的RGB比例因子
  106. Serial.println(g_SF[0]);
  107. Serial.println(g_SF[1]);
  108. Serial.println(g_SF[2]);
  109. }
  110. //红、绿、蓝三色光分别对应的1s内TCS3200输出脉冲数乘以相应的比例因子就是RGB标准值
  111. //打印被测物体的RGB值
  112. void loop()
  113. {
  114. g_flag = 0;//每获得一次被测物体的RGB颜色值时需要4s
  115. for(int i=0; i<3; i++) //打印被测物体的RGB值
  116. Serial.println(int(g_array * g_SF));
  117. delay(4000);
  118. }

识别接近灰白色的串口输出数据

白色的串口数据

实验仿真编程(linkboy3.6)

三种原色的波形,都是255一条线的是白色

在具体项目中,您所检测的是某种特定颜色的物体,可能就像前面图片展示的几种颜色类似,绝不会有连续变化颜色的物体。于是,应该以上述程序获得的被测物体颜色R、G、B值为中心,设置一个距离中心值±20的范围值,在任何环境光条件下,再次检测被测物体的RGB值,只要RGB值落在范围内,就可以认为被测物体是那种特定颜色的物体。这样设定颜色值范围的方法,可以有效提高物体颜色的识别率。


  1. /*
  2. 【Arduino】168种传感器模块系列实验(64)
  3. 实验六十四: TCS3200D颜色识别传感器(可编程彩色光频识别转换器模块)
  4. 实验程序之二:不使用库,实现简单颜色感应
  5. 实验模块接线
  6. Arduino Uno <-----> TSC3200颜色传感器
  7. Pin 6 <-----> S0
  8. Pin 5 <-----> S1
  9. Pin 4 <-----> S2
  10. Pin 3 <-----> S3
  11. Pin 2 <-----> OUT
  12. 5V <-----> VCC
  13. GND <-----> GND
  14. */
  15. #define S0 6
  16. #define S1 5
  17. #define S2 4
  18. #define S3 3
  19. #define sensorOut 2
  20. int frequency = 0;
  21. void setup() {
  22. pinMode(S0, OUTPUT);
  23. pinMode(S1, OUTPUT);
  24. pinMode(S2, OUTPUT);
  25. pinMode(S3, OUTPUT);
  26. pinMode(sensorOut, INPUT);
  27. // 将频率缩放设置为20%
  28. digitalWrite(S0, HIGH);
  29. digitalWrite(S1, LOW);
  30. Serial.begin(9600);
  31. }
  32. void loop() {
  33. // 设置要读取的红色滤波光电二极管
  34. digitalWrite(S2, LOW);
  35. digitalWrite(S3, LOW);
  36. // 读取输出频率
  37. frequency = pulseIn(sensorOut, LOW);
  38. frequency = map(frequency,-10, -49, 255, 0);
  39. // 在串行监视器上打印值
  40. Serial.print("R= ");//打印名称
  41. Serial.print(frequency);//打印红色频率
  42. Serial.print(" ");
  43. delay(2000);
  44. // 设置要读取的绿色过滤光电二极管
  45. digitalWrite(S2, HIGH);
  46. digitalWrite(S3, HIGH);
  47. // 读取输出频率
  48. frequency = pulseIn(sensorOut, LOW);
  49. frequency = map(frequency,-10, -50, 255, 0);
  50. //在串行监视器上打印值
  51. Serial.print("G= ");//打印名称
  52. Serial.print(frequency);//打印绿色频率
  53. Serial.print(" ");
  54. delay(2000);
  55. // 设置要读取的蓝色滤光光电二极管
  56. digitalWrite(S2, LOW);
  57. digitalWrite(S3, HIGH);
  58. // 读取输出频率
  59. frequency = pulseIn(sensorOut, LOW);
  60. frequency = map(frequency,-10, -41, 255, 0);
  61. // 在串行监视器上打印值
  62. Serial.print("B= ");//打印名称
  63. Serial.print(frequency);//打印蓝色频率
  64. Serial.println(" ");
  65. delay(2000);
  66. }

  1. /*
  2. 【Arduino】168种传感器模块系列实验(64)
  3. 实验六十四: TCS3200D颜色识别传感器(可编程彩色光频识别转换器模块)
  4. 实验程序之三:颜色识别感应
  5. 实验模块接线
  6. Arduino Uno <-----> TSC3200颜色传感器
  7. Pin 6 <-----> S0
  8. Pin 5 <-----> S1
  9. Pin 4 <-----> S2
  10. Pin 3 <-----> S3
  11. Pin 2 <-----> OUT
  12. 5V <-----> VCC
  13. GND <-----> GND
  14. */
  15. int s0 = 6, s1 = 5, s2 = 4, s3 = 3;
  16. int out = 2;
  17. int flag = 0;
  18. byte counter = 0;
  19. byte countR = 0, countG = 0, countB = 0;
  20. void setup()
  21. {
  22. Serial.begin(115200);
  23. pinMode(s0, OUTPUT);
  24. pinMode(s1, OUTPUT);
  25. pinMode(s2, OUTPUT);
  26. pinMode(s3, OUTPUT);
  27. }
  28. void TCS()
  29. {
  30. flag = 0;
  31. digitalWrite(s1, HIGH);
  32. digitalWrite(s0, HIGH);
  33. digitalWrite(s2, LOW);
  34. digitalWrite(s3, LOW);
  35. attachInterrupt(0, ISR_INTO, CHANGE);
  36. timer0_init();
  37. }
  38. void ISR_INTO()
  39. {
  40. counter++;
  41. }
  42. void timer0_init(void)
  43. {
  44. TCCR2A = 0x00;
  45. TCCR2B = 0x07; //时钟频率源1024点
  46. TCNT2 = 100; //10毫秒再次溢出
  47. TIMSK2 = 0x01; //允许中断
  48. }
  49. int i = 0;
  50. ISR(TIMER2_OVF_vect)
  51. //计时器2,10ms再次中断溢出,内部溢出中断执行功能
  52. {
  53. TCNT2 = 100;
  54. flag++;
  55. if (flag == 1)
  56. {
  57. countR = counter;
  58. Serial.print("red=");
  59. Serial.println(countR, DEC);
  60. digitalWrite(s2, HIGH);
  61. digitalWrite(s3, HIGH);
  62. }
  63. else if (flag == 2)
  64. {
  65. countG = counter;
  66. Serial.print("green=");
  67. Serial.println(countG, DEC);
  68. digitalWrite(s2, LOW);
  69. digitalWrite(s3, HIGH);
  70. }
  71. else if (flag == 3)
  72. {
  73. countB = counter;
  74. Serial.print("blue=");
  75. Serial.println(countB, DEC);
  76. Serial.println("\n");
  77. digitalWrite(s2, LOW);
  78. digitalWrite(s3, LOW);
  79. }
  80. else if (flag == 4)
  81. {
  82. flag = 0;
  83. }
  84. counter = 0;
  85. }
  86. void loop()
  87. {
  88. TCS();
  89. while (1);
  90. }

作者: 雕爷学编程, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-3894459.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

文章评论2条评论)

登录后参与讨论

雕爷学编程 2020-3-4 07:51

curton: TCS3200D颜色识别传感器
   谢谢老师鼓励

curton 2020-2-28 09:48

TCS3200D颜色识别传感器
相关推荐阅读
雕爷学编程 2023-06-20 08:52
【雕爷学编程】Arduino动手做(117)---P10V706LED屏模组
37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为...
雕爷学编程 2023-06-18 14:52
【雕爷学编程】Arduino动手做(116)---五向导航按键模块
37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为...
雕爷学编程 2023-06-18 13:23
【雕爷学编程】Arduino动手做(115)---HB100多普勒雷达模块
37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为...
雕爷学编程 2023-06-18 11:10
【雕爷学编程】Arduino动手做(114)---US-015高分辨超声波模块
37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为...
雕爷学编程 2023-06-17 09:10
【雕爷学编程】Arduino动手做(113)---5110液晶屏模块
37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为...
雕爷学编程 2023-06-17 06:36
【雕爷学编程】Arduino动手做(112)---2.4G24L01无线模块
37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为...
我要评论
2
21
关闭 站长推荐上一条 /2 下一条