![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Proyect for Digital Electronics II
Main/main.cpp@2:2a51bb467d8d, 2019-07-06 (annotated)
- Committer:
- junmorenodi
- Date:
- Sat Jul 06 23:58:30 2019 +0000
- Revision:
- 2:2a51bb467d8d
- Parent:
- 1:31d8b73f51e6
- Child:
- 4:1454e3abad62
Sensor y PWM Funcionando con Nivles Predeterminados
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
junmorenodi | 0:8e048063034d | 1 | #include "mbed.h" |
junmorenodi | 0:8e048063034d | 2 | #include "BH1750.h" |
junmorenodi | 0:8e048063034d | 3 | |
junmorenodi | 1:31d8b73f51e6 | 4 | |
junmorenodi | 0:8e048063034d | 5 | //BH1750 lightSensor(I2C_SDA, I2C_SCL); |
junmorenodi | 0:8e048063034d | 6 | BH1750 lightSensor(PB_9, PB_8); |
junmorenodi | 0:8e048063034d | 7 | Serial pc(SERIAL_TX, SERIAL_RX); |
junmorenodi | 2:2a51bb467d8d | 8 | PwmOut led(PA_3); |
junmorenodi | 0:8e048063034d | 9 | |
junmorenodi | 0:8e048063034d | 10 | int main() |
junmorenodi | 0:8e048063034d | 11 | { |
junmorenodi | 0:8e048063034d | 12 | lightSensor.init(); |
junmorenodi | 0:8e048063034d | 13 | |
junmorenodi | 2:2a51bb467d8d | 14 | float Max_Level=54612.5; |
junmorenodi | 2:2a51bb467d8d | 15 | float period=0.001; |
junmorenodi | 2:2a51bb467d8d | 16 | float duty=1.0f; |
junmorenodi | 2:2a51bb467d8d | 17 | float Desired_Level_1= Max_Level*10/100; |
junmorenodi | 2:2a51bb467d8d | 18 | float Desired_Level_2= Max_Level*50/100; |
junmorenodi | 2:2a51bb467d8d | 19 | float Desired_Level_3= Max_Level*90/100; |
junmorenodi | 1:31d8b73f51e6 | 20 | |
junmorenodi | 2:2a51bb467d8d | 21 | while(1) |
junmorenodi | 2:2a51bb467d8d | 22 | { |
junmorenodi | 2:2a51bb467d8d | 23 | float Actual_Level=lightSensor.readIntesity(); //Sample Time 120ms Res 1 lx |
junmorenodi | 2:2a51bb467d8d | 24 | if (Actual_Level<=Desired_Level_1) |
junmorenodi | 2:2a51bb467d8d | 25 | { |
junmorenodi | 2:2a51bb467d8d | 26 | duty=0.9f; |
junmorenodi | 2:2a51bb467d8d | 27 | } |
junmorenodi | 2:2a51bb467d8d | 28 | else if ((Actual_Level>Desired_Level_1)&&(Actual_Level<=Desired_Level_2)) |
junmorenodi | 2:2a51bb467d8d | 29 | { |
junmorenodi | 2:2a51bb467d8d | 30 | duty=0.5f; |
junmorenodi | 2:2a51bb467d8d | 31 | } |
junmorenodi | 2:2a51bb467d8d | 32 | else if ((Actual_Level>Desired_Level_2)&&(Actual_Level<=Desired_Level_3)) |
junmorenodi | 2:2a51bb467d8d | 33 | { |
junmorenodi | 2:2a51bb467d8d | 34 | duty=0.1f; |
junmorenodi | 2:2a51bb467d8d | 35 | } |
junmorenodi | 2:2a51bb467d8d | 36 | else |
junmorenodi | 2:2a51bb467d8d | 37 | { |
junmorenodi | 2:2a51bb467d8d | 38 | duty=1.0f; |
junmorenodi | 2:2a51bb467d8d | 39 | } |
junmorenodi | 2:2a51bb467d8d | 40 | |
junmorenodi | 2:2a51bb467d8d | 41 | |
junmorenodi | 2:2a51bb467d8d | 42 | led.period(period); |
junmorenodi | 2:2a51bb467d8d | 43 | led.write(duty); |
junmorenodi | 2:2a51bb467d8d | 44 | |
junmorenodi | 0:8e048063034d | 45 | pc.printf("Light intensity: %.4f Lux\r\n", lightSensor.readIntesity()); |
junmorenodi | 2:2a51bb467d8d | 46 | pc.printf("PWM Duty Cycle: %.2f %\r\n", duty*100); |
junmorenodi | 2:2a51bb467d8d | 47 | wait(1); |
junmorenodi | 2:2a51bb467d8d | 48 | } |
junmorenodi | 0:8e048063034d | 49 | } |