LED Generico de Chanfa

Dependents:   ControlLed

Committer:
MAlmazan
Date:
Sat Jun 10 14:46:18 2017 +0000
Revision:
0:a7fdb950e0e2
Libreria que maneja Leds

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MAlmazan 0:a7fdb950e0e2 1 #include "mbed.h"
MAlmazan 0:a7fdb950e0e2 2
MAlmazan 0:a7fdb950e0e2 3 DigitalOut gpo(D0);
MAlmazan 0:a7fdb950e0e2 4 DigitalOut ledR(LED_RED);
MAlmazan 0:a7fdb950e0e2 5 DigitalOut ledG(LED_GREEN);
MAlmazan 0:a7fdb950e0e2 6 DigitalOut ledB(LED_BLUE);
MAlmazan 0:a7fdb950e0e2 7
MAlmazan 0:a7fdb950e0e2 8 //mbed.h por su cuenta tiene la lista de pines para el LED segun la plaqueta
MAlmazan 0:a7fdb950e0e2 9
MAlmazan 0:a7fdb950e0e2 10 //TODO
MAlmazan 0:a7fdb950e0e2 11 //falta funcion random para ciclar entre colores
MAlmazan 0:a7fdb950e0e2 12
MAlmazan 0:a7fdb950e0e2 13 float Estado[3] = {1.0f, 1.0f, 1.0f};
MAlmazan 0:a7fdb950e0e2 14
MAlmazan 0:a7fdb950e0e2 15 bool LEDManual(float R, float G, float B) {
MAlmazan 0:a7fdb950e0e2 16 if ((R <= 1.0f) && (G <= 1.0f) && (B <= 1.0f) && (R >= 0.0f) && (G >= 0.0f) && (B >= 0.0f)){
MAlmazan 0:a7fdb950e0e2 17 ledR = R;
MAlmazan 0:a7fdb950e0e2 18 ledG = G;
MAlmazan 0:a7fdb950e0e2 19 ledB = B;
MAlmazan 0:a7fdb950e0e2 20
MAlmazan 0:a7fdb950e0e2 21 Estado[0] = ledR;
MAlmazan 0:a7fdb950e0e2 22 Estado[1] = ledG;
MAlmazan 0:a7fdb950e0e2 23 Estado[2] = ledB;
MAlmazan 0:a7fdb950e0e2 24 return true;
MAlmazan 0:a7fdb950e0e2 25 } else {
MAlmazan 0:a7fdb950e0e2 26 LEDManual(Estado[0], Estado[1], Estado[2]);
MAlmazan 0:a7fdb950e0e2 27 return false;
MAlmazan 0:a7fdb950e0e2 28 }
MAlmazan 0:a7fdb950e0e2 29 }
MAlmazan 0:a7fdb950e0e2 30
MAlmazan 0:a7fdb950e0e2 31 bool LEDColor(char C) {
MAlmazan 0:a7fdb950e0e2 32 bool b = true;
MAlmazan 0:a7fdb950e0e2 33
MAlmazan 0:a7fdb950e0e2 34 switch (C) {
MAlmazan 0:a7fdb950e0e2 35 case 'R':
MAlmazan 0:a7fdb950e0e2 36 LEDManual(0.0f, 1.0f, 1.0f);
MAlmazan 0:a7fdb950e0e2 37 break;
MAlmazan 0:a7fdb950e0e2 38 case 'G':
MAlmazan 0:a7fdb950e0e2 39 LEDManual(1.0f, 0.0f, 1.0f);
MAlmazan 0:a7fdb950e0e2 40 break;
MAlmazan 0:a7fdb950e0e2 41 case 'B':
MAlmazan 0:a7fdb950e0e2 42 LEDManual(1.0f, 1.0f, 0.0f);
MAlmazan 0:a7fdb950e0e2 43 break;
MAlmazan 0:a7fdb950e0e2 44 case 'Y':
MAlmazan 0:a7fdb950e0e2 45 LEDManual(0.0f, 0.0f, 1.0f);
MAlmazan 0:a7fdb950e0e2 46 break;
MAlmazan 0:a7fdb950e0e2 47 case 'M':
MAlmazan 0:a7fdb950e0e2 48 LEDManual(0.0f, 1.0f, 0.0f);
MAlmazan 0:a7fdb950e0e2 49 break;
MAlmazan 0:a7fdb950e0e2 50 case 'C':
MAlmazan 0:a7fdb950e0e2 51 LEDManual(1.0f, 0.0f, 0.0f);
MAlmazan 0:a7fdb950e0e2 52 break;
MAlmazan 0:a7fdb950e0e2 53 case 'W':
MAlmazan 0:a7fdb950e0e2 54 LEDManual(0.0f, 0.0f, 0.0f);
MAlmazan 0:a7fdb950e0e2 55 break;
MAlmazan 0:a7fdb950e0e2 56 default:
MAlmazan 0:a7fdb950e0e2 57 b = false;
MAlmazan 0:a7fdb950e0e2 58 break;
MAlmazan 0:a7fdb950e0e2 59 }
MAlmazan 0:a7fdb950e0e2 60
MAlmazan 0:a7fdb950e0e2 61 if (b) {
MAlmazan 0:a7fdb950e0e2 62 Estado[0] = ledR;
MAlmazan 0:a7fdb950e0e2 63 Estado[1] = ledG;
MAlmazan 0:a7fdb950e0e2 64 Estado[2] = ledB;
MAlmazan 0:a7fdb950e0e2 65 }
MAlmazan 0:a7fdb950e0e2 66
MAlmazan 0:a7fdb950e0e2 67 return b;
MAlmazan 0:a7fdb950e0e2 68 }
MAlmazan 0:a7fdb950e0e2 69
MAlmazan 0:a7fdb950e0e2 70 void LEDEstado(bool b) {
MAlmazan 0:a7fdb950e0e2 71 if (b) {
MAlmazan 0:a7fdb950e0e2 72 LEDManual(Estado[0], Estado[1], Estado[2]);
MAlmazan 0:a7fdb950e0e2 73 } else {
MAlmazan 0:a7fdb950e0e2 74 ledR = 1.0f;
MAlmazan 0:a7fdb950e0e2 75 ledG = 1.0f;
MAlmazan 0:a7fdb950e0e2 76 ledB = 1.0f;
MAlmazan 0:a7fdb950e0e2 77 }
MAlmazan 0:a7fdb950e0e2 78 }
MAlmazan 0:a7fdb950e0e2 79