Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of CW_copy by
sensor_data.h@1:dc648c5624b9, 2018-01-10 (annotated)
- Committer:
- joseph_adamu
- Date:
- Wed Jan 10 09:50:29 2018 +0000
- Revision:
- 1:dc648c5624b9
version for export
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| joseph_adamu | 1:dc648c5624b9 | 1 | #include "mbed.h" |
| joseph_adamu | 1:dc648c5624b9 | 2 | #include "BMP280.h" |
| joseph_adamu | 1:dc648c5624b9 | 3 | #include "calender_operation.h" |
| joseph_adamu | 1:dc648c5624b9 | 4 | float getTemperature_bmp280; // Read the current Temperature value from BME280 sensor |
| joseph_adamu | 1:dc648c5624b9 | 5 | float getPressure_bmp280; // Read the current humidity value (humidity %) from BME280 sensor |
| joseph_adamu | 1:dc648c5624b9 | 6 | float fLDR; // Read the current light intensity value from LDR sensor |
| joseph_adamu | 1:dc648c5624b9 | 7 | float temperature_data [120], pressure_data[120], LDR_data[120]; |
| joseph_adamu | 1:dc648c5624b9 | 8 | BMP280 bmp280(D14,D15,0x77); //Assigning the pin for BMP280 Pressure sensor |
| joseph_adamu | 1:dc648c5624b9 | 9 | |
| joseph_adamu | 1:dc648c5624b9 | 10 | AnalogIn LDR(A1); //Assigning the pin for LDR |
| joseph_adamu | 1:dc648c5624b9 | 11 | int counter_store = 0, full = 0, day, month, year, leap; |
| joseph_adamu | 1:dc648c5624b9 | 12 | |
| joseph_adamu | 1:dc648c5624b9 | 13 | //***** setting up the time ************ |
| joseph_adamu | 1:dc648c5624b9 | 14 | // h/hh/mi/mni/s/ss |
| joseph_adamu | 1:dc648c5624b9 | 15 | // h=> first integer value of the Hour |
| joseph_adamu | 1:dc648c5624b9 | 16 | // hh=> second integer value of the Hour |
| joseph_adamu | 1:dc648c5624b9 | 17 | // mi=> first integer value of the Minutes |
| joseph_adamu | 1:dc648c5624b9 | 18 | // mni=> second integer value of the Minutes |
| joseph_adamu | 1:dc648c5624b9 | 19 | // s=> first integer value of the Seconds |
| joseph_adamu | 1:dc648c5624b9 | 20 | // ss => second integer value of the Seconds |
| joseph_adamu | 1:dc648c5624b9 | 21 | void time_rule() |
| joseph_adamu | 1:dc648c5624b9 | 22 | { |
| joseph_adamu | 1:dc648c5624b9 | 23 | if (ss == 10) |
| joseph_adamu | 1:dc648c5624b9 | 24 | { |
| joseph_adamu | 1:dc648c5624b9 | 25 | ss = 0; |
| joseph_adamu | 1:dc648c5624b9 | 26 | s++; |
| joseph_adamu | 1:dc648c5624b9 | 27 | } |
| joseph_adamu | 1:dc648c5624b9 | 28 | |
| joseph_adamu | 1:dc648c5624b9 | 29 | if (s == 6 && ss == 1) |
| joseph_adamu | 1:dc648c5624b9 | 30 | { |
| joseph_adamu | 1:dc648c5624b9 | 31 | ss = 1; |
| joseph_adamu | 1:dc648c5624b9 | 32 | s = 0; |
| joseph_adamu | 1:dc648c5624b9 | 33 | mmi++; |
| joseph_adamu | 1:dc648c5624b9 | 34 | } |
| joseph_adamu | 1:dc648c5624b9 | 35 | |
| joseph_adamu | 1:dc648c5624b9 | 36 | if (mmi == 10) |
| joseph_adamu | 1:dc648c5624b9 | 37 | { |
| joseph_adamu | 1:dc648c5624b9 | 38 | mmi = 0; |
| joseph_adamu | 1:dc648c5624b9 | 39 | mi++; |
| joseph_adamu | 1:dc648c5624b9 | 40 | } |
| joseph_adamu | 1:dc648c5624b9 | 41 | |
| joseph_adamu | 1:dc648c5624b9 | 42 | if (mi == 6 && mmi == 1) |
| joseph_adamu | 1:dc648c5624b9 | 43 | { |
| joseph_adamu | 1:dc648c5624b9 | 44 | mi = 0; |
| joseph_adamu | 1:dc648c5624b9 | 45 | mmi = 1; |
| joseph_adamu | 1:dc648c5624b9 | 46 | hh++; |
| joseph_adamu | 1:dc648c5624b9 | 47 | } |
| joseph_adamu | 1:dc648c5624b9 | 48 | |
| joseph_adamu | 1:dc648c5624b9 | 49 | if (hh == 10) |
| joseph_adamu | 1:dc648c5624b9 | 50 | { |
| joseph_adamu | 1:dc648c5624b9 | 51 | hh = 0; |
| joseph_adamu | 1:dc648c5624b9 | 52 | h++; |
| joseph_adamu | 1:dc648c5624b9 | 53 | } |
| joseph_adamu | 1:dc648c5624b9 | 54 | |
| joseph_adamu | 1:dc648c5624b9 | 55 | if(h == 2 && hh == 4) |
| joseph_adamu | 1:dc648c5624b9 | 56 | { |
| joseph_adamu | 1:dc648c5624b9 | 57 | h = 0; |
| joseph_adamu | 1:dc648c5624b9 | 58 | hh = 0; |
| joseph_adamu | 1:dc648c5624b9 | 59 | dd++; |
| joseph_adamu | 1:dc648c5624b9 | 60 | } |
| joseph_adamu | 1:dc648c5624b9 | 61 | } |
| joseph_adamu | 1:dc648c5624b9 | 62 | |
| joseph_adamu | 1:dc648c5624b9 | 63 | /********* Setting the date up *********/ |
| joseph_adamu | 1:dc648c5624b9 | 64 | void date_rule() |
| joseph_adamu | 1:dc648c5624b9 | 65 | { |
| joseph_adamu | 1:dc648c5624b9 | 66 | if (mm == 10) |
| joseph_adamu | 1:dc648c5624b9 | 67 | { |
| joseph_adamu | 1:dc648c5624b9 | 68 | mm = 0; |
| joseph_adamu | 1:dc648c5624b9 | 69 | m++; |
| joseph_adamu | 1:dc648c5624b9 | 70 | } |
| joseph_adamu | 1:dc648c5624b9 | 71 | |
| joseph_adamu | 1:dc648c5624b9 | 72 | if (m == 1 && mm == 3) |
| joseph_adamu | 1:dc648c5624b9 | 73 | { |
| joseph_adamu | 1:dc648c5624b9 | 74 | m = 0; |
| joseph_adamu | 1:dc648c5624b9 | 75 | mm = 1; |
| joseph_adamu | 1:dc648c5624b9 | 76 | yyyy++; |
| joseph_adamu | 1:dc648c5624b9 | 77 | } |
| joseph_adamu | 1:dc648c5624b9 | 78 | |
| joseph_adamu | 1:dc648c5624b9 | 79 | if (yyyy== 10) |
| joseph_adamu | 1:dc648c5624b9 | 80 | { |
| joseph_adamu | 1:dc648c5624b9 | 81 | yyyy = 0; |
| joseph_adamu | 1:dc648c5624b9 | 82 | yyy++; |
| joseph_adamu | 1:dc648c5624b9 | 83 | } |
| joseph_adamu | 1:dc648c5624b9 | 84 | if (yyy == 10) |
| joseph_adamu | 1:dc648c5624b9 | 85 | { |
| joseph_adamu | 1:dc648c5624b9 | 86 | yyy = 0; |
| joseph_adamu | 1:dc648c5624b9 | 87 | yy++; |
| joseph_adamu | 1:dc648c5624b9 | 88 | } |
| joseph_adamu | 1:dc648c5624b9 | 89 | if (yy == 10) |
| joseph_adamu | 1:dc648c5624b9 | 90 | { |
| joseph_adamu | 1:dc648c5624b9 | 91 | yy = 0; |
| joseph_adamu | 1:dc648c5624b9 | 92 | y++; |
| joseph_adamu | 1:dc648c5624b9 | 93 | } |
| joseph_adamu | 1:dc648c5624b9 | 94 | |
| joseph_adamu | 1:dc648c5624b9 | 95 | } |
| joseph_adamu | 1:dc648c5624b9 | 96 | |
| joseph_adamu | 1:dc648c5624b9 | 97 | |
| joseph_adamu | 1:dc648c5624b9 | 98 | void day_check() |
| joseph_adamu | 1:dc648c5624b9 | 99 | { |
| joseph_adamu | 1:dc648c5624b9 | 100 | day = 10*d + dd; |
| joseph_adamu | 1:dc648c5624b9 | 101 | month = mi*10+mmi; |
| joseph_adamu | 1:dc648c5624b9 | 102 | year = y*1000+yy*100+yyy*10+yyyy; |
| joseph_adamu | 1:dc648c5624b9 | 103 | if((month == 1)||(month ==3)||(month ==5)||(month ==7)||(month ==8)||(month ==10)||(month ==12)) |
| joseph_adamu | 1:dc648c5624b9 | 104 | { |
| joseph_adamu | 1:dc648c5624b9 | 105 | if (day == 32) |
| joseph_adamu | 1:dc648c5624b9 | 106 | { |
| joseph_adamu | 1:dc648c5624b9 | 107 | mm++; |
| joseph_adamu | 1:dc648c5624b9 | 108 | d = 0; |
| joseph_adamu | 1:dc648c5624b9 | 109 | dd = 1; |
| joseph_adamu | 1:dc648c5624b9 | 110 | } |
| joseph_adamu | 1:dc648c5624b9 | 111 | } |
| joseph_adamu | 1:dc648c5624b9 | 112 | |
| joseph_adamu | 1:dc648c5624b9 | 113 | else if(month == 4||6||9||11 ) |
| joseph_adamu | 1:dc648c5624b9 | 114 | { |
| joseph_adamu | 1:dc648c5624b9 | 115 | if (day == 31) |
| joseph_adamu | 1:dc648c5624b9 | 116 | { |
| joseph_adamu | 1:dc648c5624b9 | 117 | mm++; |
| joseph_adamu | 1:dc648c5624b9 | 118 | d = 0; |
| joseph_adamu | 1:dc648c5624b9 | 119 | dd = 1; |
| joseph_adamu | 1:dc648c5624b9 | 120 | } |
| joseph_adamu | 1:dc648c5624b9 | 121 | } |
| joseph_adamu | 1:dc648c5624b9 | 122 | |
| joseph_adamu | 1:dc648c5624b9 | 123 | else if(month == 2) |
| joseph_adamu | 1:dc648c5624b9 | 124 | { |
| joseph_adamu | 1:dc648c5624b9 | 125 | leap = year % 4; |
| joseph_adamu | 1:dc648c5624b9 | 126 | if(leap == 0) |
| joseph_adamu | 1:dc648c5624b9 | 127 | { |
| joseph_adamu | 1:dc648c5624b9 | 128 | if (day == 30) |
| joseph_adamu | 1:dc648c5624b9 | 129 | { |
| joseph_adamu | 1:dc648c5624b9 | 130 | mm++; |
| joseph_adamu | 1:dc648c5624b9 | 131 | d = 0; |
| joseph_adamu | 1:dc648c5624b9 | 132 | dd = 1; |
| joseph_adamu | 1:dc648c5624b9 | 133 | } |
| joseph_adamu | 1:dc648c5624b9 | 134 | } |
| joseph_adamu | 1:dc648c5624b9 | 135 | else |
| joseph_adamu | 1:dc648c5624b9 | 136 | { |
| joseph_adamu | 1:dc648c5624b9 | 137 | if (day == 29) |
| joseph_adamu | 1:dc648c5624b9 | 138 | { |
| joseph_adamu | 1:dc648c5624b9 | 139 | mm++; |
| joseph_adamu | 1:dc648c5624b9 | 140 | d = 0; |
| joseph_adamu | 1:dc648c5624b9 | 141 | dd = 1; |
| joseph_adamu | 1:dc648c5624b9 | 142 | } |
| joseph_adamu | 1:dc648c5624b9 | 143 | } |
| joseph_adamu | 1:dc648c5624b9 | 144 | } |
| joseph_adamu | 1:dc648c5624b9 | 145 | date_rule(); |
| joseph_adamu | 1:dc648c5624b9 | 146 | } |
| joseph_adamu | 1:dc648c5624b9 | 147 | |
| joseph_adamu | 1:dc648c5624b9 | 148 | |
| joseph_adamu | 1:dc648c5624b9 | 149 | |
| joseph_adamu | 1:dc648c5624b9 | 150 | //Sensor setup |
| joseph_adamu | 1:dc648c5624b9 | 151 | void sensor_operation() |
| joseph_adamu | 1:dc648c5624b9 | 152 | { |
| joseph_adamu | 1:dc648c5624b9 | 153 | getTemperature_bmp280 = bmp280.getTemperature(); |
| joseph_adamu | 1:dc648c5624b9 | 154 | |
| joseph_adamu | 1:dc648c5624b9 | 155 | getPressure_bmp280 = bmp280.getPressure(); |
| joseph_adamu | 1:dc648c5624b9 | 156 | fLDR = LDR; |
| joseph_adamu | 1:dc648c5624b9 | 157 | } |
| joseph_adamu | 1:dc648c5624b9 | 158 | //******* Displaying sensor data to the lcd to allocated position ************* |
| joseph_adamu | 1:dc648c5624b9 | 159 | void sensor_lcd() |
| joseph_adamu | 1:dc648c5624b9 | 160 | { |
| joseph_adamu | 1:dc648c5624b9 | 161 | lcd.locate(10,0); |
| joseph_adamu | 1:dc648c5624b9 | 162 | lcd.printf("L:%1.2f", fLDR); |
| joseph_adamu | 1:dc648c5624b9 | 163 | |
| joseph_adamu | 1:dc648c5624b9 | 164 | lcd.locate(0,0); |
| joseph_adamu | 1:dc648c5624b9 | 165 | lcd.printf("P:%3.1f", getPressure_bmp280); |
| joseph_adamu | 1:dc648c5624b9 | 166 | |
| joseph_adamu | 1:dc648c5624b9 | 167 | lcd.locate(10,1); |
| joseph_adamu | 1:dc648c5624b9 | 168 | lcd.printf("T:%3.1f", getTemperature_bmp280); |
| joseph_adamu | 1:dc648c5624b9 | 169 | } |
| joseph_adamu | 1:dc648c5624b9 | 170 | void records() |
| joseph_adamu | 1:dc648c5624b9 | 171 | { |
| joseph_adamu | 1:dc648c5624b9 | 172 | temperature_data[counter_store] = getTemperature_bmp280; |
| joseph_adamu | 1:dc648c5624b9 | 173 | pressure_data[counter_store] = getPressure_bmp280; |
| joseph_adamu | 1:dc648c5624b9 | 174 | LDR_data[counter_store] = fLDR; |
| joseph_adamu | 1:dc648c5624b9 | 175 | |
| joseph_adamu | 1:dc648c5624b9 | 176 | if (counter_store == 120) |
| joseph_adamu | 1:dc648c5624b9 | 177 | { |
| joseph_adamu | 1:dc648c5624b9 | 178 | counter_store = 0; |
| joseph_adamu | 1:dc648c5624b9 | 179 | full = 1; |
| joseph_adamu | 1:dc648c5624b9 | 180 | } |
| joseph_adamu | 1:dc648c5624b9 | 181 | counter_store++; |
| joseph_adamu | 1:dc648c5624b9 | 182 | } |
