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.
ntc.h@5:38b2b8790b40, 2021-04-11 (annotated)
- Committer:
- dragica
- Date:
- Sun Apr 11 09:08:16 2021 +0000
- Revision:
- 5:38b2b8790b40
SW napisan za testiranje nedelja 11 april 2021.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
dragica | 5:38b2b8790b40 | 1 | #include "mbed.h" |
dragica | 5:38b2b8790b40 | 2 | const int n = 71; |
dragica | 5:38b2b8790b40 | 3 | |
dragica | 5:38b2b8790b40 | 4 | int arrayTemp[n]; |
dragica | 5:38b2b8790b40 | 5 | volatile double Vin = 5; |
dragica | 5:38b2b8790b40 | 6 | volatile double Rref = 13000; |
dragica | 5:38b2b8790b40 | 7 | |
dragica | 5:38b2b8790b40 | 8 | void arrayInit() |
dragica | 5:38b2b8790b40 | 9 | { |
dragica | 5:38b2b8790b40 | 10 | arrayTemp[0] = 32650; |
dragica | 5:38b2b8790b40 | 11 | |
dragica | 5:38b2b8790b40 | 12 | arrayTemp[1] = 31029; |
dragica | 5:38b2b8790b40 | 13 | |
dragica | 5:38b2b8790b40 | 14 | arrayTemp[2] = 29498; |
dragica | 5:38b2b8790b40 | 15 | |
dragica | 5:38b2b8790b40 | 16 | arrayTemp[3] = 28052; |
dragica | 5:38b2b8790b40 | 17 | |
dragica | 5:38b2b8790b40 | 18 | arrayTemp[4] = 26685; |
dragica | 5:38b2b8790b40 | 19 | |
dragica | 5:38b2b8790b40 | 20 | arrayTemp[5] = 25392; |
dragica | 5:38b2b8790b40 | 21 | |
dragica | 5:38b2b8790b40 | 22 | arrayTemp[6] = 24170; |
dragica | 5:38b2b8790b40 | 23 | |
dragica | 5:38b2b8790b40 | 24 | arrayTemp[7] = 23013; |
dragica | 5:38b2b8790b40 | 25 | |
dragica | 5:38b2b8790b40 | 26 | arrayTemp[8] = 21918; |
dragica | 5:38b2b8790b40 | 27 | |
dragica | 5:38b2b8790b40 | 28 | arrayTemp[9] = 20882; |
dragica | 5:38b2b8790b40 | 29 | |
dragica | 5:38b2b8790b40 | 30 | arrayTemp[10] = 19901; |
dragica | 5:38b2b8790b40 | 31 | |
dragica | 5:38b2b8790b40 | 32 | arrayTemp[11] = 18971; |
dragica | 5:38b2b8790b40 | 33 | |
dragica | 5:38b2b8790b40 | 34 | arrayTemp[12] = 18090; |
dragica | 5:38b2b8790b40 | 35 | |
dragica | 5:38b2b8790b40 | 36 | arrayTemp[13] = 17255; |
dragica | 5:38b2b8790b40 | 37 | |
dragica | 5:38b2b8790b40 | 38 | arrayTemp[14] = 16463; |
dragica | 5:38b2b8790b40 | 39 | |
dragica | 5:38b2b8790b40 | 40 | arrayTemp[15] = 15712; |
dragica | 5:38b2b8790b40 | 41 | |
dragica | 5:38b2b8790b40 | 42 | arrayTemp[16] = 14999; |
dragica | 5:38b2b8790b40 | 43 | |
dragica | 5:38b2b8790b40 | 44 | arrayTemp[17] = 14323; |
dragica | 5:38b2b8790b40 | 45 | |
dragica | 5:38b2b8790b40 | 46 | arrayTemp[18] = 13681; |
dragica | 5:38b2b8790b40 | 47 | |
dragica | 5:38b2b8790b40 | 48 | arrayTemp[19] = 13072; |
dragica | 5:38b2b8790b40 | 49 | |
dragica | 5:38b2b8790b40 | 50 | arrayTemp[20] = 12493; |
dragica | 5:38b2b8790b40 | 51 | |
dragica | 5:38b2b8790b40 | 52 | arrayTemp[21] = 11942; |
dragica | 5:38b2b8790b40 | 53 | |
dragica | 5:38b2b8790b40 | 54 | arrayTemp[22] = 11419; |
dragica | 5:38b2b8790b40 | 55 | |
dragica | 5:38b2b8790b40 | 56 | arrayTemp[23] = 10922; |
dragica | 5:38b2b8790b40 | 57 | |
dragica | 5:38b2b8790b40 | 58 | arrayTemp[24] = 10450; |
dragica | 5:38b2b8790b40 | 59 | |
dragica | 5:38b2b8790b40 | 60 | arrayTemp[25] = 10000; |
dragica | 5:38b2b8790b40 | 61 | |
dragica | 5:38b2b8790b40 | 62 | arrayTemp[26] = 9572; |
dragica | 5:38b2b8790b40 | 63 | |
dragica | 5:38b2b8790b40 | 64 | arrayTemp[27] = 9165; |
dragica | 5:38b2b8790b40 | 65 | |
dragica | 5:38b2b8790b40 | 66 | arrayTemp[28] = 8777; |
dragica | 5:38b2b8790b40 | 67 | |
dragica | 5:38b2b8790b40 | 68 | arrayTemp[29] = 8408; |
dragica | 5:38b2b8790b40 | 69 | |
dragica | 5:38b2b8790b40 | 70 | arrayTemp[30] = 8057; |
dragica | 5:38b2b8790b40 | 71 | |
dragica | 5:38b2b8790b40 | 72 | arrayTemp[31] = 7722; |
dragica | 5:38b2b8790b40 | 73 | |
dragica | 5:38b2b8790b40 | 74 | arrayTemp[32] = 7402; |
dragica | 5:38b2b8790b40 | 75 | |
dragica | 5:38b2b8790b40 | 76 | arrayTemp[33] = 7098; |
dragica | 5:38b2b8790b40 | 77 | |
dragica | 5:38b2b8790b40 | 78 | arrayTemp[34] = 6808; |
dragica | 5:38b2b8790b40 | 79 | |
dragica | 5:38b2b8790b40 | 80 | arrayTemp[35] = 6531; |
dragica | 5:38b2b8790b40 | 81 | |
dragica | 5:38b2b8790b40 | 82 | arrayTemp[36] = 6267; |
dragica | 5:38b2b8790b40 | 83 | |
dragica | 5:38b2b8790b40 | 84 | arrayTemp[37] = 6015; |
dragica | 5:38b2b8790b40 | 85 | |
dragica | 5:38b2b8790b40 | 86 | arrayTemp[38] = 5775; |
dragica | 5:38b2b8790b40 | 87 | |
dragica | 5:38b2b8790b40 | 88 | arrayTemp[39] = 5545; |
dragica | 5:38b2b8790b40 | 89 | |
dragica | 5:38b2b8790b40 | 90 | arrayTemp[40] = 5326; |
dragica | 5:38b2b8790b40 | 91 | |
dragica | 5:38b2b8790b40 | 92 | arrayTemp[41] = 5117; |
dragica | 5:38b2b8790b40 | 93 | |
dragica | 5:38b2b8790b40 | 94 | arrayTemp[42] = 4917; |
dragica | 5:38b2b8790b40 | 95 | |
dragica | 5:38b2b8790b40 | 96 | arrayTemp[43] = 4725; |
dragica | 5:38b2b8790b40 | 97 | |
dragica | 5:38b2b8790b40 | 98 | arrayTemp[44] = 4543; |
dragica | 5:38b2b8790b40 | 99 | |
dragica | 5:38b2b8790b40 | 100 | arrayTemp[45] = 4368; |
dragica | 5:38b2b8790b40 | 101 | |
dragica | 5:38b2b8790b40 | 102 | arrayTemp[46] = 4201; |
dragica | 5:38b2b8790b40 | 103 | |
dragica | 5:38b2b8790b40 | 104 | arrayTemp[47] = 4041; |
dragica | 5:38b2b8790b40 | 105 | |
dragica | 5:38b2b8790b40 | 106 | arrayTemp[48] = 3888; |
dragica | 5:38b2b8790b40 | 107 | |
dragica | 5:38b2b8790b40 | 108 | arrayTemp[49] = 3742; |
dragica | 5:38b2b8790b40 | 109 | |
dragica | 5:38b2b8790b40 | 110 | arrayTemp[50] = 3602; |
dragica | 5:38b2b8790b40 | 111 | |
dragica | 5:38b2b8790b40 | 112 | arrayTemp[51] = 3468; |
dragica | 5:38b2b8790b40 | 113 | |
dragica | 5:38b2b8790b40 | 114 | arrayTemp[52] = 3340; |
dragica | 5:38b2b8790b40 | 115 | |
dragica | 5:38b2b8790b40 | 116 | arrayTemp[53] = 3217; |
dragica | 5:38b2b8790b40 | 117 | |
dragica | 5:38b2b8790b40 | 118 | arrayTemp[54] = 3099; |
dragica | 5:38b2b8790b40 | 119 | |
dragica | 5:38b2b8790b40 | 120 | arrayTemp[55] = 2986; |
dragica | 5:38b2b8790b40 | 121 | |
dragica | 5:38b2b8790b40 | 122 | arrayTemp[56] = 2878; |
dragica | 5:38b2b8790b40 | 123 | |
dragica | 5:38b2b8790b40 | 124 | arrayTemp[57] = 2774; |
dragica | 5:38b2b8790b40 | 125 | |
dragica | 5:38b2b8790b40 | 126 | arrayTemp[58] = 2675; |
dragica | 5:38b2b8790b40 | 127 | |
dragica | 5:38b2b8790b40 | 128 | arrayTemp[59] = 2579; |
dragica | 5:38b2b8790b40 | 129 | |
dragica | 5:38b2b8790b40 | 130 | arrayTemp[60] = 2488; |
dragica | 5:38b2b8790b40 | 131 | |
dragica | 5:38b2b8790b40 | 132 | arrayTemp[61] = 2400; |
dragica | 5:38b2b8790b40 | 133 | |
dragica | 5:38b2b8790b40 | 134 | arrayTemp[62] = 2316; |
dragica | 5:38b2b8790b40 | 135 | |
dragica | 5:38b2b8790b40 | 136 | arrayTemp[63] = 2235; |
dragica | 5:38b2b8790b40 | 137 | |
dragica | 5:38b2b8790b40 | 138 | arrayTemp[64] = 2157; |
dragica | 5:38b2b8790b40 | 139 | |
dragica | 5:38b2b8790b40 | 140 | arrayTemp[65] = 2083; |
dragica | 5:38b2b8790b40 | 141 | |
dragica | 5:38b2b8790b40 | 142 | arrayTemp[66] = 2011; |
dragica | 5:38b2b8790b40 | 143 | |
dragica | 5:38b2b8790b40 | 144 | arrayTemp[67] = 1942; |
dragica | 5:38b2b8790b40 | 145 | |
dragica | 5:38b2b8790b40 | 146 | arrayTemp[68] = 1876; |
dragica | 5:38b2b8790b40 | 147 | |
dragica | 5:38b2b8790b40 | 148 | arrayTemp[69] = 1813; |
dragica | 5:38b2b8790b40 | 149 | |
dragica | 5:38b2b8790b40 | 150 | arrayTemp[70] = 1752; |
dragica | 5:38b2b8790b40 | 151 | } |
dragica | 5:38b2b8790b40 | 152 | |
dragica | 5:38b2b8790b40 | 153 | double temp_funkcija_prenosa(double x) |
dragica | 5:38b2b8790b40 | 154 | { |
dragica | 5:38b2b8790b40 | 155 | double mres1 = 1+((x*1000000000)/3.225804); |
dragica | 5:38b2b8790b40 | 156 | double mres2 = pow(mres1, 0.1409242); |
dragica | 5:38b2b8790b40 | 157 | double res = -139.9343 + (9663.0153/mres2); |
dragica | 5:38b2b8790b40 | 158 | return res; |
dragica | 5:38b2b8790b40 | 159 | } |
dragica | 5:38b2b8790b40 | 160 | |
dragica | 5:38b2b8790b40 | 161 | double binarySearch(double resistance) |
dragica | 5:38b2b8790b40 | 162 | { |
dragica | 5:38b2b8790b40 | 163 | if (resistance >= 1752 && resistance <= 32650) |
dragica | 5:38b2b8790b40 | 164 | { |
dragica | 5:38b2b8790b40 | 165 | int front; |
dragica | 5:38b2b8790b40 | 166 | int rear; |
dragica | 5:38b2b8790b40 | 167 | int mid; |
dragica | 5:38b2b8790b40 | 168 | front = 0; |
dragica | 5:38b2b8790b40 | 169 | rear = 71 - 1; |
dragica | 5:38b2b8790b40 | 170 | while(front <= rear) |
dragica | 5:38b2b8790b40 | 171 | { |
dragica | 5:38b2b8790b40 | 172 | mid = (front + rear)/2; |
dragica | 5:38b2b8790b40 | 173 | if (arrayTemp[mid] > resistance && arrayTemp[mid + 1] < resistance ) |
dragica | 5:38b2b8790b40 | 174 | { |
dragica | 5:38b2b8790b40 | 175 | return (mid + mid + 1) / 2; |
dragica | 5:38b2b8790b40 | 176 | } |
dragica | 5:38b2b8790b40 | 177 | else if (arrayTemp[mid] < resistance && arrayTemp[mid-1] > resistance) |
dragica | 5:38b2b8790b40 | 178 | { |
dragica | 5:38b2b8790b40 | 179 | return (mid + mid - 1) / 2; |
dragica | 5:38b2b8790b40 | 180 | } |
dragica | 5:38b2b8790b40 | 181 | else if (arrayTemp[mid] > resistance ) |
dragica | 5:38b2b8790b40 | 182 | { |
dragica | 5:38b2b8790b40 | 183 | front = mid; |
dragica | 5:38b2b8790b40 | 184 | } |
dragica | 5:38b2b8790b40 | 185 | else |
dragica | 5:38b2b8790b40 | 186 | { |
dragica | 5:38b2b8790b40 | 187 | rear = mid; |
dragica | 5:38b2b8790b40 | 188 | } |
dragica | 5:38b2b8790b40 | 189 | } |
dragica | 5:38b2b8790b40 | 190 | } |
dragica | 5:38b2b8790b40 | 191 | |
dragica | 5:38b2b8790b40 | 192 | return temp_funkcija_prenosa(resistance); |
dragica | 5:38b2b8790b40 | 193 | |
dragica | 5:38b2b8790b40 | 194 | } |
dragica | 5:38b2b8790b40 | 195 | int naponskiRazdelnik(double Vout) |
dragica | 5:38b2b8790b40 | 196 | { |
dragica | 5:38b2b8790b40 | 197 | double Rterm = Rref * (Vin/Vout - 1); |
dragica | 5:38b2b8790b40 | 198 | pc1.printf("Otpornost NTC-a = %6.2f OHM\n", Rterm); |
dragica | 5:38b2b8790b40 | 199 | double temperature = binarySearch(Rterm); |
dragica | 5:38b2b8790b40 | 200 | pc1.printf("Temperature of GPIO1 = %6.2f C\n", temperature); |
dragica | 5:38b2b8790b40 | 201 | return temperature; |
dragica | 5:38b2b8790b40 | 202 | } |