標(biāo)題: PWM控制流水燈代碼 [打印本頁(yè)]

作者: mxlwj    時(shí)間: 2018-10-21 18:08
標(biāo)題: PWM控制流水燈代碼
制作出來(lái)的實(shí)物圖如下:


LED燈接PWM輸出功能的IO口3,5,6,9,10,11.
調(diào)速電位器中間抽頭接A0口,用于控制流水燈的流動(dòng)速度。

代碼如下:
  1. int i, j, vol;
  2. unsigned char pin[] = {3, 5, 6, 9, 10, 11};
  3. unsigned int light[] = {0, 60, 120, 200, 255, 160, 50};
  4. void setup() {}
  5. void loop() {
  6.   vol = analogRead(0);
  7.   for (i = 0; i < 6; i++) {
  8.     analogWrite(pin[i], light[j]);
  9.     j++; if (j > 6) j = 0;
  10.     delay(vol / 5);
  11.   }
  12. }
復(fù)制代碼



作者: mxlwj    時(shí)間: 2018-10-23 23:54
我是新人,發(fā)的這程序是完全本人原創(chuàng)。
代碼很短,卻是完全實(shí)現(xiàn)LED漸亮漸滅的流水循環(huán)。
可惜沒(méi)人回復(fù),是什么原因呢?
作者: 51hei團(tuán)團(tuán)    時(shí)間: 2018-10-24 00:14
確實(shí)代碼很短,這里是analogRead函數(shù)的介紹:https://www.arduino.cc/reference ... log-io/analogwrite/
作者: 864923490    時(shí)間: 2018-11-22 00:22
好東西,必須支持
作者: 輸入    時(shí)間: 2020-3-21 17:57
我按照你的代碼,沒(méi)有結(jié)果。 而且你的代碼只有六個(gè)燈,為什么接線接了12個(gè)燈?

作者: 科比之心    時(shí)間: 2020-3-23 15:21
看了一下,這個(gè)連線是有些亂,應(yīng)該是連6個(gè)燈就可以了,其實(shí)要實(shí)現(xiàn)流水燈,直接用數(shù)字控制就行了,由于視覺(jué)暫留現(xiàn)象和余輝效應(yīng),沒(méi)必要用PWM作出漸亮漸滅的效果,快了現(xiàn)象是一樣的,高低電平直接控制亮滅不香么




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1