ODE_FUCKFISH / Mbed 2 deprecated Nucleo_LAB1

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 DigitalOut led1(D8);
00003 DigitalOut led2(D9);
00004 DigitalOut led3(D10);
00005 DigitalOut led4(D11);
00006 DigitalOut led5(D12);
00007 DigitalOut led6(D13);
00008 DigitalOut led7(D14);
00009 DigitalOut led8(D15);
00010 
00011 DigitalIn button1(D2);
00012 DigitalIn button2(D3);
00013 DigitalIn button3(D4);
00014 
00015 Timer t;
00016 
00017 void Goup(int );
00018 int main()
00019 {
00020     int state=0;
00021     int timer_delay1=100,timer_delay2=200;
00022     t.start();
00023     while(1) 
00024     {
00025 
00026         if(button1==1&&button2==0&&button3==0){//100
00027             state=1;
00028             }
00029         else if(button1==0&&button2==1&&button3==0){//010
00030             state=2;
00031             }
00032         else if(button1==0&&button2==0&&button3==1){//001
00033             state=3;
00034             }
00035         else if(button1==1&&button2==1&&button3==0){//110
00036             state=4;
00037             }
00038         else if(button1==1&&button2==0&&button3==1){//101
00039             state=5;
00040             }
00041         else if(button1==0&&button2==1&&button3==1){//011
00042             state=6;
00043             }
00044         else if(button1==1&&button2==1&&button3==1){//111
00045             state=7;
00046             }
00047         else{//สตาร์ท at NX-1oo PLU S//000
00048             state=0;
00049             }
00050  
00051  
00052         if(state == 1){
00053             timer_delay1 = 200;
00054             timer_delay2 = 400;
00055             if(t.read_ms() <timer_delay1) {
00056                 led1 = 1; // LED is ON
00057                 led2= 0;
00058                 led3 = 1; // LED is ON
00059                 led4= 0;
00060                 led5 = 1; // LED is ON
00061                 led6= 0;
00062                 led7 = 1; // LED is ON
00063                 led8= 0;
00064             } else if(t.read_ms() <timer_delay2) {
00065                 led1 = 0; // LED is OFF}
00066                 led2= 1;
00067                 led3 = 0; // LED is OFF}
00068                 led4= 1;
00069                 led5 = 0; // LED is OFF}
00070                 led6= 1;
00071                 led7 = 0; // LED is OFF}
00072                 led8= 1;
00073             } else {
00074                 t.reset();
00075             }
00076         }
00077         else if(state == 2){
00078             led1 = 1; // LED is ON
00079             led2= 0;
00080             led3 = 1; // LED is ON
00081             led4= 0;
00082             led5 = 1; // LED is ON
00083             led6= 0;
00084             led7 = 1; // LED is ON
00085             led8= 0;
00086         }
00087         else if(state == 3){
00088             led1 = 0; // LED is OFF}
00089             led2= 1;
00090             led3 = 0; // LED is OFF}
00091             led4= 1;
00092             led5 = 0; // LED is OFF}
00093             led6= 1;
00094             led7 = 0; // LED is OFF}
00095             led8= 1;
00096         }
00097         else if(state == 4){
00098             Goup(state);
00099         }
00100         else if(state == 5){
00101             Goup(state);
00102         }
00103         else if(state == 6){
00104             Goup(state);
00105         }
00106         else if(state == 7){
00107             /*led1 = 1; 
00108             led2 = 1;
00109             led3 = 1; 
00110             led4 = 1;
00111             led5 = 1; 
00112             led6 = 1;
00113             led7 = 1; 
00114             led8 = 1;*/
00115             Goup(4);
00116             Goup(5);
00117         }
00118         else{
00119             led1 = 0; // LED is OFF}
00120             led2 = 0;
00121             led3 = 0; // LED is OFF}
00122             led4 = 0;
00123             led5 = 0; // LED is OFF}
00124             led6 = 0;
00125             led7 = 0; // LED is OFF}
00126             led8 = 0;
00127             }
00128             
00129     }
00130 }
00131 void Goup(int level){
00132     int timer_delay[8]={200,400,600,800,1000,1200,1400,1600};
00133     if(level == 4 ){
00134         if(t.read_ms() <timer_delay[0]) {
00135             led1 = 1; 
00136             led2 = 0;
00137             led3 = 0; 
00138             led4 = 0;
00139             led5 = 0; 
00140             led6 = 0;
00141             led7 = 0; 
00142             led8 = 0;
00143         }
00144         else if(t.read_ms() <timer_delay[1]) {
00145             led1 = 0;
00146             led2 = 1;
00147             led3 = 0; 
00148             led4 = 0;
00149             led5 = 0; 
00150             led6 = 0;
00151             led7 = 0; 
00152             led8 = 0;
00153         }
00154         else if(t.read_ms() <timer_delay[2]) {
00155             led1 = 0;
00156             led2 = 0;
00157             led3 = 1; 
00158             led4 = 0;
00159             led5 = 0; 
00160             led6 = 0;
00161             led7 = 0; 
00162             led8 = 0;
00163         }
00164         else if(t.read_ms() <timer_delay[3]) {
00165             led1 = 0;
00166             led2 = 0;
00167             led3 = 0; 
00168             led4 = 1;
00169             led5 = 0; 
00170             led6 = 0;
00171             led7 = 0; 
00172             led8 = 0;
00173         }
00174         else if(t.read_ms() <timer_delay[4]) {
00175             led1 = 0;
00176             led2 = 0;
00177             led3 = 0; 
00178             led4 = 0;
00179             led5 = 1; 
00180             led6 = 0;
00181             led7 = 0; 
00182             led8 = 0;
00183         }
00184         else if(t.read_ms() <timer_delay[5]) {
00185             led1 = 0;
00186             led2 = 0;
00187             led3 = 0; 
00188             led4 = 0;
00189             led5 = 0; 
00190             led6 = 1;
00191             led7 = 0; 
00192             led8 = 0;
00193         }
00194         else if(t.read_ms() <timer_delay[6]) {
00195             led1 = 0;
00196             led2 = 0;
00197             led3 = 0; 
00198             led4 = 0;
00199             led5 = 0; 
00200             led6 = 0;
00201             led7 = 1; 
00202             led8 = 0;
00203         }
00204         else if(t.read_ms() <timer_delay[7]) {
00205             led1 = 0;
00206             led2 = 0;
00207             led3 = 0; 
00208             led4 = 0;
00209             led5 = 0; 
00210             led6 = 0;
00211             led7 = 0; 
00212             led8 = 1;
00213         }
00214         else {
00215             t.reset();
00216         }
00217     }
00218     
00219     else if(level == 5){
00220         if(t.read_ms() <timer_delay[0]) {
00221             led1 = 0; 
00222             led2 = 0;
00223             led3 = 0; 
00224             led4 = 0;
00225             led5 = 0; 
00226             led6 = 0;
00227             led7 = 0; 
00228             led8 = 1;
00229         }
00230         else if(t.read_ms() <timer_delay[1]) {
00231             led1 = 0;
00232             led2 = 0;
00233             led3 = 0; 
00234             led4 = 0;
00235             led5 = 0; 
00236             led6 = 0;
00237             led7 = 1; 
00238             led8 = 0;
00239         }
00240         else if(t.read_ms() <timer_delay[2]) {
00241             led1 = 0;
00242             led2 = 0;
00243             led3 = 0; 
00244             led4 = 0;
00245             led5 = 0; 
00246             led6 = 1;
00247             led7 = 0; 
00248             led8 = 0;
00249         }
00250         else if(t.read_ms() <timer_delay[3]) {
00251             led1 = 0;
00252             led2 = 0;
00253             led3 = 0; 
00254             led4 = 0;
00255             led5 = 1; 
00256             led6 = 0;
00257             led7 = 0; 
00258             led8 = 0;
00259         }
00260         else if(t.read_ms() <timer_delay[4]) {
00261             led1 = 0;
00262             led2 = 0;
00263             led3 = 0; 
00264             led4 = 1;
00265             led5 = 0; 
00266             led6 = 0;
00267             led7 = 0; 
00268             led8 = 0;
00269         }
00270         else if(t.read_ms() <timer_delay[5]) {
00271             led1 = 0;
00272             led2 = 0;
00273             led3 = 1; 
00274             led4 = 0;
00275             led5 = 0; 
00276             led6 = 0;
00277             led7 = 0; 
00278             led8 = 0;
00279         }
00280         else if(t.read_ms() <timer_delay[6]) {
00281             led1 = 0;
00282             led2 = 1;
00283             led3 = 0; 
00284             led4 = 0;
00285             led5 = 0; 
00286             led6 = 0;
00287             led7 = 0; 
00288             led8 = 0;
00289         }
00290         else if(t.read_ms() <timer_delay[7]) {
00291             led1 = 1;
00292             led2 = 0;
00293             led3 = 0; 
00294             led4 = 0;
00295             led5 = 0; 
00296             led6 = 0;
00297             led7 = 0; 
00298             led8 = 0;
00299         }
00300         else {
00301             t.reset();
00302         }
00303     }
00304     
00305     else if(level == 6){
00306         if(t.read_ms() <timer_delay[0]) {
00307             led1 = 1;
00308             led8 = 0; 
00309         }
00310         else if(t.read_ms() <timer_delay[1]) {
00311             led2 = 1;
00312             led7 = 0;
00313         }
00314         else if(t.read_ms() <timer_delay[2]) {
00315             led3 = 1;
00316             led6 = 0; 
00317         }
00318         else if(t.read_ms() <timer_delay[3]) {
00319             led4 = 1;
00320             led5 = 0;
00321         }
00322         else if(t.read_ms() <timer_delay[4]) {
00323             led5 = 1;
00324             led4 = 0; 
00325         }
00326         else if(t.read_ms() <timer_delay[5]) {
00327             led6 = 1;
00328             led3 = 0;
00329         }
00330         else if(t.read_ms() <timer_delay[6]) {
00331             led7 = 1;
00332             led2 = 0; 
00333         }
00334         else if(t.read_ms() <timer_delay[7]) {
00335             led8 = 1;
00336             led1 = 0;
00337         }
00338         else {
00339             t.reset();
00340         }
00341     }
00342 }