Code for testing scooter electronics
Dependencies: mbed BH1750 BLE_API L3GD20H nRF51822
main.cpp@0:3cef86fc978f, 2022-02-15 (annotated)
- 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?
User | Revision | Line number | New 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 | } |