A project that aims at making a LED based light system controlled by microcontroller and with BLE (soon) with smooth color transitions.

Dependencies:   mbed

Committer:
ledonger
Date:
Fri Aug 18 08:39:43 2017 +0000
Revision:
0:b350f8395bff
Child:
1:8b80523d8959
FlowerColor v0.1 problem with L073 : LED not synchronized

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ledonger 0:b350f8395bff 1 #include "mbed.h"
ledonger 0:b350f8395bff 2 #include "LEDManager.h"
ledonger 0:b350f8395bff 3
ledonger 0:b350f8395bff 4 PinName pin_array[] = {LED1,D11,D4,D2,D5,D6,D7,D8,D9,D10};
ledonger 0:b350f8395bff 5 //int pin_array_size = 10/*sizeof(pin_array)/sizeof(PinName)*/;
ledonger 0:b350f8395bff 6
ledonger 0:b350f8395bff 7 //DigitalOut** io_array;
ledonger 0:b350f8395bff 8 Timer timer;
ledonger 0:b350f8395bff 9 //Serial pc(USBTX,USBRX,921600);
ledonger 0:b350f8395bff 10
ledonger 0:b350f8395bff 11 //void set_pin_high();
ledonger 0:b350f8395bff 12 //void set_pin_low();
ledonger 0:b350f8395bff 13
ledonger 0:b350f8395bff 14
ledonger 0:b350f8395bff 15 int main()
ledonger 0:b350f8395bff 16 {
ledonger 0:b350f8395bff 17 //Init
ledonger 0:b350f8395bff 18 //pc.printf("Starting...\n");
ledonger 0:b350f8395bff 19 //printf("pin_array_size : %d\n",pin_array_size);
ledonger 0:b350f8395bff 20
ledonger 0:b350f8395bff 21 //io_array = new DigitalOut*[pin_array_size];
ledonger 0:b350f8395bff 22
ledonger 0:b350f8395bff 23 /*int i;
ledonger 0:b350f8395bff 24 for(i = 0; i < pin_array_size; i++)
ledonger 0:b350f8395bff 25 {
ledonger 0:b350f8395bff 26 io_array[i] = new DigitalOut(pin_array[i]);
ledonger 0:b350f8395bff 27 }
ledonger 0:b350f8395bff 28 printf("Init : OK\n");
ledonger 0:b350f8395bff 29
ledonger 0:b350f8395bff 30 printf("Test procedure\n");
ledonger 0:b350f8395bff 31 for(i = 0; i < pin_array_size; i++)
ledonger 0:b350f8395bff 32 {
ledonger 0:b350f8395bff 33 *(io_array[i]) = 1;
ledonger 0:b350f8395bff 34 wait(0.1);
ledonger 0:b350f8395bff 35 *(io_array[i]) = 0;
ledonger 0:b350f8395bff 36 wait(0.1);
ledonger 0:b350f8395bff 37 }*/
ledonger 0:b350f8395bff 38 timer.start();
ledonger 0:b350f8395bff 39
ledonger 0:b350f8395bff 40 /*int period_us = 10000;
ledonger 0:b350f8395bff 41 float highTime1 = period_us*0.5;//50%
ledonger 0:b350f8395bff 42 float lowTime1 = (period_us-highTime1);
ledonger 0:b350f8395bff 43 int prevTime = timer.read_us();
ledonger 0:b350f8395bff 44
ledonger 0:b350f8395bff 45 int prevUpdateTime = timer.read_us();
ledonger 0:b350f8395bff 46 int updateTime = 10000;
ledonger 0:b350f8395bff 47 int fadeFactor = 75;
ledonger 0:b350f8395bff 48
ledonger 0:b350f8395bff 49 int situation1 = 1;
ledonger 0:b350f8395bff 50 int situation2 = 1;*/
ledonger 0:b350f8395bff 51
ledonger 0:b350f8395bff 52 LEDManager *led1 = new LEDManager(D11,10000);
ledonger 0:b350f8395bff 53 LEDManager *led2 = new LEDManager(D4,10000);
ledonger 0:b350f8395bff 54 LEDManager *led3 = new LEDManager(D2,10000);
ledonger 0:b350f8395bff 55 LEDManager *led4 = new LEDManager(D5,10000);
ledonger 0:b350f8395bff 56 LEDManager *led5 = new LEDManager(D6,10000);
ledonger 0:b350f8395bff 57 LEDManager *led6 = new LEDManager(D7,10000);
ledonger 0:b350f8395bff 58 LEDManager *led7 = new LEDManager(D8,10000);
ledonger 0:b350f8395bff 59 LEDManager *led8 = new LEDManager(D9,10000);
ledonger 0:b350f8395bff 60 LEDManager *led9 = new LEDManager(D10,10000);
ledonger 0:b350f8395bff 61 //pc.printf("Test : OK\n");
ledonger 0:b350f8395bff 62 int time = timer.read_us();
ledonger 0:b350f8395bff 63 while(1)
ledonger 0:b350f8395bff 64 {
ledonger 0:b350f8395bff 65 led1->processLED(time);
ledonger 0:b350f8395bff 66 led2->processLED(time);
ledonger 0:b350f8395bff 67 led3->processLED(time);
ledonger 0:b350f8395bff 68 led4->processLED(time);
ledonger 0:b350f8395bff 69 led5->processLED(time);
ledonger 0:b350f8395bff 70 led6->processLED(time);
ledonger 0:b350f8395bff 71 led7->processLED(time);
ledonger 0:b350f8395bff 72 led8->processLED(time);
ledonger 0:b350f8395bff 73 led9->processLED(time);
ledonger 0:b350f8395bff 74
ledonger 0:b350f8395bff 75 //printf("%d\n",timer.read_us()-time);
ledonger 0:b350f8395bff 76 time = timer.read_us();
ledonger 0:b350f8395bff 77 }
ledonger 0:b350f8395bff 78 }
ledonger 0:b350f8395bff 79