創(chuàng)意智能垃圾分類機器人(顏色傳感器)_第1頁
創(chuàng)意智能垃圾分類機器人(顏色傳感器)_第2頁
創(chuàng)意智能垃圾分類機器人(顏色傳感器)_第3頁
創(chuàng)意智能垃圾分類機器人(顏色傳感器)_第4頁
創(chuàng)意智能垃圾分類機器人(顏色傳感器)_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

智能垃圾分類機器人———顏色傳感器測試1.工作原理4.顏色傳感器測試3.準備工作(庫函數(shù)導入)2.硬件連接顏色傳感器測試一、TCS3200顏色傳感器顏色傳感器利用三原色感應原理(1)當知道構成各種顏色的三原色的值,就能夠知道所測試物體的顏色;(2)當選定一個顏色濾波器時,它只允許某種特定的原色通過,阻止其它原色的通過。舉例說明:例如當選擇紅色濾波器時,入射光中只有紅色可以通過,藍色和綠色都被阻止,這樣就可以得到紅色光的光強;同理,選擇其它的濾波器,就可以得到藍色光和綠色光的光強。通過這三個光強值,就可以分析出反射到顏色傳感器上的光的顏色。通常所看到的物體顏色,實際上是物體表面吸收了照射到它上面的白光(日光)中的一部分有色成分,而反射出的另一部分有色光在人眼中的反應。白色是由各種頻率的可見光混合在一起構成的,也就是說白光中包含著各種顏色的色光(如紅R、黃Y、綠G、青V、藍B、紫P)。根據(jù)德國物理學家赫姆霍茲(Helinholtz)的三原色理論可知,各種顏色是由不同比例的三原色(紅、綠、藍)混合而成的。1、什么是三顏色感應原理?序號引腳定義引腳說明1GND接地2LED白光LED燈引腳3S0比例因子選擇輸入腳4S1比例因子選擇輸入腳5VCC5伏電源6OUT輸出端7S2輸出頻率選擇輸入腳8S3輸出頻率選擇輸入腳2、TCS3200顏色傳感器引腳說明顏色傳感器紅藍綠濾波器選通對應表比例因子設置對應表顏色傳感器3、TCS3200顏色傳感器濾波器及比例因子對應表二、

顏色傳感器硬件連接顏色傳感器模塊安裝完成圖顏色傳感器模塊安裝示意圖二、

顏色傳感器硬件連接---以常規(guī)賽為例顏色傳感器模塊與控制板連線圖序號arduinoUNO引腳顏色傳感器模塊引腳10S021S132OUT43S254S36GNDGND7VCCVCCarduinoUNO控制板與顏色傳感器連線表注意:只需接一組VCC和GND即可,另一組可以不接。LED可以不接。

程序下載到機器人后,啟動機器人。方法一:用一張白色的A4紙放在顏色傳感器前端,當顏色傳感器識別到后,拿走該A4紙;方法二:用手遮擋在顏色傳感器前端,當顏色傳感器識別到手后,拿開手。顏色傳感器白平衡校正---使用前從理論上講,白色是由等量的紅色、綠色和藍色混合構成,但在實際應用中,白色中的三原色并不完全相等,并且對TCS3200的光傳感器來說,它對紅、綠、藍這三種基本色的敏感性并不相同,從而導致TCS3200的RGB輸出并不相等,因此在測試前必須對顏色傳感器進行白平衡校正,通過白平衡校正得到RGB比例因子,使得TCS2300對所檢測的“白色”中的三原色相等。白平衡校正原因:白平衡校正方法:導入庫:把右圖中的5個庫函數(shù)文件夾復制到對應arduino目錄下的libraries目錄下。三、

顏色傳感器測試準備工作顏色傳感器測試程序#include"ColSensor.h"ColSensormysensor(0,1,3,4,2,10);//顏色傳感器在板上所對應的引腳口voidCounter(){mysensor.g_count++;//計算1s內的脈沖數(shù),因為對于TCS3200顏色傳感器來說,其對顏色的識別其實就是通過計算1S內傳感器輸出的脈沖數(shù)的比較、計算}voidsetup(){Serial.begin(9600);//設置波特率為9600mysensor.Mode();//初始化顏色傳感器的引腳口

attachInterrupt(0,Counter,RISING);//(外部中斷函數(shù))0;對應的0號引腳;counter:中斷時要執(zhí)行的函數(shù);RISING:表示電平由低電平變?yōu)楦唠娖綍r觸發(fā);

mysensor.Test();//test()函數(shù)為庫里的一個函數(shù),其作用是計算出RGB的比例因子}四、

顏色傳感器測試方法及步驟在顏色傳感器測試過程中,機器人arduino板的下載線要一直與電腦相連。顏色傳感器測試程序voidloop(){mysensor.Get();//獲取顏色傳感器所識別的RGB的三個參數(shù)

Serial.print("R");//在串口上輸出字符“R”Serial.println(mysensor.g_array[0]);//輸出顏色傳感器感應到的色塊對應的紅色的值

Serial.print("B");//在串口上輸出字符“B”Serial.println(mysensor.g_array[1]);//輸出顏色傳感器感應到的色塊對應的藍色的值

Serial.print("G");//在串口上輸出字符“G”Serial.println(mysensor.g_array[2]);//輸出顏色傳感器感應到的色塊對應的綠色的值

Serial.println("END");//R、G、B三個數(shù)值輸出完成后,輸出END表示結束一組數(shù)據(jù)的輸出

delay(1000);//延時1秒}單獨設計一個測試顏色傳感器的程序,將該程序復制到arduino工作區(qū)間;程序上傳到arduino板后,打開串口監(jiān)視器,如右圖。1、測試步驟一:2、測試步驟二----白平衡校正(1)將1張A4白紙(如沒有白紙,可嘗試用手掌代替)放到機器人顏色傳感器前面,如左圖。白平衡顏色傳感器R、G、B值示意圖顏色傳感器白平衡調整示意圖(2)從arduino串口監(jiān)視器獲得R(紅)、G(綠)、B(藍)值,其中3種顏色的值相近,且數(shù)值都在255附近,如右圖。(1)在顏色傳感器前放置一個色塊,以藍色色塊為例:3、測試步驟三:(2)通過串口監(jiān)視器,顯示數(shù)值如右圖說明:如果傳感器正常工作,將來發(fā)現(xiàn)藍色數(shù)值明顯大于其他兩個值(紅、綠)當傳感器前是綠色色塊時:

4、測試步驟四:重復步驟三當傳感器前是紅色色塊時:綠色對應的G數(shù)值比紅色、藍色兩種顏色的值大紅色對應的G數(shù)值比綠色、藍色兩種顏色的值大如果三種色塊在測試時,對應色塊的顏色值明顯大于其他兩種顏色值的話,說明顏色傳感器能正常工作了。5、顏色傳感器測試結果如果采用以上方法對顏色傳感器測試沒有成功,那么可從以下幾方面來查找原因:第一步:檢查硬件連接,即檢查顏色傳感器與機器人接口板和控制板

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論