PRO2_Team 1_collected code with ticker and headers_not working yet
Fork of PRO2_samlet_kode by
main.cpp@10:aafbe309f53a, 2017-05-30 (annotated)
- Committer:
- OlgaHoeyer
- Date:
- Tue May 30 12:52:39 2017 +0000
- Revision:
- 10:aafbe309f53a
- Parent:
- 6:12f1849aad21
- Child:
- 11:3ff48fb0aa0b
more funktions in main
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
OlgaHoeyer | 6:12f1849aad21 | 1 | /* |
OlgaHoeyer | 6:12f1849aad21 | 2 | ------------------------------------------------------------------------------- |
OlgaHoeyer | 6:12f1849aad21 | 3 | -- Project: PRO2 "Awareness and Optimisation of energy consumption" |
OlgaHoeyer | 6:12f1849aad21 | 4 | -- Team: Team 1 |
OlgaHoeyer | 6:12f1849aad21 | 5 | |
OlgaHoeyer | 6:12f1849aad21 | 6 | -- File Name: main.cpp |
OlgaHoeyer | 6:12f1849aad21 | 7 | -- Authors: Poul Erik Tjørnfelt, Olga Hoeyer, |
OlgaHoeyer | 6:12f1849aad21 | 8 | -- Emil Hammer, Heidi Svenningsen |
OlgaHoeyer | 6:12f1849aad21 | 9 | -- Date: 07/05-2017 |
OlgaHoeyer | 6:12f1849aad21 | 10 | -- Copyright: Open to all |
OlgaHoeyer | 6:12f1849aad21 | 11 | -- Version: 1.0 - Creation of file |
OlgaHoeyer | 6:12f1849aad21 | 12 | -- 1.2 - debugging |
OlgaHoeyer | 6:12f1849aad21 | 13 | -- 2.1 - Modular structure added |
OlgaHoeyer | 6:12f1849aad21 | 14 | -- 2.2 - Ticker added |
OlgaHoeyer | 6:12f1849aad21 | 15 | -- 2.3 - Debugging |
OlgaHoeyer | 6:12f1849aad21 | 16 | -- |
OlgaHoeyer | 6:12f1849aad21 | 17 | -- Description: Program is amde as a semester projekt for Elektronical |
OlgaHoeyer | 6:12f1849aad21 | 18 | -- design education in Aarhus University. |
OlgaHoeyer | 6:12f1849aad21 | 19 | -- Program reads temperature and humidity from sensor SHT-15 |
OlgaHoeyer | 6:12f1849aad21 | 20 | -- and based on the temperature limits gives a light signal |
OlgaHoeyer | 6:12f1849aad21 | 21 | -- to the user when air refreshment is needed. |
OlgaHoeyer | 6:12f1849aad21 | 22 | -- Need an input from the user for desirable temperature. |
OlgaHoeyer | 6:12f1849aad21 | 23 | ------------------------------------------------------------------------------- |
OlgaHoeyer | 6:12f1849aad21 | 24 | */ |
OlgaHoeyer | 6:12f1849aad21 | 25 | |
OlgaHoeyer | 6:12f1849aad21 | 26 | |
OlgaHoeyer | 10:aafbe309f53a | 27 | //Defining and Including libraries here |
OlgaHoeyer | 2:0864be57f81e | 28 | #include "mbed.h" |
OlgaHoeyer | 1:135bd458e39e | 29 | #include "SHTx/sht15.hpp" |
OlgaHoeyer | 2:0864be57f81e | 30 | #include <7_segment_control.h> |
OlgaHoeyer | 2:0864be57f81e | 31 | #include <compare.h> |
OlgaHoeyer | 2:0864be57f81e | 32 | #include <data_out.h> |
OlgaHoeyer | 2:0864be57f81e | 33 | #include <logging.h> |
OlgaHoeyer | 5:b366110c0d59 | 34 | #include <Settings.h> |
OlgaHoeyer | 2:0864be57f81e | 35 | #include <rgb_led.h> |
OlgaHoeyer | 2:0864be57f81e | 36 | #include <Ticker.h> |
OlgaHoeyer | 0:21e9cc38dd31 | 37 | |
OlgaHoeyer | 0:21e9cc38dd31 | 38 | //Declaration of GLOBAL VARIABLES: |
OlgaHoeyer | 0:21e9cc38dd31 | 39 | float temperature, humidity; //this will be data read from sensor |
OlgaHoeyer | 3:b6c7d01e1eb8 | 40 | void GetTemperatureAndHumidity(); //via denne function |
OlgaHoeyer | 2:0864be57f81e | 41 | |
OlgaHoeyer | 10:aafbe309f53a | 42 | int temperature_low=18; //DELETE LATER! |
OlgaHoeyer | 10:aafbe309f53a | 43 | int temperature_high=22; //DELETE LATER! |
OlgaHoeyer | 10:aafbe309f53a | 44 | |
OlgaHoeyer | 10:aafbe309f53a | 45 | int temp_digit1=2; //DELETE LATER! |
OlgaHoeyer | 10:aafbe309f53a | 46 | int temp_digit2=5; //DELETE LATER! |
OlgaHoeyer | 10:aafbe309f53a | 47 | |
OlgaHoeyer | 10:aafbe309f53a | 48 | int status; |
OlgaHoeyer | 1:135bd458e39e | 49 | |
OlgaHoeyer | 1:135bd458e39e | 50 | Serial pc(USBTX, USBRX); |
OlgaHoeyer | 1:135bd458e39e | 51 | InterruptIn event(USER_BUTTON); |
OlgaHoeyer | 1:135bd458e39e | 52 | DigitalOut myled(LED1); |
OlgaHoeyer | 1:135bd458e39e | 53 | DigitalIn up(PA_5); |
OlgaHoeyer | 1:135bd458e39e | 54 | DigitalIn down(PA_6); |
OlgaHoeyer | 2:0864be57f81e | 55 | SHTx::SHT15 sensor(PB_8, PB_9); //ports on the Nucleo: PB_8, PB_9 |
OlgaHoeyer | 10:aafbe309f53a | 56 | RGB_outp(pin1, pin2, pin3); //ports MANGLER!!!!!!! |
OlgaHoeyer | 10:aafbe309f53a | 57 | segment_7::segment_7(PinName seg_A, PinName seg_B, PinName seg_C, PinName seg_D, |
OlgaHoeyer | 10:aafbe309f53a | 58 | PinName seg_E, PinName seg_F, PinName seg_G, PinName DP, |
OlgaHoeyer | 10:aafbe309f53a | 59 | PinName dig_1, PinName dig_2, PinName dig_3) //ports MANGLER!!!!!!! |
OlgaHoeyer | 10:aafbe309f53a | 60 | //Knapper??? //ports MANGLER!!!!!!! |
OlgaHoeyer | 10:aafbe309f53a | 61 | |
OlgaHoeyer | 1:135bd458e39e | 62 | |
OlgaHoeyer | 2:0864be57f81e | 63 | Ticker tick1; |
OlgaHoeyer | 2:0864be57f81e | 64 | Ticker tick2; |
OlgaHoeyer | 2:0864be57f81e | 65 | Ticker tick3; |
OlgaHoeyer | 2:0864be57f81e | 66 | Ticker tick4; |
OlgaHoeyer | 0:21e9cc38dd31 | 67 | |
OlgaHoeyer | 1:135bd458e39e | 68 | int main() |
OlgaHoeyer | 1:135bd458e39e | 69 | { |
OlgaHoeyer | 6:12f1849aad21 | 70 | tick1.attach(&Settings(), 20); //Settings |
OlgaHoeyer | 10:aafbe309f53a | 71 | tick2.attach(&GetTemperatureAndHumidity(),6000); //Data Collection 6000 ms = 1 (min)*60(sec)*100(ms) |
OlgaHoeyer | 6:12f1849aad21 | 72 | |
OlgaHoeyer | 2:0864be57f81e | 73 | while(1) { |
OlgaHoeyer | 10:aafbe309f53a | 74 | Settings(); //skal returnere: temperature_low, temperature_high, temp_digit1, temp_digit2 |
OlgaHoeyer | 10:aafbe309f53a | 75 | segment_7(); |
OlgaHoeyer | 10:aafbe309f53a | 76 | segment_7::show(temp_digit1,3); |
OlgaHoeyer | 10:aafbe309f53a | 77 | segment_7::show(temp_digit2,3); |
OlgaHoeyer | 10:aafbe309f53a | 78 | |
OlgaHoeyer | 10:aafbe309f53a | 79 | GetTemperatureAndHumidity(); //returnerer humidity; temperature |
OlgaHoeyer | 10:aafbe309f53a | 80 | status=Compare_values(humidity, temperature, temperature_low, temperature_high); |
OlgaHoeyer | 10:aafbe309f53a | 81 | rgb_outp(status); |
OlgaHoeyer | 10:aafbe309f53a | 82 | logging (); |
OlgaHoeyer | 2:0864be57f81e | 83 | } |
OlgaHoeyer | 2:0864be57f81e | 84 | } |
OlgaHoeyer | 2:0864be57f81e | 85 | |
OlgaHoeyer | 2:0864be57f81e | 86 | |
OlgaHoeyer | 4:eb483906704a | 87 | void GetTemperatureAndHumidity() //can't move to the .h file, pga "sensor" definitions. |
OlgaHoeyer | 2:0864be57f81e | 88 | { |
OlgaHoeyer | 0:21e9cc38dd31 | 89 | |
OlgaHoeyer | 2:0864be57f81e | 90 | // Speed things up a bit. |
OlgaHoeyer | 2:0864be57f81e | 91 | sensor.setOTPReload(false); |
OlgaHoeyer | 2:0864be57f81e | 92 | sensor.setResolution(true); |
OlgaHoeyer | 2:0864be57f81e | 93 | |
OlgaHoeyer | 3:b6c7d01e1eb8 | 94 | //busy = true; |
OlgaHoeyer | 2:0864be57f81e | 95 | sensor.update(); |
OlgaHoeyer | 3:b6c7d01e1eb8 | 96 | //busy = false; |
OlgaHoeyer | 0:21e9cc38dd31 | 97 | |
OlgaHoeyer | 2:0864be57f81e | 98 | // Temperature in celcius |
OlgaHoeyer | 2:0864be57f81e | 99 | sensor.setScale(false); |
OlgaHoeyer | 2:0864be57f81e | 100 | temperature=sensor.getTemperature(); |
OlgaHoeyer | 1:135bd458e39e | 101 | |
OlgaHoeyer | 2:0864be57f81e | 102 | // Relative Humidity |
OlgaHoeyer | 2:0864be57f81e | 103 | humidity=sensor.getHumidity(); |
OlgaHoeyer | 2:0864be57f81e | 104 | |
OlgaHoeyer | 2:0864be57f81e | 105 | wait(5); |
OlgaHoeyer | 2:0864be57f81e | 106 | return; |
OlgaHoeyer | 2:0864be57f81e | 107 | } |