![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
0720_Lab1
Dependencies: mbed
main.cpp@0:f17d9dc54c1d, 2015-10-15 (annotated)
- Committer:
- chinetion
- Date:
- Thu Oct 15 19:10:23 2015 +0000
- Revision:
- 0:f17d9dc54c1d
Fin;
Who changed what in which revision?
User | Revision | Line number | New 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 | } |