Code for testing scooter electronics

Dependencies:   mbed BH1750 BLE_API L3GD20H nRF51822

Committer:
wonin
Date:
Tue Feb 15 22:22:20 2022 +0000
Revision:
0:3cef86fc978f
Child:
1:aa9eabdefc12
dimmer basic working;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
wonin 0:3cef86fc978f 1
wonin 0:3cef86fc978f 2 #include "mbed.h"
wonin 0:3cef86fc978f 3 #include "BH1750.h"
wonin 0:3cef86fc978f 4
wonin 0:3cef86fc978f 5 // I2C Communication
wonin 0:3cef86fc978f 6 BH1750 lum(P0_30,P0_7); // BH1750 SDA, SCL
wonin 0:3cef86fc978f 7 Serial pc(USBTX, USBRX); // tx, rx
wonin 0:3cef86fc978f 8
wonin 0:3cef86fc978f 9 DigitalOut led(LED2);
wonin 0:3cef86fc978f 10 int tickerCntr1 = 0;
wonin 0:3cef86fc978f 11 Ticker flipLed;
wonin 0:3cef86fc978f 12 float dutyCycle=1.0f;
wonin 0:3cef86fc978f 13
wonin 0:3cef86fc978f 14
wonin 0:3cef86fc978f 15 DigitalOut BH1750_EN0(P0_13);
wonin 0:3cef86fc978f 16 float lum0 = 0;
wonin 0:3cef86fc978f 17 //DigitalOut BH1750_EN1(P0_14);
wonin 0:3cef86fc978f 18 //float lum1 = 0;
wonin 0:3cef86fc978f 19
wonin 0:3cef86fc978f 20
wonin 0:3cef86fc978f 21 // // If you connected I2C line not only this device but also other devices,
wonin 0:3cef86fc978f 22 // // you need to declare following method.
wonin 0:3cef86fc978f 23 // I2C i2c(P0_7,P0_30); // SDA, SCL
wonin 0:3cef86fc978f 24 // BH1750 lum(i2c); // BH1750 SDA, SCL (Data available every 120mSec)
wonin 0:3cef86fc978f 25
wonin 0:3cef86fc978f 26 void flip(){
wonin 0:3cef86fc978f 27 // if(tickerCntr1 %3000 == 0)
wonin 0:3cef86fc978f 28 // dutyCycle -= 0.01;
wonin 0:3cef86fc978f 29 //
wonin 0:3cef86fc978f 30 // if(dutyCycle<= 0)
wonin 0:3cef86fc978f 31 // dutyCycle = 1;
wonin 0:3cef86fc978f 32 if(dutyCycle<= 0)
wonin 0:3cef86fc978f 33 dutyCycle = 0;
wonin 0:3cef86fc978f 34 else if(dutyCycle >= 1)
wonin 0:3cef86fc978f 35 dutyCycle = 1;
wonin 0:3cef86fc978f 36
wonin 0:3cef86fc978f 37 if(100*dutyCycle >= tickerCntr1%100){
wonin 0:3cef86fc978f 38 led = 1;
wonin 0:3cef86fc978f 39 }
wonin 0:3cef86fc978f 40 else{
wonin 0:3cef86fc978f 41 led = 0;
wonin 0:3cef86fc978f 42 }
wonin 0:3cef86fc978f 43 tickerCntr1++;
wonin 0:3cef86fc978f 44
wonin 0:3cef86fc978f 45 if(tickerCntr1 ==100001 )
wonin 0:3cef86fc978f 46 tickerCntr1 = 0;
wonin 0:3cef86fc978f 47
wonin 0:3cef86fc978f 48 }
wonin 0:3cef86fc978f 49
wonin 0:3cef86fc978f 50 void measureBH1750_0(){
wonin 0:3cef86fc978f 51 BH1750_EN0 = 0;
wonin 0:3cef86fc978f 52 BH1750_EN1 = 1;
wonin 0:3cef86fc978f 53 //wait(0.005);
wonin 0:3cef86fc978f 54 return lum.lux();
wonin 0:3cef86fc978f 55 }
wonin 0:3cef86fc978f 56
wonin 0:3cef86fc978f 57 float measureBH1750_1(){
wonin 0:3cef86fc978f 58 BH1750_EN0 = 1;
wonin 0:3cef86fc978f 59 BH1750_EN1 = 0;
wonin 0:3cef86fc978f 60 // wait(0.005);
wonin 0:3cef86fc978f 61 return lum.lux();
wonin 0:3cef86fc978f 62 }
wonin 0:3cef86fc978f 63
wonin 0:3cef86fc978f 64
wonin 0:3cef86fc978f 65 int main() {;
wonin 0:3cef86fc978f 66 int reading_num = 0;
wonin 0:3cef86fc978f 67
wonin 0:3cef86fc978f 68
wonin 0:3cef86fc978f 69 flipLed.attach_us(&flip, 50.0f);
wonin 0:3cef86fc978f 70 while(true){
wonin 0:3cef86fc978f 71 // lum1 = measureBH1750_1();
wonin 0:3cef86fc978f 72 // lum0 = measureBH1750_0();
wonin 0:3cef86fc978f 73 // pc.printf("Illuminance 1: %+7.2f [Lux] : Illuminance 2: %+7.2f [Lux] : %i\r\n", lum0, lum1, reading_num++);
wonin 0:3cef86fc978f 74
wonin 0:3cef86fc978f 75 wait(0.5);
wonin 0:3cef86fc978f 76 }
wonin 0:3cef86fc978f 77
wonin 0:3cef86fc978f 78 }