Dependencies:   mbed

Committer:
NamSom
Date:
Wed Oct 14 04:01:49 2015 +0000
Revision:
4:4a2d17de21cf
Parent:
3:3bf1a7613e06
Complete

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Peeraya 0:212362d7d1f9 1 #include "mbed.h"
Peeraya 0:212362d7d1f9 2
NamSom 2:091793a4e7ec 3
Peeraya 0:212362d7d1f9 4 DigitalOut myled0(D15);
Peeraya 0:212362d7d1f9 5 DigitalOut myled1(D14);
Peeraya 0:212362d7d1f9 6 DigitalOut myled2(D13);
Peeraya 0:212362d7d1f9 7 DigitalOut myled3(D12);
Peeraya 0:212362d7d1f9 8 DigitalOut myled4(D11);
Peeraya 0:212362d7d1f9 9 DigitalOut myled5(D10);
Peeraya 0:212362d7d1f9 10 DigitalOut myled6(D9);
Peeraya 0:212362d7d1f9 11 DigitalOut myled7(D8);
Peeraya 0:212362d7d1f9 12
Peeraya 0:212362d7d1f9 13 DigitalIn inbutton1(D3);
Peeraya 0:212362d7d1f9 14 DigitalIn inbutton2(D4);
Peeraya 0:212362d7d1f9 15 DigitalIn inbutton3(D5);
NamSom 3:3bf1a7613e06 16 DigitalIn inbutton6(D6);
NamSom 3:3bf1a7613e06 17 DigitalIn inbutton7(D7);
Peeraya 0:212362d7d1f9 18
NamSom 3:3bf1a7613e06 19 float delay = 0.5;
NamSom 3:3bf1a7613e06 20
NamSom 3:3bf1a7613e06 21 void checkDelay()
NamSom 3:3bf1a7613e06 22 {
NamSom 3:3bf1a7613e06 23 if(inbutton6==1) {
NamSom 3:3bf1a7613e06 24 if(delay<2.0) delay+=0.3;
NamSom 3:3bf1a7613e06 25 }
NamSom 3:3bf1a7613e06 26 if(inbutton7==1) {
NamSom 3:3bf1a7613e06 27 if(delay>0.4) delay-=0.3;
NamSom 3:3bf1a7613e06 28 }
NamSom 3:3bf1a7613e06 29 }
Peeraya 0:212362d7d1f9 30
NamSom 2:091793a4e7ec 31 int checkState()
NamSom 2:091793a4e7ec 32 {
NamSom 3:3bf1a7613e06 33 checkDelay();
NamSom 2:091793a4e7ec 34 if(inbutton1==1 && inbutton2==0 && inbutton3==0) {
NamSom 2:091793a4e7ec 35 return 1;
NamSom 2:091793a4e7ec 36 }
NamSom 2:091793a4e7ec 37 if(inbutton1==0 && inbutton2==1 && inbutton3==0) {
NamSom 2:091793a4e7ec 38 return 2;
NamSom 2:091793a4e7ec 39 }
NamSom 2:091793a4e7ec 40 if(inbutton1==0 && inbutton2==0 && inbutton3==1) {
NamSom 2:091793a4e7ec 41 return 3;
NamSom 2:091793a4e7ec 42
NamSom 2:091793a4e7ec 43 } else {
NamSom 2:091793a4e7ec 44 return 0;
NamSom 2:091793a4e7ec 45 }
NamSom 2:091793a4e7ec 46 }
NamSom 2:091793a4e7ec 47
NamSom 2:091793a4e7ec 48 int pt1()
NamSom 2:091793a4e7ec 49 {
NamSom 2:091793a4e7ec 50 myled0=1;
NamSom 2:091793a4e7ec 51 wait(delay);
NamSom 2:091793a4e7ec 52 myled0=0;
NamSom 2:091793a4e7ec 53 if(checkState()!=1) return 0;
NamSom 2:091793a4e7ec 54 myled1=1;
NamSom 2:091793a4e7ec 55 wait(delay);
NamSom 2:091793a4e7ec 56 myled1=0;
NamSom 2:091793a4e7ec 57 if(checkState()!=1) return 0;
NamSom 2:091793a4e7ec 58 myled2=1;
NamSom 2:091793a4e7ec 59 wait(delay);
NamSom 2:091793a4e7ec 60 myled2=0;
NamSom 2:091793a4e7ec 61 if(checkState()!=1) return 0;
NamSom 2:091793a4e7ec 62 myled3=1;
NamSom 2:091793a4e7ec 63 wait(delay);
NamSom 2:091793a4e7ec 64 myled3=0;
NamSom 2:091793a4e7ec 65 if(checkState()!=1) return 0;
NamSom 2:091793a4e7ec 66 myled4=1;
NamSom 2:091793a4e7ec 67 wait(delay);
NamSom 2:091793a4e7ec 68 myled4=0;
NamSom 2:091793a4e7ec 69 if(checkState()!=1) return 0;
NamSom 2:091793a4e7ec 70 myled5=1;
NamSom 2:091793a4e7ec 71 wait(delay);
NamSom 2:091793a4e7ec 72 myled5=0;
NamSom 2:091793a4e7ec 73 if(checkState()!=1) return 0;
NamSom 2:091793a4e7ec 74 myled6=1;
NamSom 2:091793a4e7ec 75 wait(delay);
NamSom 2:091793a4e7ec 76 myled6=0;
NamSom 2:091793a4e7ec 77 if(checkState()!=1) return 0;
NamSom 2:091793a4e7ec 78 myled7=1;
NamSom 2:091793a4e7ec 79 wait(delay);
NamSom 2:091793a4e7ec 80 myled7=0;
NamSom 2:091793a4e7ec 81
NamSom 2:091793a4e7ec 82 return 0;
NamSom 2:091793a4e7ec 83 }
NamSom 2:091793a4e7ec 84
NamSom 2:091793a4e7ec 85 int pt2()
NamSom 2:091793a4e7ec 86 {
NamSom 2:091793a4e7ec 87 myled3=1;
NamSom 2:091793a4e7ec 88 myled4=1;
NamSom 2:091793a4e7ec 89 wait(delay);
NamSom 2:091793a4e7ec 90 myled3=0;
NamSom 2:091793a4e7ec 91 myled4=0;
NamSom 2:091793a4e7ec 92 if(checkState()!=2) return 0;
NamSom 2:091793a4e7ec 93 myled2=1;
NamSom 2:091793a4e7ec 94 myled5=1;
NamSom 2:091793a4e7ec 95 wait(delay);
NamSom 2:091793a4e7ec 96 myled2=0;
NamSom 2:091793a4e7ec 97 myled5=0;
NamSom 2:091793a4e7ec 98 if(checkState()!=2) return 0;
NamSom 2:091793a4e7ec 99 myled1=1;
NamSom 2:091793a4e7ec 100 myled6=1;
NamSom 2:091793a4e7ec 101 wait(delay);
NamSom 2:091793a4e7ec 102 myled1=0;
NamSom 2:091793a4e7ec 103 myled6=0;
NamSom 2:091793a4e7ec 104 if(checkState()!=2) return 0;
NamSom 2:091793a4e7ec 105 myled0=1;
NamSom 2:091793a4e7ec 106 myled7=1;
NamSom 2:091793a4e7ec 107 wait(delay);
NamSom 2:091793a4e7ec 108 myled0=0;
NamSom 2:091793a4e7ec 109 myled7=0;
NamSom 2:091793a4e7ec 110 if(checkState()!=2) return 0;
NamSom 2:091793a4e7ec 111 myled0=1;
NamSom 2:091793a4e7ec 112 myled7=1;
NamSom 2:091793a4e7ec 113 wait(delay);
NamSom 2:091793a4e7ec 114 myled0=0;
NamSom 2:091793a4e7ec 115 myled7=0;
NamSom 2:091793a4e7ec 116 if(checkState()!=2) return 0;
NamSom 2:091793a4e7ec 117 myled1=1;
NamSom 2:091793a4e7ec 118 myled6=1;
NamSom 2:091793a4e7ec 119 wait(delay);
NamSom 2:091793a4e7ec 120 myled1=0;
NamSom 2:091793a4e7ec 121 myled6=0;
NamSom 2:091793a4e7ec 122 if(checkState()!=2) return 0;
NamSom 2:091793a4e7ec 123 myled2=1;
NamSom 2:091793a4e7ec 124 myled5=1;
NamSom 2:091793a4e7ec 125 wait(delay);
NamSom 2:091793a4e7ec 126 myled2=0;
NamSom 2:091793a4e7ec 127 myled5=0;
NamSom 2:091793a4e7ec 128 if(checkState()!=2) return 0;
NamSom 2:091793a4e7ec 129 myled3=1;
NamSom 2:091793a4e7ec 130 myled4=1;
NamSom 2:091793a4e7ec 131 wait(delay);
NamSom 2:091793a4e7ec 132 myled3=0;
NamSom 2:091793a4e7ec 133 myled4=0;
NamSom 2:091793a4e7ec 134
NamSom 2:091793a4e7ec 135 return 0;
NamSom 2:091793a4e7ec 136 }
NamSom 2:091793a4e7ec 137
NamSom 2:091793a4e7ec 138 int pt3()
NamSom 2:091793a4e7ec 139 {
NamSom 2:091793a4e7ec 140 myled0=1;
NamSom 2:091793a4e7ec 141 myled2=1;
NamSom 2:091793a4e7ec 142 myled4=1;
NamSom 2:091793a4e7ec 143 myled6=1;
NamSom 2:091793a4e7ec 144 wait(delay);
NamSom 2:091793a4e7ec 145 myled0=0;
NamSom 2:091793a4e7ec 146 myled2=0;
NamSom 2:091793a4e7ec 147 myled4=0;
NamSom 2:091793a4e7ec 148 myled6=0;
NamSom 2:091793a4e7ec 149 if(checkState()!=3) return 0;
NamSom 2:091793a4e7ec 150 myled1=1;
NamSom 2:091793a4e7ec 151 myled3=1;
NamSom 2:091793a4e7ec 152 myled5=1;
NamSom 2:091793a4e7ec 153 myled7=1;
NamSom 2:091793a4e7ec 154 wait(delay);
NamSom 2:091793a4e7ec 155 myled1=0;
NamSom 2:091793a4e7ec 156 myled3=0;
NamSom 2:091793a4e7ec 157 myled5=0;
NamSom 2:091793a4e7ec 158 myled7=0;
NamSom 2:091793a4e7ec 159 return 0;
NamSom 2:091793a4e7ec 160 }
NamSom 2:091793a4e7ec 161
NamSom 2:091793a4e7ec 162 void black()
NamSom 2:091793a4e7ec 163 {
NamSom 2:091793a4e7ec 164 myled0=0;
NamSom 2:091793a4e7ec 165 myled1=0;
NamSom 2:091793a4e7ec 166 myled2=0;
NamSom 2:091793a4e7ec 167 myled3=0;
NamSom 2:091793a4e7ec 168 myled4=0;
NamSom 2:091793a4e7ec 169 myled5=0;
NamSom 2:091793a4e7ec 170 myled6=0;
NamSom 2:091793a4e7ec 171 myled7=0;
Peeraya 0:212362d7d1f9 172 }
Peeraya 0:212362d7d1f9 173
Peeraya 0:212362d7d1f9 174
NamSom 2:091793a4e7ec 175 int main()
NamSom 2:091793a4e7ec 176 {
NamSom 2:091793a4e7ec 177 while(1) {
NamSom 2:091793a4e7ec 178 if(inbutton1==1 && inbutton2==0 && inbutton3==0)
NamSom 2:091793a4e7ec 179
NamSom 2:091793a4e7ec 180 {
NamSom 2:091793a4e7ec 181 pt1();
NamSom 2:091793a4e7ec 182 }
NamSom 2:091793a4e7ec 183 if(inbutton1==0 && inbutton2==1 && inbutton3==0) {
NamSom 2:091793a4e7ec 184 pt2();
NamSom 2:091793a4e7ec 185 }
NamSom 2:091793a4e7ec 186 if(inbutton1==0 && inbutton2==0 && inbutton3==1) {
NamSom 2:091793a4e7ec 187 pt3();
NamSom 2:091793a4e7ec 188
NamSom 2:091793a4e7ec 189 } else {
NamSom 2:091793a4e7ec 190 black();
NamSom 2:091793a4e7ec 191 }
NamSom 2:091793a4e7ec 192 }
NamSom 2:091793a4e7ec 193 }
NamSom 2:091793a4e7ec 194
NamSom 2:091793a4e7ec 195