School project.
Dependencies: Timezone NTPClient BSP_DISCO_F746NG Grove_temperature
main.cpp@7:b80c993f4db5, 2021-01-14 (annotated)
- Committer:
- tuxx0046
- Date:
- Thu Jan 14 12:28:45 2021 +0000
- Revision:
- 7:b80c993f4db5
- Parent:
- 6:aecab8e3acad
- Child:
- 8:1a1e7cf7dcb6
Changed light_sensor_get_light_intensity() function to return an integer.; It now takes the sensor read value, multiplies the value by 100, rounds it to nearest whole number and returns it, effectively expressing light intensity in percentage.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
tuxx0046 | 1:1ee11539cc43 | 1 | /** |
tuxx0046 | 0:ed4063a0a4d5 | 2 | @file main.cpp |
tuxx0046 | 0:ed4063a0a4d5 | 3 | @brief Light Control System to automatically dimmer or increase light levels depending on registered light intensity. |
tuxx0046 | 6:aecab8e3acad | 4 | Made for: |
tuxx0046 | 6:aecab8e3acad | 5 | STM32F746G-DISCOVERY |
tuxx0046 | 6:aecab8e3acad | 6 | Grove Base Shield v2.1 |
tuxx0046 | 6:aecab8e3acad | 7 | Grove Light Sensor v1.2 |
tuxx0046 | 6:aecab8e3acad | 8 | Grove Rotary Angle Sensor v1.2 |
tuxx0046 | 6:aecab8e3acad | 9 | Grove LED Socket Kit v1.5 |
tuxx0046 | 6:aecab8e3acad | 10 | Grove LED diode |
tuxx0046 | 6:aecab8e3acad | 11 | Grove Button v1.2 |
tuxx0046 | 6:aecab8e3acad | 12 | |
tuxx0046 | 0:ed4063a0a4d5 | 13 | @author Tu Tri Huynh |
tuxx0046 | 0:ed4063a0a4d5 | 14 | @date 1/13/2021 |
tuxx0046 | 0:ed4063a0a4d5 | 15 | */ |
tuxx0046 | 0:ed4063a0a4d5 | 16 | |
tuxx0046 | 0:ed4063a0a4d5 | 17 | #include "mbed.h" |
tuxx0046 | 6:aecab8e3acad | 18 | |
tuxx0046 | 6:aecab8e3acad | 19 | AnalogIn light_sensor(A0); |
tuxx0046 | 6:aecab8e3acad | 20 | PwmOut led(D3); |
tuxx0046 | 6:aecab8e3acad | 21 | |
tuxx0046 | 0:ed4063a0a4d5 | 22 | char building[31]; |
tuxx0046 | 0:ed4063a0a4d5 | 23 | char room[31]; |
tuxx0046 | 0:ed4063a0a4d5 | 24 | |
tuxx0046 | 2:90d31841523a | 25 | /// Used to test the controller and make sure that it functions |
tuxx0046 | 6:aecab8e3acad | 26 | /** DigitalOut myled(LED1); */ |
tuxx0046 | 0:ed4063a0a4d5 | 27 | |
tuxx0046 | 3:02e7aac23ff9 | 28 | #include "setup_functions.h" |
tuxx0046 | 4:1a12157689a7 | 29 | #include "lcd_functions.h" |
tuxx0046 | 6:aecab8e3acad | 30 | #include "led_functions.h" |
tuxx0046 | 7:b80c993f4db5 | 31 | #include "light_sensor_functions.h" |
tuxx0046 | 0:ed4063a0a4d5 | 32 | |
tuxx0046 | 0:ed4063a0a4d5 | 33 | int main(){ |
tuxx0046 | 0:ed4063a0a4d5 | 34 | /* |
tuxx0046 | 4:1a12157689a7 | 35 | lcd_initialize(); |
tuxx0046 | 4:1a12157689a7 | 36 | lcd_show_setup_screen(); |
tuxx0046 | 6:aecab8e3acad | 37 | setup_run_setup();*/ |
tuxx0046 | 6:aecab8e3acad | 38 | |
tuxx0046 | 6:aecab8e3acad | 39 | float light_sensor_reading; |
tuxx0046 | 2:90d31841523a | 40 | while(1) |
tuxx0046 | 2:90d31841523a | 41 | { |
tuxx0046 | 6:aecab8e3acad | 42 | light_sensor_reading = light_sensor.read(); |
tuxx0046 | 6:aecab8e3acad | 43 | printf("%1.2f\n", light_sensor_reading); |
tuxx0046 | 7:b80c993f4db5 | 44 | printf("%i%%\n", light_sensor_get_light_intensity(light_sensor_reading)); |
tuxx0046 | 6:aecab8e3acad | 45 | led_set_blink_rate(light_sensor_reading); |
tuxx0046 | 6:aecab8e3acad | 46 | wait_us(1000000); |
tuxx0046 | 4:1a12157689a7 | 47 | |
tuxx0046 | 2:90d31841523a | 48 | /** 01/13/2021 Used to test the controller and make sure that it functions.*/ |
tuxx0046 | 2:90d31841523a | 49 | /** |
tuxx0046 | 2:90d31841523a | 50 | printf("This is a test.\n"); |
tuxx0046 | 2:90d31841523a | 51 | myled = 1; |
tuxx0046 | 2:90d31841523a | 52 | wait_us(1000000); |
tuxx0046 | 2:90d31841523a | 53 | myled = 0; |
tuxx0046 | 2:90d31841523a | 54 | wait_us(1000000); |
tuxx0046 | 2:90d31841523a | 55 | */ |
tuxx0046 | 2:90d31841523a | 56 | } |
tuxx0046 | 6:aecab8e3acad | 57 | |
tuxx0046 | 6:aecab8e3acad | 58 | /** |
tuxx0046 | 6:aecab8e3acad | 59 | printf("Mbed OS version: %d,%d,%d\n\n",MBED_MAJOR_VERSION, MBED_MINOR_VERSION, MBED_PATCH_VERSION); |
tuxx0046 | 6:aecab8e3acad | 60 | */ |
tuxx0046 | 0:ed4063a0a4d5 | 61 | } |