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:
Tue Feb 13 15:36:17 2018 +0000
Revision:
3:25af55580ef6
Parent:
2:0bbd4fc5e202
FlowerColor : small program to manage led fade in fade out with pwm generation (not from pwm output)

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 Timer timer;
ledonger 3:25af55580ef6 5 Serial pc(USBTX,USBRX/*,921600*/);
ledonger 0:b350f8395bff 6
ledonger 0:b350f8395bff 7
ledonger 3:25af55580ef6 8 LEDManager *l1g = new LEDManager(D11,10000);
ledonger 3:25af55580ef6 9 LEDManager *l1b = new LEDManager(D4,10000);
ledonger 3:25af55580ef6 10 LEDManager *l1r = new LEDManager(D7,10000);
ledonger 3:25af55580ef6 11 LEDManager *l2r = new LEDManager(D5,10000);
ledonger 3:25af55580ef6 12 LEDManager *l2g = new LEDManager(D6,10000);
ledonger 3:25af55580ef6 13 LEDManager *l2b = new LEDManager(D12,10000);
ledonger 3:25af55580ef6 14 LEDManager *l3r = new LEDManager(D8,10000);
ledonger 3:25af55580ef6 15 LEDManager *l3g = new LEDManager(D9,10000);
ledonger 3:25af55580ef6 16 LEDManager *l3b = new LEDManager(D10,10000);
ledonger 0:b350f8395bff 17
ledonger 0:b350f8395bff 18 int main()
ledonger 0:b350f8395bff 19 {
ledonger 2:0bbd4fc5e202 20 pc.printf("Starting...\n");
ledonger 0:b350f8395bff 21
ledonger 0:b350f8395bff 22 printf("Test procedure\n");
ledonger 1:8b80523d8959 23
ledonger 0:b350f8395bff 24 timer.start();
ledonger 0:b350f8395bff 25
ledonger 1:8b80523d8959 26
ledonger 1:8b80523d8959 27 int time = timer.read_us();
ledonger 0:b350f8395bff 28
ledonger 3:25af55580ef6 29 DigitalIn button(USER_BUTTON);
ledonger 3:25af55580ef6 30
ledonger 1:8b80523d8959 31
ledonger 0:b350f8395bff 32 while(1)
ledonger 0:b350f8395bff 33 {
ledonger 1:8b80523d8959 34 time = timer.read_us();
ledonger 2:0bbd4fc5e202 35
ledonger 3:25af55580ef6 36 l1g->processLED(time);
ledonger 3:25af55580ef6 37 l1b->processLED(time);
ledonger 3:25af55580ef6 38 l1r->processLED(time);
ledonger 3:25af55580ef6 39 l2r->processLED(time);
ledonger 3:25af55580ef6 40 l2g->processLED(time);
ledonger 3:25af55580ef6 41 l2b->processLED(time);
ledonger 3:25af55580ef6 42 l3r->processLED(time);
ledonger 3:25af55580ef6 43 l3g->processLED(time);
ledonger 3:25af55580ef6 44 l3b->processLED(time);
ledonger 3:25af55580ef6 45
ledonger 3:25af55580ef6 46 if(button == 0){
ledonger 3:25af55580ef6 47 l1g->setFadeUpdatePeriod(l1g->getFadeUpdatePeriod() + 1000);
ledonger 3:25af55580ef6 48 l2g->setFadeUpdatePeriod(l2g->getFadeUpdatePeriod() + 1000);
ledonger 3:25af55580ef6 49 l3g->setFadeUpdatePeriod(l3g->getFadeUpdatePeriod() + 1000);
ledonger 3:25af55580ef6 50
ledonger 3:25af55580ef6 51 l1b->setFadeUpdatePeriod(l1b->getFadeUpdatePeriod() + 1500);
ledonger 3:25af55580ef6 52 l2b->setFadeUpdatePeriod(l2b->getFadeUpdatePeriod() + 1500);
ledonger 3:25af55580ef6 53 l3b->setFadeUpdatePeriod(l3b->getFadeUpdatePeriod() + 1500);
ledonger 3:25af55580ef6 54
ledonger 3:25af55580ef6 55 l3r->setActive(!l3r->getActiveness());
ledonger 3:25af55580ef6 56 while(button != 1);
ledonger 3:25af55580ef6 57 }
ledonger 3:25af55580ef6 58
ledonger 3:25af55580ef6 59
ledonger 2:0bbd4fc5e202 60
ledonger 0:b350f8395bff 61 }
ledonger 0:b350f8395bff 62 }
ledonger 0:b350f8395bff 63
ledonger 3:25af55580ef6 64