Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of QW-Closet-detection by
Diff: main.cpp
- Revision:
- 0:6c17d1a79f75
- Child:
- 1:95286e4370e7
diff -r 000000000000 -r 6c17d1a79f75 main.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp Thu Nov 05 09:40:10 2015 +0000
@@ -0,0 +1,48 @@
+#include "mbed.h"
+#include "VCNL4010.h"
+
+DigitalOut LED_0 (PB_6);
+DigitalOut LED_1 (PA_7);
+DigitalOut LED_2 (PA_6);
+DigitalOut LED_3 (PA_5);
+
+//Virtual serial port over USB
+Serial pc(USBTX, USBRX);
+Serial modem(PA_9, PA_10);
+
+// configure VCNL4010
+VCNL40x0 VCNL40x0_Device (PB_9, PB_8, VCNL40x0_ADDRESS); // Define SDA, SCL pin and I2C address
+
+
+int main() {
+
+ LED_0 = 1;
+ LED_1 = 1;
+ LED_2 = 1;
+ LED_3 = 1;
+
+ unsigned char ID=0;
+ unsigned int AmbiValue=0;
+
+ // print information on screen
+ pc.printf("\n\n VCNL4010 Proximity/Ambient Light Sensor");
+ pc.printf("\n Read Ambillight on demand in endless loop");
+
+ VCNL40x0_Device.ReadID (&ID); // Read VCNL40x0 product ID revision register
+ pc.printf("\n\n Product ID Revision Register: %d", ID);
+
+ wait_ms(3000); // wait 3s (only for display)
+
+ while(1) {
+ VCNL40x0_Device.ReadAmbiOnDemand (&AmbiValue); // read ambi value on demand
+ pc.printf("Ambient light: %5.0i cts \tIlluminance: %7.2f lx\r", AmbiValue, AmbiValue/4.0);
+ if(AmbiValue < 5000) LED_3 = 0;
+ else LED_3 = 1;
+ if(AmbiValue < 4000) LED_2 = 0;
+ else LED_2 = 1;
+ if(AmbiValue < 3000) LED_1 = 0;
+ else LED_1 = 1;
+ if(AmbiValue < 2000) LED_0 = 0;
+ else LED_0 = 1;
+ }
+}
\ No newline at end of file
