chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

Arduino顏色選擇器的制作

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

掃碼添加小助手

加入工程師交流群

步驟1:零件清單

Arduino顏色選擇器的制作

對于此項(xiàng)目,我們需要:

TCS34725 RGB顏色傳感器對于Arduino by DFRobot

帶有RGB字體顯示的I2C 16x2 Arduino LCD DFRobot

DFRobino的DFRduino Pro Mini V1.3(8M3.3V328)

2 x CR2032電池座

滑動(dòng)開關(guān)

RGB LED模塊

電線

3x7 cm原型PCB

男性和母針頭

2x M2x20螺絲和螺母

工具:

3D打印機(jī),如果你不擁有它,你可以從Shapeways獲得印花盒

菲利普斯螺絲刀

烙鐵

焊接

步驟2:原理圖

請參閱下面打開視頻的裝配部分和示意圖,了解如何

使用上面提供的原理圖進(jìn)行正確接線。

2》

在測量完零件后,是時(shí)候設(shè)計(jì)一個(gè)3D外殼并進(jìn)行打印了!

設(shè)計(jì)

以下是我在tinkercad上的設(shè)計(jì)鏈接:https://www.tinkercad.com/things/dG47Pr28uwx

上面的內(nèi)容設(shè)計(jì)非常適合上面列出的所有組件。

前部將固定LCD屏幕和顏色傳感器。

主要的3x7 cm PCB將容納DFRDuino Pro Mini,電池座和3個(gè)按鈕,將是從內(nèi)部擰到后部。

RGB LED將位于后部頂部內(nèi)部。

電源開關(guān)將安裝在后部的小孔中。

打印

準(zhǔn)備打印的3D模型是av適用于Thingiverse:https://www.thingiverse.com/thing:3223709

打印設(shè)置可能因打印機(jī)而異。

電池蓋部件和前部需要支撐因?yàn)榍安坑幸粋€(gè)內(nèi)置的距離,可以提供顏色傳感器和樣品之間的距離。

如果你沒有3D打印機(jī),你可以從Shapeways獲得印刷品:點(diǎn)擊這里

匯編

有關(guān)匯編說明,請參閱開頭提供的視頻的匯編部分。

第4步:源代碼

GitHub上免費(fèi)提供源代碼:https://github.com/alojzjakob/Arduino-Color-Picker

非常歡迎您改進(jìn)代碼,因?yàn)樘峁┑拇a只是起點(diǎn),但效果很好。

這個(gè)項(xiàng)目使用這兩個(gè)特定的庫,所以一定要把它們添加到你的Arduino IDE中:

https://github.com/bearwaterfall/DFRobot_LCD-master/tree/master

https://github.com/DFRobot/DFRobot_TCS34725/raw/master/DFRobot_TCS34725.rar

#include

#include

#define ledPin 12

#define redpin 3

#define greenpin 5

#define bluepin 6

const int8_t button1Pin = 7; //1

const int8_t button2Pin = 8; //2

const int8_t button3Pin = 9; //3

int8_t button1State = 0;

int8_t button2State = 0;

int8_t button3State = 0;

#define ACTIVATED LOW

// for a common anode LED, connect the common pin to +5V

// for common cathode, connect the common to ground

// set to false if using a common cathode LED

#define commonAnode true

// our RGB -》 eye-recognized gamma color

byte gammatable[256];

DFRobot_LCD lcd(16,2);

DFRobot_TCS34725 tcs = DFRobot_TCS34725(0x50, TCS34725_GAIN_60X);

bool ledEnabled=false;

int lightsMode=0;

// make some custom characters

byte light_on[8] = {

0b00100,

0b00100,

0b01110,

0b11111,

0b11111,

0b01110,

0b00000,

0b10101

};

byte light_off[8] = {

0b00100,

0b00100,

0b01110,

0b10001,

0b10001,

0b01110,

0b00000,

0b00000

};

byte rgb_on[8] = {

0b00000,

0b10101,

0b00000,

0b01110,

0b01110,

0b01110,

0b11111,

0b11111

};

byte rgb_off[8] = {

0b00000,

0b00000,

0b00000,

0b01110,

0b01010,

0b01010,

0b10001,

0b11111

};

void setup() {

lcd.init();

// create a new character

lcd.customSymbol(0, light_on);

lcd.customSymbol(1, light_off);

lcd.customSymbol(2, rgb_on);

lcd.customSymbol(3, rgb_off);

pinMode(ledPin, OUTPUT);

digitalWrite(ledPin, LOW);

pinMode(button1Pin, INPUT);

pinMode(button2Pin, INPUT);

pinMode(button3Pin, INPUT);

digitalWrite(button1Pin, HIGH);

digitalWrite(button2Pin, HIGH);

digitalWrite(button3Pin, HIGH);

pinMode(redpin, OUTPUT);

pinMode(greenpin, OUTPUT);

pinMode(bluepin, OUTPUT);

analogWrite(redpin,0);

analogWrite(greenpin,0);

analogWrite(bluepin,0);

// thanks PhilB for this gamma table! it helps convert RGB colors to what humans see

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

float x = i;

x /= 255;

x = pow(x, 2.5);

x *= 255;

if (commonAnode) {

gammatable[i] = 255 - x;

} else {

gammatable[i] = x;

}

}

}

void loop() {

button1State = digitalRead(button1Pin);

button2State = digitalRead(button2Pin);

button3State = digitalRead(button3Pin);

int btn=0;

if(button1State==LOW){

btn=1;

}

if(button2State==LOW){

btn=2;

}

if(button3State==LOW){

btn=3;

lightsMode++;

if(lightsMode==4){

lightsMode=0;

}

}

uint16_t clear, red, green, blue;

tcs.getRGBC(&red, &green, &blue, &clear);

// Figure out some basic hex code for visualization

uint32_t sum = clear;

float r, g, b;

r = red; r /= sum;

g = green; g /= sum;

b = blue; b /= sum;

r *= 255; g *= 255; b *= 255;

String redHex,greenHex,blueHex;

redHex = String((int)r, HEX);

greenHex = String((int)g, HEX);

blueHex = String((int)b, HEX);

lcd.setRGB(r,g,b); //Set lcd backlight RGB Value

lcd.setCursor(0,0); // print values on lcd

lcd.print(“#”); lcd.print(redHex); lcd.print(greenHex); lcd.print(blueHex); lcd.print(“ ”);

lcd.setCursor(0,1);

lcd.print(“rgb(”);

lcd.print((int)r); lcd.print(“,”);

lcd.print((int)g); lcd.print(“,”);

lcd.print((int)b); lcd.print(“) ”);

if(lightsMode==0){

ledEnabled=false;

lcd.setCursor(15,0);

lcd.write((unsigned char)1);//light off

lcd.setCursor(14,0);

lcd.write((unsigned char)2);//rgb led on

//Set the color of RGB led indicator

analogWrite(redpin, round(gammatable[(int)r]/4));

analogWrite(greenpin, round(gammatable[(int)g]/4));

analogWrite(bluepin, round(gammatable[(int)b]/4));

}

if(lightsMode==1){

ledEnabled=true;

lcd.setCursor(15,0);

lcd.write((unsigned char)0);//light on

lcd.setCursor(14,0);

lcd.write((unsigned char)2);//rgb led on

//Set the color of RGB led indicator

analogWrite(redpin, round(gammatable[(int)r]/4));

analogWrite(greenpin, round(gammatable[(int)g]/4));

analogWrite(bluepin, round(gammatable[(int)b]/4));

}

if(lightsMode==2){

ledEnabled=true;

lcd.setCursor(15,0);

lcd.write((unsigned char)0);//light on

lcd.setCursor(14,0);

lcd.write((unsigned char)3);//rgb led off

//Set the color of RGB led indicator

analogWrite(redpin, 255);

analogWrite(greenpin, 255);

analogWrite(bluepin, 255);

}

if(lightsMode==3){

ledEnabled=false;

lcd.setCursor(15,0);

lcd.write((unsigned char)1);//light off

lcd.setCursor(14,0);

lcd.write((unsigned char)3);//rgb led off

//Set the color of RGB led indicator

analogWrite(redpin, 255);

analogWrite(greenpin, 255);

analogWrite(bluepin, 255);

}

if(ledEnabled){

digitalWrite(ledPin, HIGH);

}else{

digitalWrite(ledPin, LOW);

}

//delay(10);

}

第5步:享受您的新工具+改進(jìn)計(jì)劃

現(xiàn)在你可以到處選擇一些漂亮的顏色:)

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

    關(guān)注

    190

    文章

    6509

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    Texas Instruments SN74AHC257/SN74AHC257-Q1 2線至1線數(shù)據(jù)選擇器/多路復(fù)用器數(shù)據(jù)手冊

    Texas Instruments SN74AHC257/SN74AHC257-Q1 2線至1線數(shù)據(jù)選擇器/多路復(fù)用器是具有三態(tài)輸出的四通道雙輸入數(shù)據(jù)選擇器/多路復(fù)用器。所有通道均由共享A/B和OE
    的頭像 發(fā)表于 08-01 11:36 ?759次閱讀
    Texas Instruments SN74AHC257/SN74AHC257-Q1 2線至1線數(shù)據(jù)<b class='flag-5'>選擇器</b>/多路復(fù)用器數(shù)據(jù)手冊

    Texas Instruments SN74LVC158A四路2轉(zhuǎn)1線路數(shù)據(jù)選擇器/多路復(fù)用器數(shù)據(jù)手冊

    Texas Instruments SN74LVC158A四路2轉(zhuǎn)1線路數(shù)據(jù)選擇器/多路復(fù)用器包含四個(gè)2轉(zhuǎn)1數(shù)字多路復(fù)用器,具有反相輸出。選通 (G) 輸入在低電平時(shí)啟用所有輸出,在高電平時(shí)強(qiáng)制所有
    的頭像 發(fā)表于 07-23 11:20 ?410次閱讀
    Texas Instruments SN74LVC158A四路2轉(zhuǎn)1線路數(shù)據(jù)<b class='flag-5'>選擇器</b>/多路復(fù)用器數(shù)據(jù)手冊

    Texas Instruments SN74LVC258A四路2轉(zhuǎn)1線路數(shù)據(jù)選擇器/多路復(fù)用器數(shù)據(jù)手冊

    Texas Instruments SN74LVC258A四路2轉(zhuǎn)1線路數(shù)據(jù)選擇器/多路復(fù)用器包含四個(gè)2轉(zhuǎn)1數(shù)字多路復(fù)用器,具有反相輸出。輸出使能 (OE) 輸入在低電平時(shí)使能所有輸出,在高電平
    的頭像 發(fā)表于 07-23 09:49 ?354次閱讀
    Texas Instruments SN74LVC258A四路2轉(zhuǎn)1線路數(shù)據(jù)<b class='flag-5'>選擇器</b>/多路復(fù)用器數(shù)據(jù)手冊

    Texas Instruments SN74LV8T157-EP數(shù)據(jù)選擇器/多路復(fù)用器數(shù)據(jù)手冊

    Texas Instruments SN74LV8T157-EP數(shù)據(jù)選擇器/多路復(fù)用器包含四個(gè)數(shù)據(jù)選擇器/多路復(fù)用器,用于選擇兩個(gè)數(shù)據(jù)源中的一個(gè)。同一地址控制所有通道、選擇選通(G)輸
    的頭像 發(fā)表于 07-05 10:18 ?450次閱讀
    Texas Instruments SN74LV8T157-EP數(shù)據(jù)<b class='flag-5'>選擇器</b>/多路復(fù)用器數(shù)據(jù)手冊

    Texas Instruments SN74HCT157四通道二對一線路數(shù)據(jù)選擇器/多路復(fù)用器數(shù)據(jù)手冊

    Texas Instruments SN74HCT157四通道二對一線路數(shù)據(jù)選擇器/多路復(fù)用器包含驅(qū)動(dòng)和逆變器,為四個(gè)輸出柵極提供完整的數(shù)據(jù)選擇。Texas Instruments SN74HCT157中提供單獨(dú)的選通(/G)
    的頭像 發(fā)表于 07-04 09:32 ?1095次閱讀
    Texas Instruments SN74HCT157四通道二對一線路數(shù)據(jù)<b class='flag-5'>選擇器</b>/多路復(fù)用器數(shù)據(jù)手冊

    Texas Instruments SN74AC153-Q1雙路4線至1線數(shù)據(jù)選擇器/多路復(fù)用器數(shù)據(jù)手冊

    Texas Instruments SN74AC153-Q1雙路4線至1線數(shù)據(jù)選擇器/多路復(fù)用器是一款雙路數(shù)據(jù)選擇器/多路復(fù)用器,包含完整的二進(jìn)制解碼,用于選擇四個(gè)數(shù)據(jù)源中的一個(gè)。相同的地址
    的頭像 發(fā)表于 07-02 14:49 ?459次閱讀
    Texas Instruments SN74AC153-Q1雙路4線至1線數(shù)據(jù)<b class='flag-5'>選擇器</b>/多路復(fù)用器數(shù)據(jù)手冊

    HarmonyOS實(shí)戰(zhàn):自定義時(shí)間選擇器

    前言 最近在日常鴻蒙開發(fā)過程中,經(jīng)常會使用一些時(shí)間選擇器,鴻蒙官方提供的時(shí)間選擇器滿足不了需求,所以自己動(dòng)手自定義一些經(jīng)常會使用到的時(shí)間選擇器,希望能幫到你,建議點(diǎn)贊收藏! 實(shí)現(xiàn)效果 需求分析 默認(rèn)
    的頭像 發(fā)表于 06-09 15:51 ?399次閱讀
    HarmonyOS實(shí)戰(zhàn):自定義時(shí)間<b class='flag-5'>選擇器</b>

    PCB顏色代表什么顏色?如何選擇PCB顏色?一文幫你快速搞定

    今天給大家介紹的是:PCB顏色,包括PCB顏色差異、如何選擇PCB顏色?為什么大多數(shù)PCB都是綠色? 一、PCB顏色是什么?我們看到的PC
    發(fā)表于 04-08 11:22

    數(shù)字電路—13、數(shù)據(jù)選擇器

    數(shù)據(jù)選擇器定義:在多路數(shù)據(jù)傳送過程中,能夠根據(jù)需要將其中任意一路挑選出來的電路,叫做數(shù)據(jù)選擇器, 也稱為多路選擇器,其作用相當(dāng)于多路開關(guān)。
    發(fā)表于 03-26 11:13

    顏色如何影響PCBA加工成本?一文帶你揭秘

    一站式PCBA智造廠家今天為大家講講影響PCBA板顏色選擇的因素有哪些?PCBA板顏色對PCBA加工成本的影響。在PCBA制造過程中,顏色是PCB板設(shè)計(jì)的一個(gè)可選項(xiàng),通常并不影響電路板
    的頭像 發(fā)表于 03-10 09:27 ?558次閱讀

    DLP4710EVM-LC官網(wǎng)的固件選擇器提供的red only版本是使得PMIC只保持紅色LED的連接嗎?

    官網(wǎng)的固件選擇器提供的red only版本是使得PMIC只保持紅色LED的連接嗎 所以物理上只需連接1個(gè)led硬件對嗎
    發(fā)表于 02-18 08:19

    TMS320C6000 DSP中斷選擇器參考指南

    電子發(fā)燒友網(wǎng)站提供《TMS320C6000 DSP中斷選擇器參考指南.pdf》資料免費(fèi)下載
    發(fā)表于 12-24 17:11 ?0次下載
    TMS320C6000 DSP中斷<b class='flag-5'>選擇器</b>參考指南

    如何選擇PCB顏色

    一、PCB顏色代表什么意思? ? PCB顏色一般是指拿到一塊PCB板時(shí)最直觀看到的板子上的油色,PCB表面的顏色就是阻焊劑的顏色。PCB板染色顏料是一種硬化樹脂,主體樹脂是無色近透明的
    的頭像 發(fā)表于 12-24 11:33 ?1418次閱讀

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

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

    如何用SS1系列顏色傳感設(shè)置目標(biāo)顏色

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