電子發(fā)燒友App

硬聲App

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

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

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>使用帶有代碼的Arduino UNO進(jìn)行LED漸變

使用帶有代碼的Arduino UNO進(jìn)行LED漸變

2022-11-21 | zip | 0.02 MB | 次下載 | 免費(fèi)

資料介紹

描述

這是我使用Arduino UNO的第一個項(xiàng)目使用給定的代碼,我們可以自動改變 LED 的強(qiáng)度。

此代碼以 255 步和選擇性延遲遞增和遞減 LED 的強(qiáng)度。此代碼8 位模式下使用模擬寫入(PWM)這意味著強(qiáng)度可以控制在 255 個步驟中。我為這個項(xiàng)目嘗試了不同的代碼邏輯。

10mm LED 連接到 Arduino UNO 板上的 10 號引腳。

第一版代碼

此版本中有 2 個while循環(huán)。最初強(qiáng)度很高。因此,第一個 while 循環(huán)用于將強(qiáng)度從 255 減少到 0,延遲為 5 毫秒。

while(intensity != 0)

{

analogWrite(10, intensity);

delay(d);

intensity = intensity - 1;

}

當(dāng)強(qiáng)度變?yōu)?0 并且第二個 while 循環(huán)開始時(shí),此 while 循環(huán)結(jié)束。在這個循環(huán)中,強(qiáng)度從 0 增加到 255。

while((intensity < 255) && (intensity >= 0))

{

analogWrite(10, intensity);

delay(d);

intensity = intensity + 1;

}

int intensity = 255;
int d = 5;
// the setup function runs once when you press reset or power the board
void setup() {
 // initialize digital pin 10 as an output.
 pinMode(10, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
 while(intensity != 0) //this loop is to decrement intensity
 {
   analogWrite(10, intensity);    
   delay(d);  
   intensity = intensity - 1;
 }
 while((intensity < 255) && (intensity >= 0)) //increment intensity
 {
   analogWrite(10, intensity);    
   delay(d);  
   intensity = intensity + 1;    
 }
}

第二版代碼

在這個版本中使用了兩個變量強(qiáng)度標(biāo)志。當(dāng)標(biāo)志變?yōu)?0 時(shí),強(qiáng)度增加。當(dāng)強(qiáng)度變高時(shí),即 255 標(biāo)志變?yōu)?1。當(dāng)標(biāo)志變?yōu)?1 時(shí),強(qiáng)度遞減,依此類推。

int intensity = 0;
int flag = 0;
int d = 5;
void setup() {
 pinMode(10, OUTPUT);
}
void loop() {
 analogWrite(10, intensity);    
 delay(d);  
 if(flag == 0)
   intensity = intensity + 1;
 if(intensity == 255)
   flag = 1;
 if(flag == 1)
   intensity = intensity - 1;
 if(intensity == 0)
   flag = 0;
}

這兩個版本有點(diǎn)長,所以我盡量縮短。第三個版本是結(jié)果。

第三版代碼

在這個版本中使用了abs()強(qiáng)度++ 。強(qiáng)度開始從 -255 增加到 255,然后回到 -255,循環(huán)繼續(xù)。

int intensity = 255;
int d = 5;
void setup() {
 pinMode(10, OUTPUT);
}
void loop() {
   analogWrite(10,abs(intensity));
   delay(d);
   if(intensity++ == 256)
     intensity = -255;
}

代碼的最終版本

這是經(jīng)過所有試驗(yàn)和錯誤后迄今為止最短的代碼。

int intensity = 255;
int
int d = 5;
void setup() {
 pinMode(10, OUTPUT);
}
void loop() {
 analogWrite(10, intensity);
 delay(d);
 intensity = intensity + intensitychange;
 if((intensity == 0) || (intensity == 255))
 {
   intensitychange = -intensitychange;
 }
}

?

?

?


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)