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 Jun 20 12:18:09 2017 +0000
Revision:
11:3ff48fb0aa0b
Parent:
10:aafbe309f53a
with pointers

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 11:3ff48fb0aa0b 42
OlgaHoeyer 10:aafbe309f53a 43
OlgaHoeyer 10:aafbe309f53a 44 int temp_digit1=2; //DELETE LATER!
OlgaHoeyer 10:aafbe309f53a 45 int temp_digit2=5; //DELETE LATER!
OlgaHoeyer 10:aafbe309f53a 46
OlgaHoeyer 10:aafbe309f53a 47 int status;
OlgaHoeyer 1:135bd458e39e 48
OlgaHoeyer 1:135bd458e39e 49 Serial pc(USBTX, USBRX);
OlgaHoeyer 1:135bd458e39e 50 InterruptIn event(USER_BUTTON);
OlgaHoeyer 1:135bd458e39e 51 DigitalOut myled(LED1);
OlgaHoeyer 1:135bd458e39e 52 DigitalIn up(PA_5);
OlgaHoeyer 1:135bd458e39e 53 DigitalIn down(PA_6);
OlgaHoeyer 2:0864be57f81e 54 SHTx::SHT15 sensor(PB_8, PB_9); //ports on the Nucleo: PB_8, PB_9
OlgaHoeyer 10:aafbe309f53a 55 RGB_outp(pin1, pin2, pin3); //ports MANGLER!!!!!!!
OlgaHoeyer 10:aafbe309f53a 56 segment_7::segment_7(PinName seg_A, PinName seg_B, PinName seg_C, PinName seg_D,
OlgaHoeyer 10:aafbe309f53a 57 PinName seg_E, PinName seg_F, PinName seg_G, PinName DP,
OlgaHoeyer 10:aafbe309f53a 58 PinName dig_1, PinName dig_2, PinName dig_3) //ports MANGLER!!!!!!!
OlgaHoeyer 10:aafbe309f53a 59 //Knapper??? //ports MANGLER!!!!!!!
OlgaHoeyer 10:aafbe309f53a 60
OlgaHoeyer 1:135bd458e39e 61
OlgaHoeyer 2:0864be57f81e 62 Ticker tick1;
OlgaHoeyer 2:0864be57f81e 63 Ticker tick2;
OlgaHoeyer 2:0864be57f81e 64 Ticker tick3;
OlgaHoeyer 2:0864be57f81e 65 Ticker tick4;
OlgaHoeyer 0:21e9cc38dd31 66
OlgaHoeyer 1:135bd458e39e 67 int main()
OlgaHoeyer 1:135bd458e39e 68 {
OlgaHoeyer 11:3ff48fb0aa0b 69 int temperature_low=0; //DE!
OlgaHoeyer 11:3ff48fb0aa0b 70 int temperature_high=0; //DELE
OlgaHoeyer 11:3ff48fb0aa0b 71 //tick1.attach(&Settings(), 20); //Settings
OlgaHoeyer 10:aafbe309f53a 72 tick2.attach(&GetTemperatureAndHumidity(),6000); //Data Collection 6000 ms = 1 (min)*60(sec)*100(ms)
OlgaHoeyer 6:12f1849aad21 73
OlgaHoeyer 2:0864be57f81e 74 while(1) {
OlgaHoeyer 11:3ff48fb0aa0b 75 Settings(&t_low, &tmp_high); //skal returnere: temperature_low, temperature_high, temp_digit1, temp_digit2
OlgaHoeyer 10:aafbe309f53a 76 segment_7();
OlgaHoeyer 10:aafbe309f53a 77 segment_7::show(temp_digit1,3);
OlgaHoeyer 10:aafbe309f53a 78 segment_7::show(temp_digit2,3);
OlgaHoeyer 10:aafbe309f53a 79
OlgaHoeyer 11:3ff48fb0aa0b 80 // GetTemperatureAndHumidity(); //returnerer humidity; temperature
OlgaHoeyer 10:aafbe309f53a 81 status=Compare_values(humidity, temperature, temperature_low, temperature_high);
OlgaHoeyer 10:aafbe309f53a 82 rgb_outp(status);
OlgaHoeyer 10:aafbe309f53a 83 logging ();
OlgaHoeyer 2:0864be57f81e 84 }
OlgaHoeyer 2:0864be57f81e 85 }
OlgaHoeyer 2:0864be57f81e 86
OlgaHoeyer 2:0864be57f81e 87
OlgaHoeyer 4:eb483906704a 88 void GetTemperatureAndHumidity() //can't move to the .h file, pga "sensor" definitions.
OlgaHoeyer 2:0864be57f81e 89 {
OlgaHoeyer 0:21e9cc38dd31 90
OlgaHoeyer 2:0864be57f81e 91 // Speed things up a bit.
OlgaHoeyer 2:0864be57f81e 92 sensor.setOTPReload(false);
OlgaHoeyer 2:0864be57f81e 93 sensor.setResolution(true);
OlgaHoeyer 2:0864be57f81e 94
OlgaHoeyer 3:b6c7d01e1eb8 95 //busy = true;
OlgaHoeyer 2:0864be57f81e 96 sensor.update();
OlgaHoeyer 3:b6c7d01e1eb8 97 //busy = false;
OlgaHoeyer 0:21e9cc38dd31 98
OlgaHoeyer 2:0864be57f81e 99 // Temperature in celcius
OlgaHoeyer 2:0864be57f81e 100 sensor.setScale(false);
OlgaHoeyer 2:0864be57f81e 101 temperature=sensor.getTemperature();
OlgaHoeyer 1:135bd458e39e 102
OlgaHoeyer 2:0864be57f81e 103 // Relative Humidity
OlgaHoeyer 2:0864be57f81e 104 humidity=sensor.getHumidity();
OlgaHoeyer 2:0864be57f81e 105
OlgaHoeyer 2:0864be57f81e 106 wait(5);
OlgaHoeyer 2:0864be57f81e 107 return;
OlgaHoeyer 2:0864be57f81e 108 }