David Geenen
/
LED20_91111
mbed 4-LED user defined Lightshow
main.cpp@0:105f5e83c5dc, 2010-11-26 (annotated)
- Committer:
- djgeenen
- Date:
- Fri Nov 26 22:19:25 2010 +0000
- Revision:
- 0:105f5e83c5dc
Who changed what in which revision?
User | Revision | Line number | New 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 | } |