Proyect for Digital Electronics II

Dependencies:   PIR mbed BH1750

Committer:
junmorenodi
Date:
Thu Jul 11 13:42:21 2019 +0000
Revision:
4:1454e3abad62
Parent:
2:2a51bb467d8d
Con Libreria PIR;

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 4:1454e3abad62 3 #include "PIR.h"
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 4:1454e3abad62 8 PwmOut led(LED3);
junmorenodi 4:1454e3abad62 9 PIR pir_obj(A0);
junmorenodi 4:1454e3abad62 10 DigitalOut led_PIR(LED2);
junmorenodi 0:8e048063034d 11
junmorenodi 0:8e048063034d 12 int main()
junmorenodi 0:8e048063034d 13 {
junmorenodi 0:8e048063034d 14 lightSensor.init();
junmorenodi 0:8e048063034d 15
junmorenodi 2:2a51bb467d8d 16 float Max_Level=54612.5;
junmorenodi 2:2a51bb467d8d 17 float period=0.001;
junmorenodi 2:2a51bb467d8d 18 float duty=1.0f;
junmorenodi 2:2a51bb467d8d 19 float Desired_Level_1= Max_Level*10/100;
junmorenodi 2:2a51bb467d8d 20 float Desired_Level_2= Max_Level*50/100;
junmorenodi 2:2a51bb467d8d 21 float Desired_Level_3= Max_Level*90/100;
junmorenodi 1:31d8b73f51e6 22
junmorenodi 2:2a51bb467d8d 23 while(1)
junmorenodi 2:2a51bb467d8d 24 {
junmorenodi 4:1454e3abad62 25
junmorenodi 4:1454e3abad62 26 led_PIR=pir_obj.getData();
junmorenodi 4:1454e3abad62 27
junmorenodi 2:2a51bb467d8d 28 float Actual_Level=lightSensor.readIntesity(); //Sample Time 120ms Res 1 lx
junmorenodi 2:2a51bb467d8d 29 if (Actual_Level<=Desired_Level_1)
junmorenodi 2:2a51bb467d8d 30 {
junmorenodi 2:2a51bb467d8d 31 duty=0.9f;
junmorenodi 2:2a51bb467d8d 32 }
junmorenodi 2:2a51bb467d8d 33 else if ((Actual_Level>Desired_Level_1)&&(Actual_Level<=Desired_Level_2))
junmorenodi 2:2a51bb467d8d 34 {
junmorenodi 2:2a51bb467d8d 35 duty=0.5f;
junmorenodi 2:2a51bb467d8d 36 }
junmorenodi 2:2a51bb467d8d 37 else if ((Actual_Level>Desired_Level_2)&&(Actual_Level<=Desired_Level_3))
junmorenodi 2:2a51bb467d8d 38 {
junmorenodi 2:2a51bb467d8d 39 duty=0.1f;
junmorenodi 2:2a51bb467d8d 40 }
junmorenodi 2:2a51bb467d8d 41 else
junmorenodi 2:2a51bb467d8d 42 {
junmorenodi 2:2a51bb467d8d 43 duty=1.0f;
junmorenodi 2:2a51bb467d8d 44 }
junmorenodi 2:2a51bb467d8d 45
junmorenodi 2:2a51bb467d8d 46
junmorenodi 2:2a51bb467d8d 47 led.period(period);
junmorenodi 2:2a51bb467d8d 48 led.write(duty);
junmorenodi 2:2a51bb467d8d 49
junmorenodi 0:8e048063034d 50 pc.printf("Light intensity: %.4f Lux\r\n", lightSensor.readIntesity());
junmorenodi 2:2a51bb467d8d 51 pc.printf("PWM Duty Cycle: %.2f %\r\n", duty*100);
junmorenodi 2:2a51bb467d8d 52 wait(1);
junmorenodi 2:2a51bb467d8d 53 }
junmorenodi 0:8e048063034d 54 }