2019-06-02 這是追求極致還是死磕夺欲?

2019-5-15版本一:

https://www.bilibili.com/video/av52557415/

2019-6-2版本二:

https://www.bilibili.com/video/av54323283/

廢話不多說跪帝,源碼如下

[code]/*

2019 ? Arduino_Maker

*/

#include <TimerOne.h>

byte m = 0;?

byte Pvalue = 0;? ? ? ? ? ?

boolean BreatheFlag = true;?

byte ModeNumber = 0;? ? ? ? ?

//byte oldModeNumber = 0;? ? ?

boolean Touchflag = false;?

unsigned int Time1 = 0;? ? ?

unsigned int timex = 0;? ? ?

const byte Ring[5][6]={

? ? ? ? ? ? ? ? {2,19,13},? ? ? ?

? ? ? ? ? ? ? ? {9,14,17},? ? ? ?

? ? ? ? ? ? ? ? {4,8,15,6,10,7},

? ? ? ? ? ? ? ? {18,16,12},? ? ?

? ? ? ? ? ? ? ? {11,5,3}? ? ? ? ?

? ? ? ? ? ? ? ? };


void setup() {

? Serial.begin(9600);

? for(int i=0;i<5;i++){

? ? for(int j=0;Ring[i][j]!='\0';j++){

? ? ? pinMode(Ring[i][j],OUTPUT);

? ? }

? }

? Timer1.initialize( 100000 );

? Timer1.attachInterrupt( Timer2Interrupt );

}

void Timer2Interrupt(void){

? if((analogRead(A6) < 100)? && (Touchflag==false)){

? ? Touchflag = true;

? ? Time1 = millis();

? ? ModeNumber = ModeNumber + 1;

? ? if(ModeNumber == 2) m = 0;

? ? if(ModeNumber == 7) ModeNumber = 0;

? ? //Serial.println(ModeNumber);

? ? }

? ? else? if((analogRead(A6) > 100)? && (Touchflag==true)){

? ? ? Touchflag = false;

? ? ? timex = millis() - Time1;

? ? ? if(timex > 3000)? ModeNumber = 0;

? ? ? }

? }

void loop() {


? switch(ModeNumber){

? ? case 0:? Mode0();? ? ? break;

? ? case 1:? Mode1(10);? ? break;

? ? case 2:? Mode2(100);? break;

? ? case 3:? Mode3(100);? break;

? ? case 4:? Mode4(100);? break;

? ? case 5:? Mode5(10);? ? break;

? ? case 6:? Mode6(60);? ? break;

? ? default:? break;

? ? }

}

void Mode0(void)

{

? Ring_Run(0,false);

? Ring_Run(1,false);

? Ring_Run(2,false);

? Ring_Run(3,false);

? Ring_Run(4,false);

? }

void Mode1(int Mytime)

{

? analogWrite(Ring[4][0],Pvalue);

? analogWrite(Ring[4][1],Pvalue);

? analogWrite(Ring[4][2],Pvalue);

? if(BreatheFlag==true){

? ? Pvalue = Pvalue + 1;

? ? if(Pvalue == 255) BreatheFlag = false;

? ? }

? if(BreatheFlag==false){

? ? Pvalue = Pvalue - 1;

? ? if(Pvalue == 0) BreatheFlag = true;

? ? }

? delay(Mytime);

? }

void Mode2(int Mytime)

{

? switch(m){

? ? case 0:? Ring_Run(0,true); break;

? ? case 1:? delay(4*Mytime);? break;

? ? case 2:? Ring_Run(1,true); break;

? ? case 3:? delay(3*Mytime);? break;

? ? case 4:? Ring_Run(2,true); break;

? ? case 5:? delay(2*Mytime);? break;

? ? case 6:? Ring_Run(3,true); break;

? ? case 7:? delay(Mytime);? ? break;

? ? case 8:? Ring_Run(4,true); break;

? ? case 9:? delay(4*Mytime);? break;

? ? case 10:? delay(4*Mytime);? break;

? ? case 11:? Ring_Run(4,false);break;

? ? case 12:? delay(Mytime);? ? break;

? ? case 13:? Ring_Run(3,false);break;

? ? case 14:? delay(2*Mytime);? break;

? ? case 15:? Ring_Run(2,false);break;

? ? case 16:? delay(3*Mytime);? break;

? ? case 17:? Ring_Run(1,false);break;

? ? case 18:? delay(4*Mytime);? break;

? ? case 19:? Ring_Run(0,false);break;

? ? case 20:? delay(4*Mytime);? break;

? ? case 21:? delay(4*Mytime);? break;

? ? default: break;

? ? }

? ? m = m + 1;

? ? if(m == 22) m = 0;

? }

void Mode3(int Mytime)

{

? Ring_Run(0,true);

? Ring_Run(1,true);

? Ring_Run(2,true);

? Ring_Run(3,true);

? Ring_Run(4,true);

? delay(Mytime);

? Ring_Run(0,false);

? Ring_Run(1,false);

? Ring_Run(2,false);

? Ring_Run(3,false);

? Ring_Run(4,false);

? delay(Mytime);

? }

void Mode4(int Mytime)

{

? Leaf_Run(2,false);Leaf_Run(0,true);delay(Mytime);

? Leaf_Run(0,false);Leaf_Run(1,true);delay(Mytime);

? Leaf_Run(1,false);Leaf_Run(2,true);delay(Mytime);?

? }

void Mode5(int Mytime)

{

? digitalWrite(Ring[0][2],LOW);digitalWrite(Ring[0][0],HIGH);delay(Mytime);

? digitalWrite(Ring[0][0],LOW);digitalWrite(Ring[0][1],HIGH);delay(Mytime);

? digitalWrite(Ring[0][1],LOW);digitalWrite(Ring[0][2],HIGH);delay(Mytime);

? digitalWrite(Ring[0][2],LOW);

? digitalWrite(Ring[1][1],LOW);digitalWrite(Ring[1][0],HIGH);delay(Mytime);

? digitalWrite(Ring[1][0],LOW);digitalWrite(Ring[1][2],HIGH);delay(Mytime);

? digitalWrite(Ring[1][2],LOW);digitalWrite(Ring[1][1],HIGH);delay(Mytime);?

? digitalWrite(Ring[1][1],LOW);

? digitalWrite(Ring[2][4],LOW);digitalWrite(Ring[2][5],LOW);digitalWrite(Ring[2][2],HIGH);digitalWrite(Ring[2][3],HIGH);delay(Mytime);

? digitalWrite(Ring[2][2],LOW);digitalWrite(Ring[2][3],LOW);digitalWrite(Ring[2][0],HIGH);digitalWrite(Ring[2][1],HIGH);delay(Mytime);

? digitalWrite(Ring[2][0],LOW);digitalWrite(Ring[2][1],LOW);digitalWrite(Ring[2][4],HIGH);digitalWrite(Ring[2][5],HIGH);delay(Mytime);

? digitalWrite(Ring[2][4],LOW);digitalWrite(Ring[2][5],LOW);

? digitalWrite(Ring[3][2],LOW);digitalWrite(Ring[3][0],HIGH);delay(Mytime);

? digitalWrite(Ring[3][0],LOW);digitalWrite(Ring[3][1],HIGH);delay(Mytime);

? digitalWrite(Ring[3][1],LOW);digitalWrite(Ring[3][2],HIGH);delay(Mytime);

? digitalWrite(Ring[3][2],LOW);

? digitalWrite(Ring[4][2],LOW);digitalWrite(Ring[4][0],HIGH);delay(Mytime);

? digitalWrite(Ring[4][0],LOW);digitalWrite(Ring[4][1],HIGH);delay(Mytime);

? digitalWrite(Ring[4][1],LOW);digitalWrite(Ring[4][2],HIGH);delay(Mytime);

? digitalWrite(Ring[4][2],LOW);

? }

void Mode6(int Mytime)

{

? Ring_Run(0,true);

? Ring_Run(4,true);

? digitalWrite(Ring[2][4],LOW);digitalWrite(Ring[2][3],HIGH);delay(Mytime);

? digitalWrite(Ring[2][3],LOW);digitalWrite(Ring[3][1],HIGH);delay(Mytime);

? digitalWrite(Ring[3][1],LOW);digitalWrite(Ring[2][2],HIGH);delay(Mytime);

? digitalWrite(Ring[2][2],LOW);digitalWrite(Ring[2][1],HIGH);delay(Mytime);

? digitalWrite(Ring[2][1],LOW);digitalWrite(Ring[3][0],HIGH);delay(Mytime);

? digitalWrite(Ring[3][0],LOW);digitalWrite(Ring[2][0],HIGH);delay(Mytime);

? digitalWrite(Ring[2][0],LOW);digitalWrite(Ring[2][5],HIGH);delay(Mytime);

? digitalWrite(Ring[2][5],LOW);digitalWrite(Ring[3][2],HIGH);delay(Mytime);

? digitalWrite(Ring[3][2],LOW);digitalWrite(Ring[2][4],HIGH);delay(Mytime);


? }

void Ring_Run(byte n,boolean k)

{

? if(k==true)

? ? switch(n){

? ? ? case 0:

? ? ? ? for(int i = 0;i < 3;i++)? digitalWrite(Ring[0][i],HIGH);? break;

? ? ? case 1:

? ? ? ? for(int i = 0;i < 3;i++)? digitalWrite(Ring[1][i],HIGH);? break;

? ? ? case 2:

? ? ? ? for(int i = 0;i < 6;i++)? digitalWrite(Ring[2][i],HIGH);? break;

? ? ? case 3:

? ? ? ? for(int i = 0;i < 3;i++)? digitalWrite(Ring[3][i],HIGH);? break;

? ? ? case 4:

? ? ? ? for(int i = 0;i < 3;i++)? digitalWrite(Ring[4][i],HIGH);? break;

? ? ? default : break;

? ? ? }

? ? else? switch(n){

? ? ? case 0:

? ? ? ? for(int i = 0;i < 3;i++)? digitalWrite(Ring[0][i],LOW);? break;

? ? ? case 1:

? ? ? ? for(int i = 0;i < 3;i++)? digitalWrite(Ring[1][i],LOW);? break;

? ? ? case 2:

? ? ? ? for(int i = 0;i < 6;i++)? digitalWrite(Ring[2][i],LOW);? break;

? ? ? case 3:

? ? ? ? for(int i = 0;i < 3;i++)? digitalWrite(Ring[3][i],LOW);? break;

? ? ? case 4:

? ? ? ? for(int i = 0;i < 3;i++)? digitalWrite(Ring[4][i],LOW);? break;

? ? ? default : break;

? ? ? }

? }

void Leaf_Run(byte n,boolean k)

{

? if(k==true)

? ? switch(n){

? ? ? case 0:

? ? ? ? digitalWrite(Ring[1][0],HIGH);

? ? ? ? digitalWrite(Ring[2][0],HIGH);

? ? ? ? digitalWrite(Ring[2][1],HIGH);

? ? ? ? digitalWrite(Ring[3][0],HIGH);

? ? ? ? digitalWrite(Ring[4][0],HIGH);

? ? ? ? break;

? ? ? case 1:

? ? ? ? digitalWrite(Ring[1][2],HIGH);

? ? ? ? digitalWrite(Ring[2][5],HIGH);

? ? ? ? digitalWrite(Ring[2][4],HIGH);

? ? ? ? digitalWrite(Ring[3][2],HIGH);

? ? ? ? digitalWrite(Ring[4][2],HIGH);

? ? ? ? break;

? ? ? case 2:

? ? ? ? digitalWrite(Ring[1][1],HIGH);

? ? ? ? digitalWrite(Ring[2][2],HIGH);

? ? ? ? digitalWrite(Ring[2][3],HIGH);

? ? ? ? digitalWrite(Ring[3][1],HIGH);

? ? ? ? digitalWrite(Ring[4][1],HIGH);

? ? ? ? break;

? ? ? default: break;

? ? ? }

? ? else switch(n){

? ? ? case 0:

? ? ? ? digitalWrite(Ring[1][0],LOW);

? ? ? ? digitalWrite(Ring[2][0],LOW);

? ? ? ? digitalWrite(Ring[2][1],LOW);

? ? ? ? digitalWrite(Ring[3][0],LOW);

? ? ? ? digitalWrite(Ring[4][0],LOW);

? ? ? ? break;

? ? ? case 1:

? ? ? ? digitalWrite(Ring[1][2],LOW);

? ? ? ? digitalWrite(Ring[2][5],LOW);

? ? ? ? digitalWrite(Ring[2][4],LOW);

? ? ? ? digitalWrite(Ring[3][2],LOW);

? ? ? ? digitalWrite(Ring[4][2],LOW);

? ? ? ? break;

? ? ? case 2:

? ? ? ? digitalWrite(Ring[1][1],LOW);

? ? ? ? digitalWrite(Ring[2][2],LOW);

? ? ? ? digitalWrite(Ring[2][3],LOW);

? ? ? ? digitalWrite(Ring[3][1],LOW);

? ? ? ? digitalWrite(Ring[4][1],LOW);

? ? ? ? break;

? ? ? default: break;

? ? ? }

? }[/code]

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市些阅,隨后出現(xiàn)的幾起案子伞剑,更是在濱河造成了極大的恐慌,老刑警劉巖市埋,帶你破解...
    沈念sama閱讀 217,907評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件黎泣,死亡現(xiàn)場(chǎng)離奇詭異恕刘,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來煞聪,“玉大人拜英,你說我怎么就攤上這事∶螅” “怎么了?”我有些...
    開封第一講書人閱讀 164,298評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)谴餐。 經(jīng)常有香客問我,道長(zhǎng)呆抑,這世上最難降的妖魔是什么岂嗓? 我笑而不...
    開封第一講書人閱讀 58,586評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮鹊碍,結(jié)果婚禮上厌殉,老公的妹妹穿的比我還像新娘。我一直安慰自己侈咕,他們只是感情好公罕,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,633評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著耀销,像睡著了一般楼眷。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上熊尉,一...
    開封第一講書人閱讀 51,488評(píng)論 1 302
  • 那天罐柳,我揣著相機(jī)與錄音,去河邊找鬼狰住。 笑死张吉,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的催植。 我是一名探鬼主播肮蛹,決...
    沈念sama閱讀 40,275評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼查邢!你這毒婦竟也來了蔗崎?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,176評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤扰藕,失蹤者是張志新(化名)和其女友劉穎缓苛,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,619評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡未桥,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,819評(píng)論 3 336
  • 正文 我和宋清朗相戀三年笔刹,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片冬耿。...
    茶點(diǎn)故事閱讀 39,932評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡舌菜,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出亦镶,到底是詐尸還是另有隱情日月,我是刑警寧澤,帶...
    沈念sama閱讀 35,655評(píng)論 5 346
  • 正文 年R本政府宣布缤骨,位于F島的核電站爱咬,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏绊起。R本人自食惡果不足惜精拟,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,265評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蜂绎。 院中可真熱鬧,春花似錦笋鄙、人聲如沸师枣。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽铐尚。三九已至,卻和暖如春哆姻,著一層夾襖步出監(jiān)牢的瞬間宣增,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工矛缨, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留爹脾,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,095評(píng)論 3 370
  • 正文 我出身青樓箕昭,卻偏偏與公主長(zhǎng)得像灵妨,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子落竹,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,884評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容