01.將霹靂燈錄影上傳到youtube,再貼回部落格
掃描霹靂燈左右累積
//由右至左單顆累積
if(s==13){
for(int y=0;y<14;y++){
digitalWrite(y+7,HIGH);
digitalWrite(y+1,LOW);
delay(sensorValue);
}
}
//由左至右單顆累積
if(s==13){
for(int t=14;t>0;t--){
digitalWrite(t-1,HIGH);
digitalWrite(t+5,LOW);
delay(sensorValue);
}
}
02.發揮你的創意做出最特別的霹靂燈
依照程式的排序是
由 右至左單顆 → 左至右單顆
→ 右至左隔兩顆 → 左至右隔兩顆
→ 右至左單顆累積 → 左至右單顆累積
→ 由外而內單顆 → 由內而外單顆
→ 由外而內累積 → 由外而內暗燈
03.貼上程式碼
//由左至右單顆亮
if(s==13){
for(int q=13;q>5;q--){
digitalWrite(q,HIGH);
digitalWrite(q+1,LOW);
delay(sensorValue);
}
}
//由右至左隔兩顆亮
if(s==13){
for(int x=0;x<14;x+=2){
digitalWrite(5+x,HIGH);
digitalWrite(5+x-2,LOW); //關掉上一個
delay(sensorValue);
}
}
//由左至右隔兩顆亮
if(s==13){
for(int r=14;r>4;r-=2){
digitalWrite(r,HIGH);
digitalWrite(r+2,LOW); //關掉上一個
delay(sensorValue);
}
}
//由右至左單顆累積
if(s==13){
for(int y=0;y<14;y++){
digitalWrite(y+7,HIGH);
digitalWrite(y+1,LOW);
delay(sensorValue);
}
}
//由左至右單顆累積
if(s==13){
for(int t=14;t>0;t--){
digitalWrite(t-1,HIGH);
digitalWrite(t+5,LOW);
delay(sensorValue);
}
}
//由外而內+由內而外
if(s==13){
for(int z=14,c=0;z>0,c<14;z--,c++){
digitalWrite(z-1,HIGH);
digitalWrite(c+7,HIGH);
digitalWrite(z,LOW);
digitalWrite(c+6,LOW);
delay(sensorValue);
}
}
//由外而內+由內而外累積
if(s==13){
for(int z=14,c=0;z>0,c<14;z--,c++){
digitalWrite(z-1,HIGH);
digitalWrite(c+7,HIGH);
digitalWrite(z+5,LOW);
digitalWrite(c+1,LOW);
delay(sensorValue);
}
}
//全亮
if(s==13){
for(int x=7;x<14;x++){
digitalWrite(x,HIGH);
digitalWrite(x+1,HIGH);
digitalWrite(x+2,HIGH);
digitalWrite(x+3,HIGH);
digitalWrite(x+4,HIGH);
digitalWrite(x+5,HIGH);
digitalWrite(x+6,HIGH);
delay(sensorValue/5);
}
}
//全暗
if(s==13){
for(int x=7;x<14;x++){
digitalWrite(x,LOW);
digitalWrite(x+1,LOW);
digitalWrite(x+2,LOW);
digitalWrite(x+3,LOW);
digitalWrite(x+4,LOW);
digitalWrite(x+5,LOW);
digitalWrite(x+6,LOW);
delay(sensorValue/5);
}
}
if(s==13){
for(int x=7;x<14;x++){
digitalWrite(x,HIGH);
digitalWrite(x+1,HIGH);
digitalWrite(x+2,HIGH);
digitalWrite(x+3,HIGH);
digitalWrite(x+4,HIGH);
digitalWrite(x+5,HIGH);
digitalWrite(x+6,HIGH);
delay(sensorValue/5);
}
}
if(s==13){
for(int x=7;x<14;x++){
digitalWrite(x,LOW);
digitalWrite(x+1,LOW);
digitalWrite(x+2,LOW);
digitalWrite(x+3,LOW);
digitalWrite(x+4,LOW);
digitalWrite(x+5,LOW);
digitalWrite(x+6,LOW);
delay(sensorValue/5);
}
}
4、本周上課心得
這堂課讓我們接上了LED燈泡,讓我們興奮不已
開始用程式以及旋轉扭利用arduino電路板接縣與我們互動
在一開始上課頻頻卡關的我們,讓我們在課堂中有一些疑惑
因為程式碼跟輸出的東西,跟我們想要出來的東西都不相同
LED一直沒有亮,或者是只亮一顆
在一開始的霹靂燈掃描版本我們就研究了有一段時間
後來下課前由同桌組員們(蕭靖芸、黃慶華)的小提醒
讓我們的程式順利達成第一項由右至左單顆亮的目標
我們利用for迴圈來寫每一之腳所代表的LED
至於一開始卡住的問題,我們後來發現是因為
我們讓每一個LED亮(HIGH),同時也把它變成暗(LOW)
所以我們要控制HIGH 和LOW 不要在同一顆做反應
他就會有順序上的亮和暗的差別,這是我們在做也中學到的事情。
沒有留言:
張貼留言