找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 33088|回復(fù): 56
收起左側(cè)

TCS3200顏色傳感器配套資料,含調(diào)試程序原理圖,結(jié)構(gòu)圖

  [復(fù)制鏈接]
ID:187017 發(fā)表于 2017-4-7 11:01 | 顯示全部樓層 |閱讀模式
這次課程設(shè)計(jì)主要用的TCS3200顏色傳感器,附件里面有傳感器的原理,結(jié)構(gòu)圖,調(diào)試?yán)?br />
TCS3200顏色傳感器簡(jiǎn)介:

0.png
TCS3200顏色傳感模塊電路及實(shí)驗(yàn)電路圖:
0.png 0.png

0.png


控制板是通用型的,可以控制語(yǔ)音模塊 、超聲波模塊、AD模塊等,如果只是顏色傳感器用,AT24C01部分、按鍵部分可以不焊接;
超聲波控制板電路原理圖:
0.png

51單片機(jī)源程序:
  1. /*模塊的使用方法:把板距離白紙2CM處開(kāi)機(jī),使輸出的數(shù)據(jù)位FFFFFFF(白平衡),接下來(lái)就可以正常使用
  2. 實(shí)現(xiàn)功能:對(duì)顏色傳感器輸出RGB
  3. 使用芯片:AT89S52 或者 STC89C52 或AT89S51 STC89C51
  4. 晶振:12MHZ
  5. 編譯環(huán)境:Keil
  6. 作者:zhengzhongxign39*/
  7. #include <reg52.h>
  8. #define uchar unsigned char
  9. #define uint  unsigned int
  10. //==============LCD1602接口連接方法=====================
  11. /*-----------------------------------------------------
  12.        |DB0-----P0.0 | DB4-----P0.4 | RW-------P2.3    |
  13.        |DB1-----P0.1 | DB5-----P0.5 | RS-------P2.4    |
  14.        |DB2-----P0.2 | DB6-----P0.6 | E--------P2.2    |
  15.        |DB3-----P0.3 | DB7-----P0.7 |
  16.     ---------------------------------------------------*/
  17. //================================================*/              
  18. #define LCM_Data     P0    //LCD1602數(shù)據(jù)接口
  19. #define Busy         0x80   //用于檢測(cè)LCM狀態(tài)字中的Busy標(biāo)識(shí)
  20. sbit    LCM_RW     = P2^3;  //讀寫控制輸入端,LCD1602的第五腳
  21. sbit    LCM_RS     = P2^4;  //寄存器選擇輸入端,LCD1602的第四腳
  22. sbit    LCM_E      = P2^2;  //使能信號(hào)輸入端,LCD1602的第6腳

  23. //=================顏色傳感模塊連接=====================
  24. /*-----------------------------------------------------
  25.        |EO-----GND
  26.        |S0-----VCC | S2-----P2.0 | OUT-------P3.5
  27.        |S1-----VCC | S3-----P2.1 |
  28.   ---------------------------------------------------*/
  29. sbit    tcs230_s2=P2^0;//TCS230 S2接單片機(jī)P2.0
  30. sbit    tcs230_s3=P2^1;//TCS230 S3接單片機(jī)P2.1
  31. sbit    tcs230_en=P3^0; //TCS230 EN(E0)接GND
  32. //**************函數(shù)聲明***************************************
  33. void    WriteDataLCM                (uchar WDLCM);//LCD模塊寫數(shù)據(jù)
  34. void    WriteCommandLCM        (uchar WCLCM,BuysC); //LCD模塊寫指令
  35. uchar   ReadStatusLCM(void);//讀LCD模塊的忙標(biāo)
  36. void    DisplayOneChar(uchar X,uchar Y,uchar ASCII);//在第X+1行的第Y+1位置顯示一個(gè)字符
  37. void    LCMInit(void);//LCD初始
  38. void    DelayMs(uint Ms);//1MS基準(zhǔn)延時(shí)程序
  39. void    baipingheng();//白平衡子程序
  40. void    celiang();//實(shí)際顏色程序
  41. uint    ryz,gyz,byz;//分別定義紅色因子 綠色因子 藍(lán)色因子
  42. uint    rb,gb,bb;//RGB值
  43. uchar   tab1[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
  44. //***********************主程序******************************
  45. main()   
  46. {   
  47.    TMOD=0x51;//設(shè)定T0以工作方式1定時(shí)10毫秒
  48.    LCMInit();//LCD初始
  49.    baipingheng();//上電時(shí)先白平衡一次
  50.    while(1)
  51.    {
  52.        celiang();//顏色測(cè)試
  53.        DisplayOneChar(0, 0,'R');//以十進(jìn)制顯示RGB中紅色的分值
  54.        DisplayOneChar(0, 1, rb/100+0x30); //顯示百位數(shù)據(jù)
  55.        DisplayOneChar(0, 2, rb/10%10+0x30);//顯示十位數(shù)據(jù)
  56.        DisplayOneChar(0, 3, rb%10+0x30);//顯示個(gè)位數(shù)據(jù)
  57.        DisplayOneChar(0, 5,'G');//以十進(jìn)制顯示RGB中綠色的分值
  58.        DisplayOneChar(0, 6, gb/100+0x30); //顯示百位數(shù)據(jù)
  59.        DisplayOneChar(0, 7, gb/10%10+0x30);
  60.        DisplayOneChar(0, 8, gb%10+0x30);
  61.        DisplayOneChar(0, 10,'B');//以十進(jìn)制顯示RGB中藍(lán)色的分值
  62.        DisplayOneChar(0, 11, bb/100+0x30);
  63.        DisplayOneChar(0, 12, bb/10%10+0x30);
  64.        DisplayOneChar(0, 13, bb%10+0x30);
  65.        //*****在LCD1602的第二行以16進(jìn)制顯示RGB*******************
  66.        DisplayOneChar(1, 1, tab1[rb/16]);
  67.        DisplayOneChar(1, 2, tab1[rb%16]);
  68.        DisplayOneChar(1, 3, 'H');
  69.        DisplayOneChar(1, 6, tab1[gb/16]);
  70.        DisplayOneChar(1, 7, tab1[rb%16]);
  71.        DisplayOneChar(1, 8, 'H');
  72.        DisplayOneChar(1, 11,tab1[bb/16]);
  73.        DisplayOneChar(1, 12,tab1[bb%16]);
  74.        DisplayOneChar(1, 13,'H');
  75.        DelayMs(250);//每隔0.25秒測(cè)試一次顏色
  76.    }
  77. }
  78. //******************************************************
  79. //白平衡子程序
  80. void   celiang()
  81. {
  82.      //*********求R值************************************
  83.      TH0=(65536-10000)/256;
  84.            TL0=(65536-10000)%256;
  85.      TH1=0;
  86.      TL1=0;
  87.      tcs230_s2=0;
  88.      tcs230_s3=0;//選擇紅色濾光器
  89.      tcs230_en=0;
  90.      TR0=1;//10毫秒開(kāi)始計(jì)時(shí)
  91.      TR1=1;//開(kāi)始計(jì)數(shù)
  92.      while(TF0==0);//等待定時(shí)器溢出
  93.      TF0=0;//清楚定時(shí)器0溢出標(biāo)志
  94.      TR0=0;//關(guān)閉定時(shí)0
  95.      TR1=0;
  96.      rb=(unsigned long)(TH1*256+TL1)*255/ryz;
  97.      if(rb>255)rb=255;//判斷RGB值是否合法
  98.      //***********求B值**************************************
  99.      TH0=(65536-10000)/256;
  100.            TL0=(65536-10000)%256;
  101.      TH1=0;
  102.      TL1=0;
  103.      tcs230_s2=0;
  104.      tcs230_s3=1;//選擇藍(lán)色濾光器
  105.      TR0=1;//10毫秒開(kāi)始計(jì)時(shí)
  106.      TR1=1;//開(kāi)始計(jì)數(shù)
  107.      while(TF0==0);//等待定時(shí)器溢出
  108.      TF0=0;//清楚定時(shí)器0溢出標(biāo)志
  109.      TR0=0;//關(guān)閉定時(shí)0
  110.      TR1=0;
  111.      bb=(unsigned long)(TH1*256+TL1)*255/byz;
  112.      if(bb>255)bb=255;//判斷RGB值是否合法     
  113.      //***********求G值**************************************   
  114.      TH0=(65536-10000)/256;
  115.            TL0=(65536-10000)%256;
  116.      TH1=0;
  117.      TL1=0;
  118.      tcs230_s2=1;
  119.      tcs230_s3=1;//選擇綠色濾光器
  120.      TR0=1;//10毫秒開(kāi)始計(jì)時(shí)
  121.      TR1=1;//開(kāi)始計(jì)數(shù)
  122.      while(TF0==0);//等待定時(shí)器溢出
  123.      TF0=0;//清楚定時(shí)器0溢出標(biāo)志
  124.      TR0=0;//關(guān)閉定時(shí)0
  125.      TR1=0;
  126.      tcs230_en=1;
  127.      gb=(unsigned long)(TH1*256+TL1)*255/gyz;
  128.      if(gb>255)gb=255;//判斷RGB值是否合法  
  129. }
  130. //******************************************************
  131. //白平衡子程序
  132. void    baipingheng()
  133. {
  134.      //**************求取紅色因子***********************
  135.      TH0=(65536-10000)/256;
  136.            TL0=(65536-10000)%256;
  137.      TH1=0;
  138.      TL1=0;
  139.      tcs230_s2=0;
  140.      tcs230_s3=0;//選擇紅色濾光器
  141.      tcs230_en=0;
  142.      TR0=1;//10毫秒開(kāi)始計(jì)時(shí)
  143.      TR1=1;//開(kāi)始計(jì)數(shù)
  144.      while(TF0==0);//等待定時(shí)器溢出
  145.      TF0=0;//清楚定時(shí)器0溢出標(biāo)志
  146.      TR0=0;//關(guān)閉定時(shí)0
  147.      TR1=0;
  148.      ryz=TH1*256+TL1;//其實(shí)這里的比例因子應(yīng)該為255/(TH1*256+TL1)
  149.      //**************求取藍(lán)色因子***********************
  150.      TH0=(65536-10000)/256;
  151.            TL0=(65536-10000)%256;
  152.      TH1=0;
  153.      TL1=0;
  154.      tcs230_s2=0;
  155.      tcs230_s3=1;//選擇藍(lán)色濾光器
  156.      TR0=1;//10毫秒開(kāi)始計(jì)時(shí)
  157.      TR1=1;//開(kāi)始計(jì)數(shù)
  158.      while(TF0==0);//等待定時(shí)器溢出
  159.      TF0=0;//清楚定時(shí)器0溢出標(biāo)志
  160.      TR0=0;//關(guān)閉定時(shí)0
  161.      TR1=0;
  162.      byz=TH1*256+TL1;//其實(shí)這里的比例因子應(yīng)該為255/(TH1*256+TL1)
  163.      //**************求綠紅色因子***********************
  164.      TH0=(65536-10000)/256;
  165.            TL0=(65536-10000)%256;
  166.      TH1=0;
  167.      TL1=0;
  168.      tcs230_s2=1;
  169.      tcs230_s3=1;//選擇綠色濾光器
  170.      TR0=1;//10毫秒開(kāi)始計(jì)時(shí)
  171.      TR1=1;//開(kāi)始計(jì)數(shù)
  172.      while(TF0==0);//等待定時(shí)器溢出
  173.      TF0=0;//清楚定時(shí)器0溢出標(biāo)志
  174.      TR0=0;//關(guān)閉定時(shí)0
  175.      TR1=0;
  176.      tcs230_en=1;
  177.      gyz=TH1*256+TL1;//其實(shí)這里的比例因子應(yīng)該為255/(TH1*256+TL1)
  178. }
  179. /*======================================================================
  180. LCM初始化

  181. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼

0.png

下載:
TCS3200顏色傳感器配套資料.rar (603.14 KB, 下載次數(shù): 504)

評(píng)分

參與人數(shù) 7黑幣 +31 收起 理由
li1263321 + 5 很給力!
tytytyty + 5 很給力!
yancey + 3 很給力!
zzzaaaaa + 5 絕世好帖!
qjzyx + 4 贊一個(gè)!
滄浪 + 4 很給力!
650913794 + 5 很給力!

查看全部評(píng)分

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

ID:198687 發(fā)表于 2017-5-10 20:15 | 顯示全部樓層
急需TCS3200測(cè)試,求資料,謝謝,發(fā)到郵箱758759506@qq.com
回復(fù)

使用道具 舉報(bào)

ID:160312 發(fā)表于 2017-7-2 18:25 | 顯示全部樓層
不錯(cuò)的。
回復(fù)

使用道具 舉報(bào)

ID:228085 發(fā)表于 2017-8-17 15:22 | 顯示全部樓層
厲害了
回復(fù)

使用道具 舉報(bào)

ID:248874 發(fā)表于 2017-11-14 13:17 | 顯示全部樓層
不錯(cuò)的。GOOD
回復(fù)

使用道具 舉報(bào)

ID:268001 發(fā)表于 2017-12-27 20:50 | 顯示全部樓層
非常不錯(cuò)!
回復(fù)

使用道具 舉報(bào)

ID:270740 發(fā)表于 2018-1-3 13:48 | 顯示全部樓層
我沒(méi)有黑筆的,下載不來(lái)呀
回復(fù)

使用道具 舉報(bào)

ID:76494 發(fā)表于 2018-1-7 16:17 | 顯示全部樓層
學(xué)習(xí)了
回復(fù)

使用道具 舉報(bào)

ID:273383 發(fā)表于 2018-1-8 18:25 | 顯示全部樓層
學(xué)習(xí)了   下次用到了再來(lái)下載
回復(fù)

使用道具 舉報(bào)

ID:273384 發(fā)表于 2018-1-8 18:33 | 顯示全部樓層
學(xué)習(xí)了
回復(fù)

使用道具 舉報(bào)

ID:274601 發(fā)表于 2018-1-10 23:22 | 顯示全部樓層
急  需
回復(fù)

使用道具 舉報(bào)

ID:278618 發(fā)表于 2018-1-22 15:33 | 顯示全部樓層
啊很想要資料,但是沒(méi)有黑筆很難受了
回復(fù)

使用道具 舉報(bào)

ID:182821 發(fā)表于 2018-2-26 11:12 | 顯示全部樓層
好全面呀。!下載的趕緊
回復(fù)

使用道具 舉報(bào)

ID:266116 發(fā)表于 2018-2-26 11:58 | 顯示全部樓層
有用,收藏,謝謝分享
回復(fù)

使用道具 舉報(bào)

ID:288395 發(fā)表于 2018-3-6 20:20 | 顯示全部樓層
jessen 發(fā)表于 2017-7-2 18:25
不錯(cuò)的。

可不可以給我發(fā)一下?我沒(méi)有黑幣 2207442805@qq.com
回復(fù)

使用道具 舉報(bào)

ID:288395 發(fā)表于 2018-3-22 16:03 | 顯示全部樓層
感謝。
回復(fù)

使用道具 舉報(bào)

ID:288395 發(fā)表于 2018-3-22 16:24 | 顯示全部樓層
如果我只是想要用傳感器識(shí)別紅 綠藍(lán)三種顏色 通過(guò)三個(gè)LED燈的顯示識(shí)別出顏色 那程序應(yīng)該怎么寫呢?
回復(fù)

使用道具 舉報(bào)

ID:295833 發(fā)表于 2018-3-23 10:27 | 顯示全部樓層
謝謝,正好需要這個(gè)?上Ш趲挪粔
回復(fù)

使用道具 舉報(bào)

ID:295965 發(fā)表于 2018-3-23 15:05 | 顯示全部樓層
沒(méi)有黑筆,跪求資料929464561@qq.com  謝謝!
回復(fù)

使用道具 舉報(bào)

ID:299076 發(fā)表于 2018-3-29 20:10 | 顯示全部樓層
樓主,小白一個(gè)可不可以發(fā)一下學(xué)習(xí)資料,萬(wàn)分感謝,2570319687@qq.com
回復(fù)

使用道具 舉報(bào)

ID:307153 發(fā)表于 2018-4-13 10:32 | 顯示全部樓層
樓主有資料了嗎,求分享
回復(fù)

使用道具 舉報(bào)

ID:307727 發(fā)表于 2018-4-14 10:09 | 顯示全部樓層
厲害了我的哥
回復(fù)

使用道具 舉報(bào)

ID:101393 發(fā)表于 2018-4-28 10:38 | 顯示全部樓層
我的傳感器stm32數(shù)據(jù)測(cè)的有問(wèn)題,下載這個(gè)代碼來(lái)測(cè)試是不是傳感器tcs3200的問(wèn)題
回復(fù)

使用道具 舉報(bào)

ID:191910 發(fā)表于 2018-5-2 15:49 | 顯示全部樓層
好東西,但是發(fā)現(xiàn)顏色識(shí)別不是很準(zhǔn)確的
回復(fù)

使用道具 舉報(bào)

ID:191910 發(fā)表于 2018-5-2 15:50 | 顯示全部樓層
很不錯(cuò),識(shí)別能力不強(qiáng),誤差較大
回復(fù)

使用道具 舉報(bào)

ID:324727 發(fā)表于 2018-5-8 08:20 | 顯示全部樓層
很不錯(cuò),給力的文字
回復(fù)

使用道具 舉報(bào)

ID:326973 發(fā)表于 2018-5-10 17:04 | 顯示全部樓層
缺黑筆, 樓主可否可以郵箱發(fā)一份2028388623@qq.com  不勝感激 !。。
回復(fù)

使用道具 舉報(bào)

ID:287899 發(fā)表于 2018-5-11 17:54 | 顯示全部樓層
感謝樓主,注釋很詳細(xì)
回復(fù)

使用道具 舉報(bào)

ID:337070 發(fā)表于 2018-5-24 09:45 | 顯示全部樓層
感謝樓主,注釋很詳細(xì)
回復(fù)

使用道具 舉報(bào)

ID:341023 發(fā)表于 2018-5-29 23:35 | 顯示全部樓層
很不錯(cuò)的東西,謝謝
回復(fù)

使用道具 舉報(bào)

ID:367564 發(fā)表于 2018-7-8 22:52 | 顯示全部樓層
沒(méi)黑幣啊
回復(fù)

使用道具 舉報(bào)

ID:376752 發(fā)表于 2018-7-21 17:07 | 顯示全部樓層
學(xué)習(xí)了,謝謝
回復(fù)

使用道具 舉報(bào)

ID:376752 發(fā)表于 2018-7-21 17:09 | 顯示全部樓層
好詳細(xì),贊一個(gè)
回復(fù)

使用道具 舉報(bào)

ID:383039 發(fā)表于 2018-8-5 09:25 | 顯示全部樓層
學(xué)習(xí)了   下次用到了再來(lái)下載
回復(fù)

使用道具 舉報(bào)

ID:124031 發(fā)表于 2018-8-12 22:03 | 顯示全部樓層
多謝分享
回復(fù)

使用道具 舉報(bào)

ID:303057 發(fā)表于 2018-8-14 16:40 來(lái)自手機(jī) | 顯示全部樓層
借鑒學(xué)習(xí),謝謝樓主
回復(fù)

使用道具 舉報(bào)

ID:241020 發(fā)表于 2018-8-24 18:01 | 顯示全部樓層
挺好的。。!
回復(fù)

使用道具 舉報(bào)

ID:282795 發(fā)表于 2018-9-4 13:48 | 顯示全部樓層
非常感謝。
回復(fù)

使用道具 舉報(bào)

ID:412418 發(fā)表于 2018-10-22 15:19 | 顯示全部樓層
很給力
回復(fù)

使用道具 舉報(bào)

ID:409508 發(fā)表于 2018-10-23 23:37 | 顯示全部樓層
大佬哦。。。。。。。。。。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表