99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

顏色傳感器DIY圖解

454398 ? 來源:wv ? 2019-08-30 10:57 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

第1步:BoM

Arduino

RGB LED

光敏電阻

10kΩ電阻

3x100Ω電阻器

跳線

面包板電線

步驟2:連接RGB LED

這將是我們電路的發(fā)射器部分發(fā)出不同的顏色,這些顏色將從物體反彈,通過光學(xué)定律將被檢測到我們的光傳感器

*將引腳2,最長引腳連接到Arduino上的GND引腳。

*連接引腳1, R GB的紅色LED LED指向Arduino上的引腳5。

*將引腳3,R G B LED的貪婪色LED連接到Arduino上的引腳6。

*將引腳4,RG B LED的藍色LED連接到Arduino上的引腳9。

您會注意到所有這些都插入標有tilda符號“?”的PWM引腳,這樣我們就可以獨立控制每個LED的亮度。

步驟3:連接光電傳感器

來自發(fā)射器(RGB)LED的反射光從中彈回光傳感器將讀取任何物體,光電傳感器將使用校準值來找到特定顏色的各個RGB顏色值。

確保將光傳感器移近發(fā)射器。

*將其中一個引腳(稱為光纖傳感器的引腳1)連接到Arduino上的GND引腳

*將光電傳感器的引腳2連接到上面的3.3V引腳Arduino的。

*將光電傳感器的引腳2連接到Arduino上的A0引腳。

你會注意到最后兩條接線都是平行的。這是因為我們正在制作一個分壓器,以便在反射光強度發(fā)生變化時獲得變化的電壓讀數(shù)。

步驟4:代碼

// Define colour sensor LED pins int ledArray[] = {5,6,9}; // boolean to know if the balance has been set

boolean balanceSet = false; //place holders for colour detected

int red = 0;

int green = 0;

int blue = 0; //floats to hold colour arrays

float colourArray[] = {0,0,0};

float whiteArray[] = {0,0,0};

float blackArray[] = {0,0,0}; //place holder for average

int avgRead; void setup(){

//setup the outputs for the colour sensor

pinMode(2,OUTPUT);

pinMode(3,OUTPUT);

pinMode(4,OUTPUT);

//begin serial communication

Serial.begin(9600); }

void loop(){ checkBalance();

checkColour();

printColour();

}

void checkBalance(){

//check if the balance has been set, if not, set it

if(balanceSet == false){

setBalance();

}

}

void setBalance(){

//set white balance

delay(5000); //delay for five seconds, this gives us time to get a white sample in front of our sensor

//scan the white sample.

//go through each light, get a reading, set the base reading for each colour red, green, and blue to the white array

for(int i = 0;i《=2;i++){

digitalWrite(ledArray[i],HIGH);

delay(100);

getReading(5); //number is the number of scans to take for average, this whole function is redundant, one reading works just as well.

whiteArray[i] = avgRead;

digitalWrite(ledArray[i],LOW);

delay(100);

}

//done scanning white, now it will pulse blue to tell you that it is time for the black (or grey) sample.

//set black balance

delay(5000); //wait for five seconds so we can position our black sample

//go ahead and scan, sets the colour values for red, green, and blue when exposed to black

for(int i = 0;i《=2;i++){

digitalWrite(ledArray[i],HIGH);

delay(100);

getReading(5);

blackArray[i] = avgRead;

//blackArray[i] = analogRead(2);

digitalWrite(ledArray[i],LOW);

delay(100);

}

//set boolean value so we know that balance is set

balanceSet = true;

delay(5000); //delay another 5 seconds to let us catch up

} void checkColour(){

for(int i = 0;i《=2;i++){

digitalWrite(ledArray[i],HIGH); //turn or the LED, red, green or blue depending which iteration

delay(100); //delay to allow CdS to stabalize, they are slow

getReading(5); //take a reading however many times

colourArray[i] = avgRead; //set the current colour in the array to the average reading

float greyDiff = whiteArray[i] - blackArray[i]; //the highest possible return minus the lowest returns the area for values in between

colourArray[i] = (colourArray[i] - blackArray[i])/(greyDiff)*255; //the reading returned minus the lowest value divided by the possible range multiplied by 255 will give us a value roughly between 0-255 representing the value for the current reflectivity(for the colour it is exposed to) of what is being scanned

digitalWrite(ledArray[i],LOW); //turn off the current LED

delay(100);

}

}

void getReading(int times){

int reading;

int tally=0;

//take the reading however many times was requested and add them up

for(int i = 0;i 《 times;i++){

reading = analogRead(0);

tally = reading + tally;

delay(10);

}

//calculate the average and set it

avgRead = (tally)/times;

}

//prints the colour in the colour array, in the next step, we will send this to processing to see how good the sensor works.

void printColour(){

Serial.print(“R = ”);

Serial.println(int(colourArray[0]));

Serial.print(“G = ”);

Serial.println(int(colourArray[1]));

Serial.print(“B = ”);

Serial.println(int(colourArray[2]));

//delay(2000);

}

步驟5:校準

首先準備一張黑白紙上傳代碼。

上傳代碼后,您會注意到在程序運行的前5秒內(nèi),RGB LED會發(fā)出各種顏色。在前5秒鐘,在LED和光電傳感器上放置一張黑紙。然后在接下來的5秒鐘內(nèi)將紙張切換到白紙上。

編寫代碼,使前10秒為校準周期。

第6步:測試并享受!

取出不同顏色的紙張并進行測試。它會將各個R,G,B值打印到屏幕上。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 顏色傳感器
    +關(guān)注

    關(guān)注

    2

    文章

    99

    瀏覽量

    18558
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    新品上市丨阿童木CE系列顏色傳感器

    導(dǎo)語在工業(yè)自動化領(lǐng)域,顏色檢測的精度與效率直接影響產(chǎn)品品質(zhì)與產(chǎn)線效能。阿童木智能科技推出CE系列高速智能型數(shù)字顏色傳感器,以創(chuàng)新雙模式檢測邏輯與柔性化工業(yè)設(shè)計,為多行業(yè)提供穩(wěn)定可靠的顏色
    的頭像 發(fā)表于 06-11 16:11 ?644次閱讀
    新品上市丨阿童木CE系列<b class='flag-5'>顏色</b><b class='flag-5'>傳感器</b>

    顏色傳感器識別紡織布條字母定位裁切# 顏色傳感器

    傳感器
    阿童木(廣州)智能科技有限公司
    發(fā)布于 :2025年05月29日 14:36:53

    光譜傳感器的用途

    光譜傳感器是一種高科技設(shè)備,它通過測量物體的光譜特征,能夠更準確地判斷物體的顏色、成分及其他相關(guān)信息。光譜傳感器的用途非常廣泛,涵蓋了許多重要領(lǐng)域,以下是對其主要用途的詳細歸納:
    的頭像 發(fā)表于 01-27 15:31 ?725次閱讀

    光譜傳感器可以做什么

    光譜傳感器是一種能夠檢測多種顏色和光譜信息的傳感器,通過測量物體的光譜特征,可以實現(xiàn)對物體的顏色、成分等屬性的準確判斷。以下是對光譜傳感器
    的頭像 發(fā)表于 01-27 14:19 ?771次閱讀

    【CW32模塊使用】TCS34725顏色識別傳感器

    本模塊是基于AMS的TCS3472XFN彩色光數(shù)字轉(zhuǎn)換為核心的顏色傳感器,傳感器提供紅色,綠色,藍色(RGB)和清晰光感應(yīng)值的數(shù)字輸出。集成紅外阻擋濾光片可最大限度地減少入射光的紅外
    的頭像 發(fā)表于 12-30 11:28 ?751次閱讀
    【CW32模塊使用】TCS34725<b class='flag-5'>顏色</b>識別<b class='flag-5'>傳感器</b>

    如何用SS1系列顏色傳感器示教多通道顏色?

    基于白色LED光源的特性,深視智能SS1系列顏色傳感器突破了傳統(tǒng)單色RGB、融合光RGB的波長限制,將發(fā)射波長的范圍覆蓋到整個可見光譜,最大支持檢測16種顏色。那么,我們?nèi)绾卫肧S1系列顏色
    的頭像 發(fā)表于 12-23 08:17 ?684次閱讀
    如何用SS1系列<b class='flag-5'>顏色</b><b class='flag-5'>傳感器</b>示教多通道<b class='flag-5'>顏色</b>?

    阿童木顏色傳感器 CL4 在數(shù)控機床不銹鋼鋼管檢測應(yīng)用案例

    )。這要求傳感器精度高、反應(yīng)快,且能適應(yīng)鋼管可能的傾斜與距離變化。三、解決方案采用阿童木顏色傳感器CL4。其內(nèi)置白色LED與自定義光接收元件,依目標外觀(顏色)檢測
    的頭像 發(fā)表于 12-10 16:08 ?479次閱讀
    阿童木<b class='flag-5'>顏色</b><b class='flag-5'>傳感器</b> CL4 在數(shù)控機床不銹鋼鋼管檢測應(yīng)用案例

    如何用SS1系列顏色傳感器設(shè)置目標顏色?

    基于白色LED光源的特性,深視智能SS1系列顏色傳感器突破了傳統(tǒng)單色RGB、融合光RGB的波長限制,將發(fā)射波長的范圍覆蓋到整個可見光譜,最大支持檢測16種顏色。那么,我們?nèi)绾卫?b class='flag-5'>顏色
    的頭像 發(fā)表于 11-19 01:04 ?771次閱讀
    如何用SS1系列<b class='flag-5'>顏色</b><b class='flag-5'>傳感器</b>設(shè)置目標<b class='flag-5'>顏色</b>?

    強色來襲!深視智能全新產(chǎn)品線——顏色傳感器SS1系列新品上市!

    全新產(chǎn)品線·顏色傳感器依托深視智能10年研發(fā)能力,向通用傳感器之路邁進!深視智能正式推出全新產(chǎn)品線——顏色傳感器SS系列!新一代
    的頭像 發(fā)表于 11-05 08:05 ?1061次閱讀
    強色來襲!深視智能全新產(chǎn)品線——<b class='flag-5'>顏色</b><b class='flag-5'>傳感器</b>SS1系列新品上市!

    低功耗4G模組:tcs3472顏色傳感器示例

    ?今天我們學(xué)習(xí)合宙低功耗4G模組Air780EP的LuatOS開發(fā)tcs3472示例。 一、簡介 tcs3472顏色傳感器能夠讀取照射到的物體的RGB三種數(shù)值,從而識別顏色 關(guān)聯(lián)文檔和使用工
    的頭像 發(fā)表于 10-21 07:07 ?751次閱讀
    低功耗4G模組:tcs3472<b class='flag-5'>顏色</b><b class='flag-5'>傳感器</b>示例

    光電式傳感器的功能有哪些

    能夠檢測光的存在或變化,這是其最基本的功能。 光強度測量 :通過測量光的強度,光電傳感器可以用于光照度測量。 顏色識別 :某些光電傳感器能夠區(qū)分不同顏色的光,用于
    的頭像 發(fā)表于 09-23 09:12 ?1608次閱讀

    在RGB和XYZ顏色傳感器之間進行選擇,以實現(xiàn)自適應(yīng)照明調(diào)節(jié)

    電子發(fā)燒友網(wǎng)站提供《在RGB和XYZ顏色傳感器之間進行選擇,以實現(xiàn)自適應(yīng)照明調(diào)節(jié).pdf》資料免費下載
    發(fā)表于 08-26 09:30 ?0次下載
    在RGB和XYZ<b class='flag-5'>顏色</b><b class='flag-5'>傳感器</b>之間進行選擇,以實現(xiàn)自適應(yīng)照明調(diào)節(jié)

    OPT4048 高速高精度三色 XYZ 顏色傳感器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《OPT4048 高速高精度三色 XYZ 顏色傳感器數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 08-12 10:46 ?0次下載
    OPT4048 高速高精度三色 XYZ <b class='flag-5'>顏色</b><b class='flag-5'>傳感器</b>數(shù)據(jù)表

    OPT4060高速高靈敏度RGBW顏色傳感器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《OPT4060高速高靈敏度RGBW顏色傳感器數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 08-09 10:23 ?1次下載
    OPT4060高速高靈敏度RGBW<b class='flag-5'>顏色</b><b class='flag-5'>傳感器</b>數(shù)據(jù)表