在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

顏色傳感器DIY圖解

454398 ? 來源:wv ? 2019-08-30 10:57 ? 次閱讀

第1步:BoM

Arduino

RGB LED

光敏電阻

10kΩ電阻

3x100Ω電阻器

跳線

面包板電線

步驟2:連接RGB LED

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

*將引腳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:連接光電傳感器

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

確保將光傳感器移近發射器。

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

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

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

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

步驟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秒內,RGB LED會發出各種顏色。在前5秒鐘,在LED和光電傳感器上放置一張黑紙。然后在接下來的5秒鐘內將紙張切換到白紙上。

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

第6步:測試并享受!

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 顏色傳感器
    +關注

    關注

    2

    文章

    96

    瀏覽量

    18195
收藏 人收藏

    評論

    相關推薦

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

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

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

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

    如何用SS1系列顏色傳感器設置目標顏色

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

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

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

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

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

    在RGB和XYZ顏色傳感器之間進行選擇,以實現自適應照明調節

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

    OPT4048 高速高精度三色 XYZ 顏色傳感器數據表

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

    OPT4060高速高靈敏度RGBW顏色傳感器數據表

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

    顏色識別傳感器:精準捕捉世界的每一抹色彩

    ?顏色識別傳感器作為現代工業、機器視覺、自動化控制等領域的重要設備,其技術的發展和應用對于提升生產效率、保障產品質量具有重要意義。本文將從顏色識別傳感器的原理、結構組成、應用以及選型等
    的頭像 發表于 07-21 16:03 ?794次閱讀
    <b class='flag-5'>顏色</b>識別<b class='flag-5'>傳感器</b>:精準捕捉世界的每一抹色彩

    阿童木顏色傳感器在車身顏色識別中的應用

    傳感器
    阿童木(廣州)智能科技有限公司
    發布于 :2024年03月12日 15:16:16

    數字RGBW-IR顏色傳感器WH3620規格書

    電子發燒友網站提供《數字RGBW-IR顏色傳感器WH3620規格書.pdf》資料免費下載
    發表于 03-06 15:24 ?2次下載

    顏色傳感器實時檢測轉動軸轉向

    摘要 本案例描述了如何利用顏色傳感器來檢測轉動軸的轉向。河北省客戶提出了一個問題,希望能夠判斷他們的轉向軸是正轉還是反轉,轉速并不快。阿童木工程師提供解決方案,通過在圓柱體上貼上三種不同顏色的標記
    的頭像 發表于 02-26 13:52 ?382次閱讀
    <b class='flag-5'>顏色</b><b class='flag-5'>傳感器</b>實時檢測轉動軸轉向

    阿童木顏色傳感器應用:汽車車身顏色識別

    引言 隨著科技的不斷進步,汽車制造業也在不斷迭代升級,全自動化生產技術成為現代汽車生產的主流。本文將深入探討某大型汽車生產企業在其全國生產基地中,采用阿童木顏色傳感器(CL2)對車身顏色進行識別
    的頭像 發表于 01-26 14:45 ?478次閱讀
    阿童木<b class='flag-5'>顏色</b><b class='flag-5'>傳感器</b>應用:汽車車身<b class='flag-5'>顏色</b>識別

    阿童木顏色傳感器應用汽車車漆顏色判斷

    傳感器應用
    阿童木(廣州)智能科技有限公司
    發布于 :2024年01月26日 14:32:03
    主站蜘蛛池模板: 一级午夜免费视频 | 岛国大片在线播放 | 国产巨大bbbb俄罗斯 | 韩国理论三级在线观看视频 | 国产亚洲美女精品久久久久狼 | 九九热精品视频在线播放 | 欧美一区中文字幕 | 夜夜操天天干 | 天天射夜夜骑 | 毛片毛多 | 天天视频免费观看高清影视 | 三级国产| 欧美成人精品一区二三区在线观看 | 亚洲午夜大片 | 一区二区三区高清在线观看 | 毛片免费网 | 色狠狠综合网 | bt在线www天堂资源网 | 嗯好舒服好爽好快好大 | 欧美色图中文字幕 | 国产精品视频一区二区三区 | 台湾一级毛片永久免费 | 在线黄视频 | 天堂网在线.www天堂在线资源 | 秋霞一级特黄真人毛片 | 奇米第四狠狠777高清秒播 | 最近最新中文字幕在线第一页 | 色婷婷基地 | 婷婷色六月 | 又大又粗进出白浆直流动态图 | 国产在线播 | 欧美成人免费午夜全 | 牛牛精品 | 丁香婷婷综合五月六月 | 亚洲狠狠97婷婷综合久久久久 | 黄字幕网| 天堂网色| 天天色成人| 在线播放一区二区精品产 | 一区二区三区无码高清视频 | 九九九色 |