Displays 4 bit binary count on bar graph display. Demonstrates BusOut usage.

Dependencies:   mbed

Fork of Nightlight3 by Charles Tritt

Revision:
5:f723b267eae3
Parent:
4:aa100356f053
Child:
6:0c1ab2c11252
--- a/main.cpp	Thu Mar 30 23:59:22 2017 +0000
+++ b/main.cpp	Thu Apr 06 18:09:47 2017 +0000
@@ -1,8 +1,8 @@
 /*
-    Project: Nightlight2
+    Project: Nightlight3
     File: main.cpp
     
-    See Word document.
+    See Word document. Common anode version (makes equations odd).
     
     Written by: Dr. C. S. Tritt
     Created: 3/26/17 (v. 1.0)
@@ -13,8 +13,8 @@
 const int HIGH = 1; // Inclusion is optional, but makes code more readable.
 const int LOW = 0; // Inclusion is optional, but makes code more readable.
 
-const float br_min = 0.070; // Read from serial stream and enter.
-const float br_max = 0.430; // Read from serial stream and enter.
+const float br_min = 0.60; // Read from serial stream and enter.
+const float br_max = 0.89; // Read from serial stream and enter.
 const float k_1 = 0.7; // These values work well...
 const float k_2 = 0.5;
 const float k_3 = 0.3;
@@ -22,7 +22,7 @@
 const float blu_grn = br_min + k_2*(br_max - br_min); // Blue-green fade.
 const float grn_red = br_min + k_3*(br_max - br_min); // Green-red fade.
  
-AnalogIn photocell(A1); // Create object for photocell.
+AnalogIn photocell(A0); // Create object for photocell.
 PwmOut red(D9), grn(D10), blu(D11); // Create objects for LED connected pins.
 
 int main() {
@@ -34,24 +34,24 @@
         brightness = photocell; // Read light level (0 to 1).
         printf("Value = %f\n", brightness); // Send as text via serial port.
         if (brightness > all_off) { // Bright light. All LEDs off.
-          red = LOW;
-          grn = LOW;
-          blu = LOW;
+          red = HIGH;
+          grn = HIGH;
+          blu = HIGH;
         }
         else if (brightness > blu_grn) { // Blue to green fade.
-          red = LOW;
-          grn = (all_off - brightness)/(all_off - blu_grn);
+          red = HIGH;
+          grn = 1.0f - (all_off - brightness)/(all_off - blu_grn);
           blu = 1.0f - grn;
         }
         else if (brightness > grn_red) { // Green to red fade.
-          red = (blu_grn - brightness)/(blu_grn - grn_red);
+          red = 1.0f - (blu_grn - brightness)/(blu_grn - grn_red);
           grn = 1.0f - red;
-          blu = LOW;
+          blu = HIGH;
         }
         else { // Red on full intensity.
-          red = HIGH;
-          grn = LOW;
-          blu = LOW;            
+          red = LOW;
+          grn = HIGH;
+          blu = HIGH;            
         }
         wait(0.1); // Delay 100 ms
     }