PRO2_Team 1_collected code with ticker and headers_not working yet

Dependencies:   SHTx mbed

Fork of PRO2_samlet_kode by Olga Høyer

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?

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