mbed 4-LED user defined Lightshow

Dependencies:   mbed

Committer:
djgeenen
Date:
Fri Nov 26 22:19:25 2010 +0000
Revision:
0:105f5e83c5dc

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
djgeenen 0:105f5e83c5dc 1 #include "mbed.h"
djgeenen 0:105f5e83c5dc 2
djgeenen 0:105f5e83c5dc 3 // User defined mbed LED Lightshow
djgeenen 0:105f5e83c5dc 4 // Working Code 27 Nov 2010
djgeenen 0:105f5e83c5dc 5
djgeenen 0:105f5e83c5dc 6 // Data entries = LED instance
djgeenen 0:105f5e83c5dc 7 // Data = 91111 = all 4 LEDs on
djgeenen 0:105f5e83c5dc 8 // Data = 90000 = all 4 LEDs off
djgeenen 0:105f5e83c5dc 9 // Data = 90110 = LEDs 1 and 4 off, 2 and 3 on
djgeenen 0:105f5e83c5dc 10 // Data value 9 prevents processing data as octal values
djgeenen 0:105f5e83c5dc 11 // Data value 9 may be future LED duration timing code (values 1-9)
djgeenen 0:105f5e83c5dc 12
djgeenen 0:105f5e83c5dc 13 DigitalOut myleda(LED1);
djgeenen 0:105f5e83c5dc 14 DigitalOut myledb(LED2);
djgeenen 0:105f5e83c5dc 15 DigitalOut myledc(LED3);
djgeenen 0:105f5e83c5dc 16 DigitalOut myledd(LED4);
djgeenen 0:105f5e83c5dc 17
djgeenen 0:105f5e83c5dc 18 int nDisplayTemp;
djgeenen 0:105f5e83c5dc 19 int i;
djgeenen 0:105f5e83c5dc 20
djgeenen 0:105f5e83c5dc 21 // Set number in array ( nDisplay[x] ) = number of data entries
djgeenen 0:105f5e83c5dc 22 // Set loop value below to equal number of data entries in array
djgeenen 0:105f5e83c5dc 23
djgeenen 0:105f5e83c5dc 24 int nDisplay[100]={
djgeenen 0:105f5e83c5dc 25 91000,90100,90010,90001,91000,90100,90010,90001,91000,90100, // 1: 0 - 09 light display
djgeenen 0:105f5e83c5dc 26 90010,90001,91000,90100,90010,90001,90000,91111,90110,91001, // 2: 10 - 19 light display1111,90111,91011,91101,91110,91111,90110,91101,91011,91111}; //10: 90 - 99 light display
djgeenen 0:105f5e83c5dc 27 90110,91111,90000,90001,90010,90100,91000,90001,90010,90100, // 3: 20 - 29 light display
djgeenen 0:105f5e83c5dc 28 91000,90001,90010,90100,91000,90001,90010,90100,91000,90000, // 4: 30 - 39 light display
djgeenen 0:105f5e83c5dc 29 91111,90110,91001,90110,91001,90110,91111,90000,91000,91100, // 5: 40 - 49 light display
djgeenen 0:105f5e83c5dc 30 91110,91111,90111,90011,90001,90000,90001,90011,90111,91111, // 6: 50 - 59 light display
djgeenen 0:105f5e83c5dc 31 91110,91100,91000,90000,91111,91001,90110,91001,91111,91111, // 7: 60 - 69 light display
djgeenen 0:105f5e83c5dc 32 90111,90011,90001,91000,91100,91110,91111,90000,91110,91101, // 8: 70 - 79 light display
djgeenen 0:105f5e83c5dc 33 91011,90111,91110,91100,91000,90000,91111,91000,91100,91110, // 9: 80 - 89 light display
djgeenen 0:105f5e83c5dc 34 91111,90111,91011,91101,91110,91111,90110,91101,91011,91111}; //10: 90 - 99 light display
djgeenen 0:105f5e83c5dc 35 int main() {
djgeenen 0:105f5e83c5dc 36 while (1){
djgeenen 0:105f5e83c5dc 37
djgeenen 0:105f5e83c5dc 38 // Set loop value to equal number of data entries in array
djgeenen 0:105f5e83c5dc 39
djgeenen 0:105f5e83c5dc 40 for (int i=0; i<100; i++) {
djgeenen 0:105f5e83c5dc 41 if (nDisplay[i]>=91000) // light no 1 : on or off
djgeenen 0:105f5e83c5dc 42 { myleda = 1;
djgeenen 0:105f5e83c5dc 43 nDisplayTemp = nDisplay[i] - 1000;
djgeenen 0:105f5e83c5dc 44 }
djgeenen 0:105f5e83c5dc 45 else
djgeenen 0:105f5e83c5dc 46 { myleda = 0;
djgeenen 0:105f5e83c5dc 47 nDisplayTemp = nDisplay[i];
djgeenen 0:105f5e83c5dc 48 }
djgeenen 0:105f5e83c5dc 49 if (nDisplayTemp >= 90100) // light no 2 : on or off
djgeenen 0:105f5e83c5dc 50 { myledb = 1;
djgeenen 0:105f5e83c5dc 51 nDisplayTemp = nDisplayTemp - 100;
djgeenen 0:105f5e83c5dc 52 }
djgeenen 0:105f5e83c5dc 53 else
djgeenen 0:105f5e83c5dc 54 { myledb = 0;
djgeenen 0:105f5e83c5dc 55 }
djgeenen 0:105f5e83c5dc 56 if (nDisplayTemp >= 90010) // light no 3 : on or off
djgeenen 0:105f5e83c5dc 57 { myledc = 1;
djgeenen 0:105f5e83c5dc 58 nDisplayTemp = nDisplayTemp - 10;
djgeenen 0:105f5e83c5dc 59 }
djgeenen 0:105f5e83c5dc 60 else
djgeenen 0:105f5e83c5dc 61 { myledc = 0;
djgeenen 0:105f5e83c5dc 62 }
djgeenen 0:105f5e83c5dc 63 if (nDisplayTemp >= 90001) // light no 4 : on or off
djgeenen 0:105f5e83c5dc 64 { myledd = 1;
djgeenen 0:105f5e83c5dc 65 }
djgeenen 0:105f5e83c5dc 66 else
djgeenen 0:105f5e83c5dc 67 { myledd = 0;
djgeenen 0:105f5e83c5dc 68 }
djgeenen 0:105f5e83c5dc 69
djgeenen 0:105f5e83c5dc 70 wait(0.2);
djgeenen 0:105f5e83c5dc 71 myleda = myledb = myledc = myledd = 0; // 0.2 sec : all lights off
djgeenen 0:105f5e83c5dc 72 wait(0.2);
djgeenen 0:105f5e83c5dc 73 }
djgeenen 0:105f5e83c5dc 74 }
djgeenen 0:105f5e83c5dc 75 }