essai de commande RGB

Dependencies:   mbed-src

Fork of PwmOut_HelloWorld_WIZwiki-W7500 by WIZnet

Committer:
Fo170
Date:
Sun May 15 00:11:43 2016 +0000
Revision:
4:8f19603751cc
Parent:
3:c97f8e12e04c
Modification du Mode RGB

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 0:50d2b9c62765 1 #include "mbed.h"
Fo170 4:8f19603751cc 2 #if defined(TARGET_WIZwiki_W7500)
Fo170 4:8f19603751cc 3 Serial pc(USBTX, USBRX); // tx, rx
Fo170 3:c97f8e12e04c 4 /* W7500
Fo170 3:c97f8e12e04c 5 LED1 = LED_RED = LEDR = PC_8
Fo170 3:c97f8e12e04c 6 LED2 = LED_GREEN = LEDG = PC_9
Fo170 3:c97f8e12e04c 7 LED3 = LED_BLUE = LEDB = PC_5
Fo170 3:c97f8e12e04c 8 LED4 = LED_BLUE
Fo170 3:c97f8e12e04c 9 */
Fo170 3:c97f8e12e04c 10 DigitalOut red(LED_RED);
Fo170 3:c97f8e12e04c 11 DigitalOut green(LED_GREEN);
Fo170 3:c97f8e12e04c 12 DigitalOut blue(LED_BLUE);
Fo170 4:8f19603751cc 13 #endif
Fo170 4:8f19603751cc 14
Fo170 4:8f19603751cc 15 #define LED_ON 0
Fo170 4:8f19603751cc 16 #define LED_OFF 1
Fo170 4:8f19603751cc 17
Fo170 4:8f19603751cc 18 #define _WHITE_ 0xFFFFFF //9
Fo170 4:8f19603751cc 19 #define _PURPLE_ 0xFF00FF //7
Fo170 4:8f19603751cc 20 #define _BLUE_ 0x0000FF //6
Fo170 4:8f19603751cc 21 #define _CYAN_ 0x00FFFF //55
Fo170 4:8f19603751cc 22 #define _GREEN_ 0x00FF00 //5
Fo170 4:8f19603751cc 23 #define _YELLOW_ 0xFFFF00 //4
Fo170 4:8f19603751cc 24 #define _ORANGE_ 0x10FF00 //3
Fo170 4:8f19603751cc 25 #define _RED_ 0xFF0000 //2
Fo170 4:8f19603751cc 26 #define _BLACK_ 0x000000 //0
Fo170 4:8f19603751cc 27
Fo170 4:8f19603751cc 28 Ticker RGB_led_ticker;
Fo170 4:8f19603751cc 29
Fo170 4:8f19603751cc 30 int j_color = 0;
Fo170 4:8f19603751cc 31 int r_value = 0;
Fo170 4:8f19603751cc 32 int g_value = 0;
Fo170 4:8f19603751cc 33 int b_value = 0;
Fo170 4:8f19603751cc 34
Fo170 4:8f19603751cc 35 void RGB_led()
Fo170 4:8f19603751cc 36 {
Fo170 4:8f19603751cc 37 ++j_color;
Fo170 4:8f19603751cc 38 if(j_color >= 256) j_color = 0;
Fo170 4:8f19603751cc 39
Fo170 4:8f19603751cc 40 if(r_value <= j_color) red = LED_ON;
Fo170 4:8f19603751cc 41 else red = LED_OFF;
Fo170 4:8f19603751cc 42
Fo170 4:8f19603751cc 43 if(g_value <= j_color) green = LED_ON;
Fo170 4:8f19603751cc 44 else green = LED_OFF;
Fo170 4:8f19603751cc 45
Fo170 4:8f19603751cc 46 if(b_value <= j_color) blue = LED_ON;
Fo170 4:8f19603751cc 47 else blue = LED_OFF;
Fo170 4:8f19603751cc 48 }
Fo170 4:8f19603751cc 49
Fo170 4:8f19603751cc 50 void RGB_COLOR(int r, int g, int b)
Fo170 4:8f19603751cc 51 {
Fo170 4:8f19603751cc 52 r_value = 255 - r;
Fo170 4:8f19603751cc 53 g_value = 255 - g;
Fo170 4:8f19603751cc 54 b_value = 255 - b;
Fo170 4:8f19603751cc 55 /*
Fo170 4:8f19603751cc 56 if(r_value<0) r = 0;
Fo170 4:8f19603751cc 57 if(r_value>255) r = 255;
Fo170 4:8f19603751cc 58
Fo170 4:8f19603751cc 59 if(g_value<0) g = 0;
Fo170 4:8f19603751cc 60 if(g_value>255) g = 255;
Fo170 4:8f19603751cc 61
Fo170 4:8f19603751cc 62 if(b_value<0) b = 0;
Fo170 4:8f19603751cc 63 if(b_value>255) b = 255;
Fo170 4:8f19603751cc 64 */
Fo170 4:8f19603751cc 65 }
Fo170 4:8f19603751cc 66
Fo170 4:8f19603751cc 67 void init_rgb_color(void)
Fo170 4:8f19603751cc 68 {
Fo170 4:8f19603751cc 69 RGB_led_ticker.attach(&RGB_led, 0.01);
Fo170 4:8f19603751cc 70 }
Fo170 4:8f19603751cc 71
Fo170 4:8f19603751cc 72 void COLOR(int c)
Fo170 4:8f19603751cc 73 {
Fo170 4:8f19603751cc 74 switch(c)
Fo170 4:8f19603751cc 75 {
Fo170 4:8f19603751cc 76 case _WHITE_:
Fo170 4:8f19603751cc 77 //red = LED_ON, green = LED_ON, blue = LED_ON;
Fo170 4:8f19603751cc 78 RGB_COLOR(255, 255, 255);
Fo170 4:8f19603751cc 79 break;
Fo170 4:8f19603751cc 80
Fo170 4:8f19603751cc 81 case _PURPLE_:
Fo170 4:8f19603751cc 82 //red = LED_ON, green = LED_OFF, blue = LED_ON;
Fo170 4:8f19603751cc 83 RGB_COLOR(255, 0, 255);
Fo170 4:8f19603751cc 84 break;
Fo170 4:8f19603751cc 85
Fo170 4:8f19603751cc 86 case _BLUE_:
Fo170 4:8f19603751cc 87 //red = LED_OFF, green = LED_OFF, blue = LED_ON;
Fo170 4:8f19603751cc 88 RGB_COLOR(0, 0, 255);
Fo170 4:8f19603751cc 89 break;
Fo170 4:8f19603751cc 90
Fo170 4:8f19603751cc 91 case _CYAN_:
Fo170 4:8f19603751cc 92 //red = LED_OFF, green = LED_ON, blue = LED_ON;
Fo170 4:8f19603751cc 93 RGB_COLOR(0, 255, 255);
Fo170 4:8f19603751cc 94 break;
Fo170 4:8f19603751cc 95
Fo170 4:8f19603751cc 96 case _GREEN_:
Fo170 4:8f19603751cc 97 //red = LED_OFF, green = LED_ON, blue = LED_OFF;
Fo170 4:8f19603751cc 98 RGB_COLOR(0, 255, 0);
Fo170 4:8f19603751cc 99 break;
Fo170 4:8f19603751cc 100
Fo170 4:8f19603751cc 101 case _YELLOW_:
Fo170 4:8f19603751cc 102 //red = LED_ON, green = LED_ON, blue = LED_OFF;
Fo170 4:8f19603751cc 103 RGB_COLOR(255, 255, 0);
Fo170 4:8f19603751cc 104 break;
Fo170 4:8f19603751cc 105 /*
Fo170 4:8f19603751cc 106 case _ORANGE_:
Fo170 4:8f19603751cc 107 RGB_COLOR(80, 80, 0);
Fo170 4:8f19603751cc 108 break;
Fo170 4:8f19603751cc 109 */
Fo170 4:8f19603751cc 110 case _RED_:
Fo170 4:8f19603751cc 111 //red = LED_ON, green = LED_OFF, blue = LED_OFF;
Fo170 4:8f19603751cc 112 RGB_COLOR(255, 0, 0);
Fo170 4:8f19603751cc 113 break;
Fo170 4:8f19603751cc 114
Fo170 4:8f19603751cc 115 case _BLACK_:
Fo170 4:8f19603751cc 116 default:
Fo170 4:8f19603751cc 117 //red = LED_OFF, green = LED_OFF, blue = LED_OFF;
Fo170 4:8f19603751cc 118 RGB_COLOR(0, 0, 0);
Fo170 4:8f19603751cc 119 }
Fo170 4:8f19603751cc 120 }
Fo170 3:c97f8e12e04c 121
Fo170 3:c97f8e12e04c 122 int i;
mbedAustin 1:5160ea45399b 123
Fo170 4:8f19603751cc 124 int main()
Fo170 4:8f19603751cc 125 {
Fo170 4:8f19603751cc 126 // Serial port configuration (valeurs par defaut) : 9600 baud, 8-bit data, no parity, stop bit
Fo170 4:8f19603751cc 127 pc.baud(9600);
Fo170 4:8f19603751cc 128 pc.format(8, SerialBase::None, 1);
Fo170 4:8f19603751cc 129
Fo170 4:8f19603751cc 130 pc.printf("\n\rHello World!\n\r");
Fo170 4:8f19603751cc 131 init_rgb_color();
Fo170 4:8f19603751cc 132 /*
Fo170 4:8f19603751cc 133 while(1000)
Fo170 4:8f19603751cc 134 {
Fo170 4:8f19603751cc 135 for (i=1; i<7; i++)
Fo170 4:8f19603751cc 136 {
Fo170 3:c97f8e12e04c 137 red = i & 1;
Fo170 3:c97f8e12e04c 138 blue = i & 2;
Fo170 3:c97f8e12e04c 139 green = i & 4;
Fo170 3:c97f8e12e04c 140 wait(0.2);
Fo170 3:c97f8e12e04c 141 }
Fo170 3:c97f8e12e04c 142 }
Fo170 4:8f19603751cc 143 */
Fo170 4:8f19603751cc 144 COLOR(_BLACK_);
Fo170 4:8f19603751cc 145 pc.printf("\n\r_BLACK_\n\r");
Fo170 4:8f19603751cc 146 wait(5.0);
Fo170 4:8f19603751cc 147 COLOR(_RED_);
Fo170 4:8f19603751cc 148 pc.printf("\n\r_RED_\n\r");
Fo170 4:8f19603751cc 149 wait(5.0);
Fo170 4:8f19603751cc 150 /*COLOR(_ORANGE_);
Fo170 4:8f19603751cc 151 pc.printf("\n\r_ORANGE_\n\r");*/
Fo170 4:8f19603751cc 152 wait(5.0);
Fo170 4:8f19603751cc 153 COLOR(_YELLOW_);
Fo170 4:8f19603751cc 154 pc.printf("\n\r_YELLOW_\n\r");
Fo170 4:8f19603751cc 155 wait(5.0);
Fo170 4:8f19603751cc 156 COLOR(_GREEN_);
Fo170 4:8f19603751cc 157 pc.printf("\n\r_GREEN_\n\r");
Fo170 4:8f19603751cc 158 wait(5.0);
Fo170 4:8f19603751cc 159 COLOR(_CYAN_);
Fo170 4:8f19603751cc 160 pc.printf("\n\r_CYAN_\n\r");
Fo170 4:8f19603751cc 161 wait(5.0);
Fo170 4:8f19603751cc 162 COLOR(_BLUE_);
Fo170 4:8f19603751cc 163 pc.printf("\n\r_BLUE_\n\r");
Fo170 4:8f19603751cc 164 wait(5.0);
Fo170 4:8f19603751cc 165 COLOR(_PURPLE_);
Fo170 4:8f19603751cc 166 pc.printf("\n\rH_PURPLE_\n\r");
Fo170 4:8f19603751cc 167 wait(5.0);
Fo170 4:8f19603751cc 168 COLOR(_WHITE_);
Fo170 4:8f19603751cc 169 pc.printf("\n\r_WHITE_\n\r");
Fo170 4:8f19603751cc 170 wait(5.0);
mbed_official 0:50d2b9c62765 171 }