步驟1:RGB草圖
此步驟說明arduino progra如何m有效,您可以根據(jù)需要跳到下一頁。
基本上,該代碼允許您使用一個(gè)變量而不是三個(gè)變量來控制RGB led的顏色。
大多數(shù)代碼專用于遵循我包含的圖形,它顯示通過混合不同數(shù)量的紅色,綠色和藍(lán)色光而產(chǎn)生的顏色。
程序步驟:
1。讀取電位計(jì)的值
2。將電位計(jì)的值轉(zhuǎn)換為更可用的數(shù)字范圍
3。使用if語句為每種顏色生成紅色,綠色和藍(lán)色模擬值。
您可以復(fù)制并粘貼代碼或下載包含的zip文件。
int rpin = 6;//can be any PWM pin
int bpin = 3;//can be any PWM pin
int gpin = 5;//can be any PWM pin
int rcolor = 255;// holds the coresponding brightness for each color
int gcolor = 255;
int bcolor = 255;
int start = 100;// used for the option startup code
int potv = 0;// Potentiometer voltage
int color =0;//mapped pot value
void setup(){
pinMode(rpin, OUTPUT);
pinMode(gpin, OUTPUT);
pinMode(bpin, OUTPUT);
// color check leave this commented out unless you want to
// have the flashligth cycle through the colors at the beging
// //red
// analogWrite(rpin, 0);
// analogWrite(gpin, 255);
// analogWrite(bpin, 255);
// delay(start);
// //yellow
// analogWrite(rpin, 0);
// analogWrite(gpin, 0);
// analogWrite(bpin, 255);
// delay(start);
// //green
// analogWrite(rpin, 255);
// analogWrite(gpin, 0);
// analogWrite(bpin, 255);
// delay(start);
// //cyan
// analogWrite(rpin, 255);
// analogWrite(gpin, 0);
// analogWrite(bpin, 0);
// delay(start);
// //blue
// analogWrite(rpin, 255);
// analogWrite(gpin, 255);
// analogWrite(bpin, 0);
// delay(start);
// //magenta
// analogWrite(rpin, 0);
// analogWrite(gpin, 255);
// analogWrite(bpin, 0);
}
void loop(){
potv = analogRead(A0); //read Potentiometer position
color=map(potv,0,1023,0,1530);// change input number range
if(color》= 0 && color 《=255){
//red to yellow
gcolor = map(color,0,255,255,0);
analogWrite(rpin, 0);
analogWrite(gpin, gcolor);
analogWrite(bpin, 255);
}
if(color》= 255 && color 《=510){
//yellow to green
rcolor = (color - 255);
analogWrite(rpin, rcolor);
analogWrite(gpin, 0);
analogWrite(bpin, 255);
}
if(color》= 510 && color 《=765){
//green to cyan
bcolor = (color - 510);
bcolor = map(bcolor,0,255,255,0);
analogWrite(rpin, 255);
analogWrite(gpin, 0);
analogWrite(bpin, bcolor);
}
if(color》= 765 && color 《=1020){
//cyan to blue
gcolor = (color - 765);
analogWrite(rpin, 255);
analogWrite(gpin, gcolor);
analogWrite(bpin, 0);
}
if(color》= 1020 && color 《=1275){
//blue to magenta
rcolor = (color - 1020);
rcolor = map(rcolor,0,255,255,0);
analogWrite(rpin, rcolor);
analogWrite(gpin, 255);
analogWrite(bpin, 0);
}
if(color》= 1275 && color 《=1530){
//magenta to red
bcolor = (color - 1275);
analogWrite(rpin, 0);
analogWrite(gpin, 255);
analogWrite(bpin, bcolor);
}
}
第2步:上傳程序
使用引導(dǎo)加載程序抓取atmega328并將其插入到Arduino Uno中。
首先制作確保atmega328正在工作,請(qǐng)從Arduino IDE的示例菜單中上傳眨眼草圖。在確認(rèn)您的芯片工作正常后,上傳RGB草圖并從Arduino Uno移除atmega328,以供以后使用。
注意:我最初配置的是我的手電筒的atmega328時(shí)鐘運(yùn)行在其內(nèi)部時(shí)鐘上,盡管最終它確實(shí)起作用了,但這并不是一件容易的事。
步驟3:修改手電筒盒
首先,您必須確定是要使用原始開關(guān)還是將其替換為自己的撥動(dòng)開關(guān)。我更換了開關(guān),是因?yàn)槲也幌雵L試焊接到舊的開關(guān)上。
之后,您可以在電位器上鉆孔,也可以在開關(guān)上鉆孔。確保測(cè)試所有零件是否合適。
接下來,您需要用大功率LED替換原來的燈泡。每個(gè)手電筒都會(huì)有所不同,但是對(duì)于我來說,我卸下了擰緊舊燈泡的燈泡,并用熱膠粘上了新的LED。
最后拿起您的護(hù)舷板并將其切開,以使其適合我喜歡使用的手電筒中
步驟4:放置組件
我以一種非常規(guī)的方式繪制了原理圖,因此,如果您有任何疑問,請(qǐng)?zhí)岢觯覍⒈M力回答。電阻器上的數(shù)字是它們的歐姆值,而22歐姆電阻器對(duì)則是LED的紅色通道。
我強(qiáng)烈建議您在開始將零件焊接到擋板上之前先制定好計(jì)劃。我沒有,起初在將零件安裝到手電筒時(shí)遇到了麻煩。我建議您將所有零件放在板上,然后用膠帶將它們粘下來。然后使用永久性標(biāo)記畫出路徑,計(jì)劃盡可能多的焊接。
步驟5:焊接
現(xiàn)在是焊接的時(shí)候了,希望您的木板要比我的更有條理,但如果有人關(guān)心,那么它可以工作。
要在整個(gè)擋板上走更長(zhǎng)的距離,我想用一塊導(dǎo)線和彎曲導(dǎo)線。焊接后,切掉所有多余的導(dǎo)線,并將已編程的atmega328插入其插座。
請(qǐng)確保仔細(xì)檢查電路,以防止損壞電路。
如果一切正常,請(qǐng)給電路加電以進(jìn)行測(cè)試。
》
第6步:安裝
首先要解決所有問題。我首先安裝了開關(guān)和電位計(jì)。然后,我將9伏電池放入并滑入了護(hù)舷板。如果不合適,可以嘗試向下彎曲一些零件,但是您可能需要將烙鐵放回原處并移動(dòng)一些東西。最后擰上蓋子。
步驟7:用光著色
現(xiàn)在您已經(jīng)建立了手電筒,請(qǐng)打開它并對(duì)其進(jìn)行一些樂趣。
-
手電筒
+關(guān)注
關(guān)注
6文章
108瀏覽量
29140 -
RGB
+關(guān)注
關(guān)注
4文章
803瀏覽量
59638
發(fā)布評(píng)論請(qǐng)先 登錄
QK1209低壓按鍵充電LED驅(qū)動(dòng)IC技術(shù)指南

FRED應(yīng)用:LED手電筒模擬
納祥科技客戶案例:網(wǎng)紅Type-c迷你強(qiáng)光手電筒方案,超210流明輸出

NS4836 1A線性同步移動(dòng)電源管理芯片-帶KEY鍵和手電筒功能中文手冊(cè)

年出口量達(dá)12億的充電便攜手電筒 LED驅(qū)動(dòng)芯片F(xiàn)P7153專注手電筒#LED驅(qū)動(dòng)芯片
單節(jié)鋰電池手電筒專用LED驅(qū)動(dòng)芯片F(xiàn)P7153:高效率同步降壓方案

手電筒控制芯片 LED高亮低亮閃燈 DFN-10L(EP)戶外應(yīng)急燈芯片


FP753單節(jié)鋰電手電筒專用調(diào)光芯片,3A 恒流輸出,LED 手電筒續(xù)航、亮度全面開掛,輕松打造專業(yè)強(qiáng)光手電筒
手電筒控制IC,LED手電筒驅(qū)動(dòng)芯片F(xiàn)P7153同步降壓LED驅(qū)動(dòng)IC應(yīng)用說明與電路設(shè)計(jì)原理

解鎖手電電源驅(qū)動(dòng)板焊接密碼:大研智造激光焊錫機(jī)優(yōu)勢(shì)
三檔手電筒集成IC FS5289數(shù)據(jù)手冊(cè)
適用于車燈,手電筒的多功能LED降壓恒流型芯片
一文搞懂掃描電鏡(SEM)技術(shù)解讀與大功率半導(dǎo)體模塊封裝解析

S8109按鍵亮滅3W手電筒LED驅(qū)動(dòng)IC中文手冊(cè)
基于XBLW TP4056可充電式手電筒解決方案

評(píng)論