Proyect for Digital Electronics II

Dependencies:   PIR mbed BH1750

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?

UserRevisionLine numberNew 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 }