色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

    瀏覽量

    18193
收藏 人收藏

    評論

    相關推薦

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

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

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

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

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

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

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

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

    在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 ?777次閱讀
    <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 ?379次閱讀
    <b class='flag-5'>顏色</b><b class='flag-5'>傳感器</b>實時檢測轉動軸轉向

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

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

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

    傳感器應用
    阿童木(廣州)智能科技有限公司
    發布于 :2024年01月26日 14:32:03
    主站蜘蛛池模板: 国产嫩草在线观看| 黄色a级免费网站| chinese情侣自拍啪hd| 99久久国产视频| 超碰在线 视频| 丰满的美女射精动态图| 国产麻豆剧看黄在线观看 | 日本理论片午午伦夜理片2021| 肉蒲团从国内封禁到日本成经典| 首页 国产 亚洲 中文字幕| 亚洲va在线va天堂XX xX| 伊人草久久| jizzzz亚洲丰满xxxx| 丰满少妇69激懒啪啪无码| 国产学生无码中文视频一区| 久久久久久久久久综合情日本| 欧美激情视频一区二区| 忘忧草秋观看未满十八| 伊人久久久久久久久香港| abp-146| 国产精品亚洲精品久久国语| 国色精品VA在线观看免费视频| 两性午夜色视频免费网站| 日日日夜夜在线视频| 亚洲精品AV无码喷奶水糖心| 自慰弄湿白丝袜| 国产AV午夜精品一区二区入口 | 中国xxxxxxxxx孕交| chinese东北夫妻video| 国产成人亚洲精品午夜国产馆| 精品久久久亚洲精品中文字幕| 男人到天堂a线牛叉在线| 神马影院在线eecss伦理片| 一二三四免费中文在线1| thermo脱色摇床安卓下载| 国产偷国产偷亚州清高| 麻豆高潮AV久久久久久久| 手机国产视频福利| 1000视频在线播放| 国产精品视频在线自在线| 麻豆一二三四区乱码|