TEMPLATE light sensor 3 fork

Dependencies:   mbed PinDetect

Revision:
8:ab7982d1ce50
Parent:
7:5e220d3e8a94
--- a/main.cpp	Wed Nov 10 11:47:39 2021 +0000
+++ b/main.cpp	Wed Nov 10 13:06:53 2021 +0000
@@ -15,6 +15,13 @@
 #define TITLE_OFFSET    (16+LED_RADIUS)    
 
 AnalogIn lightlevel(P10_0);  
+DigitalOut lights(LED4);
+DigitalOut lightsR(LED1);
+DigitalOut lightsG(LED3);
+DigitalOut lightsB(LED2);
+
+
+bool lightStatus;
 
 void Display_Init(void)
 {
@@ -34,10 +41,17 @@
 
 int main()
 {
+    int lowThresh, highThresh;
+    lowThresh = 40;
+    highThresh = 70;
+    lights, 0;
+    
+
     /* Initialise display */
     Display_Init();
 
-    printf("PRINTING LIGHT LEVEL\r\n");
+    printf("LIGHT LEVEL CONTROL\r\n");
+    lightStatus = false;
 
     GUI_SetFont(GUI_FONT_D80);
     GUI_SetColor(GUI_BLUE);
@@ -45,6 +59,25 @@
         int lightpercent;
         lightpercent = (lightlevel.read_u16()*100)/65535;
         printf("light level is %d\r\n", lightpercent);
+        if(lightpercent > highThresh) lightStatus = 1;
+        else if(lightpercent < lowThresh) lightStatus = 0;
+        lights = lightStatus;
+        if(lightpercent > highThresh) {
+            lightsB = 0;
+            lightsR = 1;
+            lightsG = 1;
+            }
+        if(lightpercent < highThresh && lightpercent > lowThresh) {
+            lightsB = 1;
+            lightsR = 1;
+            lightsG = 0;
+            }
+         if(lightpercent < lowThresh) {
+            lightsB = 1;
+            lightsR = 0;
+            lightsG = 1;
+            }
+            
         ThisThread::sleep_for(1000);
         char buffer[16];
         sprintf(buffer, "%d", lightpercent);