<progress id="jlsnq"><code id="jlsnq"></code></progress>

<strong id="jlsnq"><del id="jlsnq"></del></strong>
    <mark id="jlsnq"></mark>

    <legend id="jlsnq"><table id="jlsnq"></table></legend>
    <small id="jlsnq"></small>
  • <ruby id="jlsnq"><table id="jlsnq"></table></ruby>

      <strong id="jlsnq"></strong>

      24小時聯系電話:18217114652、13661815404

      中文

      您當前的位置:
      首頁>
      電子資訊>
      技術專題>
      使用TCS3200模塊進行...

      技術專題

      使用TCS3200模塊進行顏色識別


      使用TCS3200模塊進行顏色識別

      該項目用于檢測顏色并使用TCS3200顏色傳感器模塊和Arduino板在LCD上顯示顏色名稱。傳感器使用彩色光電二極管輸出紅色,綠色和藍色的反射光值。顏色輸出以頻率顯示,其值取決于強度。

      顏色識別理論

      為了了解眼睛感知到的特定顏色,將眼睛接收到的信號分為紅色,綠色和藍色,以名稱三刺激值表示。任何特定顏色的三刺激值是R,GB的三個分量。我們使用的傳感器還提供類似于三刺激值的信號。

      必須從接收為Vr,VgVbR,GB的值中計算出兩個稱為色度坐標的值。國際照明委員會(CIE)在1931年引入了計算這兩個xy坐標的公式。

      1:色度圖,xy為紅色和綠色坐標

      該委員會在讀取了成千上萬個具有各種顏色對象的視覺觀察員的讀數后,得出了稱為色度圖的圖表,如圖1所示。根據計算出的xy坐標,可以通過繪制顏色來確定顏色( x,y)點在圖表中。

      x = Vr /Vr + Vg + Vb

      y = Vg /Vr + Vg + Vb

      例如,x = 0.2y = 0.35給出藍綠色,而x = 0.47y = 0.45給出黃色。該圖表具有馬蹄形形狀,雖然很奇怪,但這是CIE詳盡研究的結果。圖表的邊緣顯示了最純凈的顏色,并在其中指出的某些點上顯示了光譜波長值。

      例如,藍色始于400nm,綠色始于500540nm,黃色始于575nm,紅色始于640nm。

      圖表的底部是互補色,包括紫色和洋紅色。中心顯示的白色區域是白色的近似范圍,盡管某些顏色的坐標也落在該白色橢圓形區域內。該圖表是精確的,但是此處顯示的帶有顏色之間的界線的圖表僅是近似值。

      因此,所顯示的區別出的曲線(例如綠色和淡黃色綠色)僅是近似的。在此圖表中,主要顏色為十七種。因此,本文中的電路和程序旨在識別多達22種顏色,包括補色。

      電路與工作

      用于顏色識別的電路圖如圖2所示。它圍繞著Arduino Uno板(Board1),16×2 LCDLCD1),TCS3200顏色傳感器模塊(CS)和一些分立的組件而構建。TCS3200顏色傳感器模塊如圖3所示。

      2:用于顏色識別的電路圖

      3TCS3200顏色傳感器模塊

      所示電路使用頻率輸出。Arduino的外部中斷引腳INT0(引腳2)用于計數頻率值。我們選擇10kHz作為最大范圍。引腳S2S300、1101的順序選擇顏色。只有紅色(R),綠色(G)和藍色(B)的所謂三刺激值可用。顏色傳感器模塊的詳細信息已發布在使用TCS3200RGB顏色檢測器

      現在可以在此鏈接上獲得傳感器模塊的DIY文章。

      這三個頻率值用于確定色度坐標,從而使用我們的搜索算法從CIE色度圖中識別22種分類的顏色中的一種。根據顏色標定的CIE圖表(圖2),為每個對象指示色度坐標(乘以10)以及最接近的顏色名稱。這些RG值用于顏色匹配。

      LCD連接到Arduino開發板,以顯示坐標RG以及顏色名稱。RG用于顏色匹配,因為兩個相同的有色對象將具有相似的值。

      該電路還與一個兩行字符LCD顯示器相連。LCD的引腳3連接到10千歐(VR1)電位計,以在05V之間調節電壓,以改變LCD模塊上顯示的字符的對比度。

      數據包括到LCD11-14)的引腳D4D7的四線連接。引腳15連接到+ 5V,用于LCD的背光,引腳16通過電阻R2接地。

      在這里,我們使用的是四線數據連接,而不是八線數據連接。因此,程序必須在兩個連續的寫操作中發送命令和地址值。使用四線連接可以節省微控制器上的引腳。

      4中顯示了被檢測并顯示在LCD上的淡黃色物體以及信號值。

      4ab):淡黃色物體的檢測

      對芯片進行編程

      該單元的程序(colour_sense.bas)是在Oshon AVR Simulator IDE上開發的。該軟件有助于開發項目。

      完成編碼(用BASIC編寫)后,編譯代碼或將生成的十六進制文件加載到Arduino Uno板上的ATmega328P芯片中。Xloader程序用于加載十六進制文件。執行Xloader程序后,將打開一個窗口,如圖5所示。為Arduino Uno板連接的USB插座指定COM端口號??梢詮?span>PC /筆記本電腦上Windows上的設備管理器中找到此號碼。

      XLoader窗口瀏覽十六進制代碼,如圖5所示,然后按上載按鈕。加載代碼后,從筆記本電腦上斷開Arduino板的連接,然后將9V適配器連接到其DC插座(或將5V電源連接到其5V和接地引腳)。

      5Xloader窗口

      建設與測試

      6中顯示了用于顏色識別的PCB布局,圖7中顯示了其組件布局。在PCB上組裝電路后,將其封裝在合適的盒子中。將傳感器模塊和LCD固定在前面板上,并將電線連接到PCB上的相應連接器。

      6:顏色識別的PCB布局

      7PCB的組件布局

      請輸入搜索關鍵字

      確定
      色鲁99热99re超碰精品_91精品一区二区三区无码吞精_亚洲国产欧洲综合997久久_一级a性色生活片久久无
      <progress id="jlsnq"><code id="jlsnq"></code></progress>

      <strong id="jlsnq"><del id="jlsnq"></del></strong>
        <mark id="jlsnq"></mark>

      <legend id="jlsnq"><table id="jlsnq"></table></legend>
      <small id="jlsnq"></small>
    1. <ruby id="jlsnq"><table id="jlsnq"></table></ruby>

        <strong id="jlsnq"></strong>