RGB Lights

Dependencies:   mbed PinDetect

Committer:
10724928
Date:
Wed Nov 10 12:25:49 2021 +0000
Revision:
7:bd8ad736bd09
Parent:
6:528d74136b6a
Child:
8:3949ee5c0083
Forking to include light sensor;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
reedas 2:ad262f2c84ca 1 /* Hello World! for the Emwin TFT Library */
reedas 1:402b32a1025f 2
romilly 0:6beb6f498640 3 #include "mbed.h"
reedas 1:402b32a1025f 4 #include "GUI.h"
reedas 1:402b32a1025f 5 #include "cy8ckit_028_tft.h"
reedas 2:ad262f2c84ca 6
reedas 5:9a03cb84a60c 7 #define LED_DIAMETER (32)
reedas 4:d129442ea4dd 8 #define LED_RADIUS (LED_DIAMETER/2)
reedas 4:d129442ea4dd 9 #define DISPLAY_X (320)
reedas 4:d129442ea4dd 10 #define DISPLAY_Y (240)
reedas 4:d129442ea4dd 11 #define NUMLEDS_X (DISPLAY_X/LED_DIAMETER)
reedas 4:d129442ea4dd 12 #define NUMLEDS_Y (DISPLAY_Y/LED_DIAMETER)
reedas 4:d129442ea4dd 13 #define LED_OFF (0)
reedas 4:d129442ea4dd 14 #define LED_ON (1)
reedas 4:d129442ea4dd 15 #define TITLE_OFFSET (16+LED_RADIUS)
reedas 1:402b32a1025f 16
reedas 6:528d74136b6a 17 AnalogIn lightLevel(P10_0);
reedas 6:528d74136b6a 18
reedas 1:402b32a1025f 19 void Display_Init(void)
reedas 1:402b32a1025f 20 {
reedas 4:d129442ea4dd 21 /* Initialise EmWin driver*/
reedas 4:d129442ea4dd 22 GUI_Init();
reedas 1:402b32a1025f 23
reedas 1:402b32a1025f 24 /* Set font size, foreground and background Colours */
reedas 6:528d74136b6a 25 GUI_SetFont(GUI_FONT_24B_1);
reedas 1:402b32a1025f 26 GUI_SetColor(GUI_WHITE);
reedas 1:402b32a1025f 27 GUI_SetBkColor(GUI_BLACK);
romilly 0:6beb6f498640 28
reedas 1:402b32a1025f 29 /* Clear screen and print splash screen */
reedas 1:402b32a1025f 30 GUI_Clear();
reedas 1:402b32a1025f 31 GUI_SetTextAlign(GUI_TA_HCENTER);
reedas 6:528d74136b6a 32 GUI_DispStringAt("CITY3032 Light Level", 160, 0);
reedas 1:402b32a1025f 33 }
reedas 1:402b32a1025f 34
reedas 1:402b32a1025f 35 int main()
reedas 1:402b32a1025f 36 {
reedas 1:402b32a1025f 37 /* Initialise display */
reedas 1:402b32a1025f 38 Display_Init();
reedas 2:ad262f2c84ca 39
reedas 6:528d74136b6a 40 printf("light level\r\n");
reedas 1:402b32a1025f 41
10724928 7:bd8ad736bd09 42 GUI_SetFont(GUI_FONT_D60X80);
reedas 6:528d74136b6a 43 GUI_SetColor(GUI_WHITE);
reedas 6:528d74136b6a 44 while(true) {
10724928 7:bd8ad736bd09 45 GUI_SetColor(GUI_WHITE);
reedas 6:528d74136b6a 46 int lightPercent;
reedas 6:528d74136b6a 47 lightPercent = (lightLevel.read_u16()*100)/65535;
reedas 6:528d74136b6a 48 printf("light level is %d\r\n",lightPercent);
reedas 6:528d74136b6a 49 ThisThread::sleep_for(1000);
10724928 7:bd8ad736bd09 50 char buffer[16];
10724928 7:bd8ad736bd09 51 sprintf(buffer,"%d",lightPercent);
10724928 7:bd8ad736bd09 52 GUI_SetTextAlign(GUI_TA_HCENTER);
10724928 7:bd8ad736bd09 53 GUI_DispStringAt(buffer,160,40);
10724928 7:bd8ad736bd09 54 GUI_SetColor(GUI_WHITE);
10724928 7:bd8ad736bd09 55 GUI_DrawRect(260, 20, 300, 220);
10724928 7:bd8ad736bd09 56 GUI_SetColor(GUI_CYAN);
10724928 7:bd8ad736bd09 57 GUI_FillRect(260, 220 - lightPercent * 2, 300, 220 );
reedas 4:d129442ea4dd 58 }
reedas 6:528d74136b6a 59
romilly 0:6beb6f498640 60 }
reedas 1:402b32a1025f 61
reedas 1:402b32a1025f 62
reedas 1:402b32a1025f 63