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

Dependencies:   mbed

Fork of Nightlight3 by Charles Tritt

Revision:
6:0c1ab2c11252
Parent:
5:f723b267eae3
Child:
7:52ed5fbb1208
--- a/main.cpp	Thu Apr 06 18:09:47 2017 +0000
+++ b/main.cpp	Wed Sep 13 10:32:11 2017 +0000
@@ -1,58 +1,29 @@
 /*
-    Project: Nightlight3
+    Project: BinaryCount
     File: main.cpp
     
-    See Word document. Common anode version (makes equations odd).
+    Displays 4 bit binary count on bar graph display.
     
     Written by: Dr. C. S. Tritt
-    Created: 3/26/17 (v. 1.0)
-    
+    Created: 9/13/17 (v. 1.0)
 */
 #include "mbed.h"
 
-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.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;
-const float all_off = br_min + k_1*(br_max - br_min); // Thresholds... All off.
-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(A0); // Create object for photocell.
-PwmOut red(D9), grn(D10), blu(D11); // Create objects for LED connected pins.
+BusOut barGraph(D5, D4, D3, D2);  // Create barGraph BusOut object.
+DigitalOut pinD7(D7);  // Needed to force this pin off.
 
 int main() {
-    float brightness; // 0 to 1 max. range. Larger indicates brighter light.
+
+    printf("Binary count example\n"); // ID software.
     
-    printf("\nSmart nightlight example\n"); // ID software.
+    pinD7 = 0; // Force pin D7 off. This shouldn't be necessary.
     
+    barGraph = 0;  // Light top bar.
     while(true) {
-        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 = HIGH;
-          grn = HIGH;
-          blu = HIGH;
+        barGraph = barGraph + 1; // Add one to count.
+        wait(1.0);
+        if (barGraph == 15) {
+            barGraph = 0;
         }
-        else if (brightness > blu_grn) { // Blue to green fade.
-          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 = 1.0f - (blu_grn - brightness)/(blu_grn - grn_red);
-          grn = 1.0f - red;
-          blu = HIGH;
-        }
-        else { // Red on full intensity.
-          red = LOW;
-          grn = HIGH;
-          blu = HIGH;            
-        }
-        wait(0.1); // Delay 100 ms
     }
 }
\ No newline at end of file