0720_Lab1

Dependencies:   mbed

Committer:
chinetion
Date:
Thu Oct 15 19:10:23 2015 +0000
Revision:
0:f17d9dc54c1d
Fin;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
chinetion 0:f17d9dc54c1d 1 #include "mbed.h"
chinetion 0:f17d9dc54c1d 2
chinetion 0:f17d9dc54c1d 3
chinetion 0:f17d9dc54c1d 4 DigitalOut led[] = {D2,D3,D4,D5,D6,D7,D8,D9};
chinetion 0:f17d9dc54c1d 5 DigitalIn In[] = {D10,D11,D12};
chinetion 0:f17d9dc54c1d 6 double speed=0.1;
chinetion 0:f17d9dc54c1d 7 int pat = 1,tog=0;
chinetion 0:f17d9dc54c1d 8 void check(){
chinetion 0:f17d9dc54c1d 9 tog=0;
chinetion 0:f17d9dc54c1d 10 if(In[0]){pat++;tog=1;}
chinetion 0:f17d9dc54c1d 11 if(In[1])speed+=0.02;
chinetion 0:f17d9dc54c1d 12 if(In[2])speed-=0.02;
chinetion 0:f17d9dc54c1d 13 if(speed<=0.02)speed=0.02;
chinetion 0:f17d9dc54c1d 14 else if(speed>=1)speed=1;
chinetion 0:f17d9dc54c1d 15 if(pat>3)pat=1;
chinetion 0:f17d9dc54c1d 16 }
chinetion 0:f17d9dc54c1d 17 int main(){
chinetion 0:f17d9dc54c1d 18
chinetion 0:f17d9dc54c1d 19 while(1){
chinetion 0:f17d9dc54c1d 20 if(pat==1){
chinetion 0:f17d9dc54c1d 21 for(int x=0;x<=7;x++){
chinetion 0:f17d9dc54c1d 22 led[x]=1;
chinetion 0:f17d9dc54c1d 23 wait(speed);
chinetion 0:f17d9dc54c1d 24 led[x]=0;
chinetion 0:f17d9dc54c1d 25 check();if(tog==1)break;
chinetion 0:f17d9dc54c1d 26 }
chinetion 0:f17d9dc54c1d 27 }
chinetion 0:f17d9dc54c1d 28 if(pat==2){
chinetion 0:f17d9dc54c1d 29 for(int x=0;x<=7;x++){
chinetion 0:f17d9dc54c1d 30 led[x]=1;
chinetion 0:f17d9dc54c1d 31 wait(speed);
chinetion 0:f17d9dc54c1d 32 check();if(tog==1)break;
chinetion 0:f17d9dc54c1d 33 }
chinetion 0:f17d9dc54c1d 34 for(int x=0;x<=7;x++){
chinetion 0:f17d9dc54c1d 35 led[x]=0;
chinetion 0:f17d9dc54c1d 36 wait(speed);
chinetion 0:f17d9dc54c1d 37 check();if(tog==1)break;
chinetion 0:f17d9dc54c1d 38 }
chinetion 0:f17d9dc54c1d 39
chinetion 0:f17d9dc54c1d 40 }
chinetion 0:f17d9dc54c1d 41 if(pat==3){
chinetion 0:f17d9dc54c1d 42 for(int x=0;x<=3;x++){
chinetion 0:f17d9dc54c1d 43 led[x]=1;
chinetion 0:f17d9dc54c1d 44 led[7-x]=1;
chinetion 0:f17d9dc54c1d 45 wait(speed);
chinetion 0:f17d9dc54c1d 46 check();if(tog==1)break;
chinetion 0:f17d9dc54c1d 47 }
chinetion 0:f17d9dc54c1d 48 for(int x=3;x>=0;x--){
chinetion 0:f17d9dc54c1d 49 led[x]=0;
chinetion 0:f17d9dc54c1d 50 led[7-x]=0;
chinetion 0:f17d9dc54c1d 51 wait(speed);
chinetion 0:f17d9dc54c1d 52 check();if(tog==1)break;
chinetion 0:f17d9dc54c1d 53 }
chinetion 0:f17d9dc54c1d 54 }
chinetion 0:f17d9dc54c1d 55 }
chinetion 0:f17d9dc54c1d 56 }