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
- Committer:
- dragica
- Date:
- 2021-04-11
- Revision:
- 5:38b2b8790b40
File content as of revision 5:38b2b8790b40:
#include "mbed.h" const int n = 71; int arrayTemp[n]; volatile double Vin = 5; volatile double Rref = 13000; void arrayInit() { arrayTemp[0] = 32650; arrayTemp[1] = 31029; arrayTemp[2] = 29498; arrayTemp[3] = 28052; arrayTemp[4] = 26685; arrayTemp[5] = 25392; arrayTemp[6] = 24170; arrayTemp[7] = 23013; arrayTemp[8] = 21918; arrayTemp[9] = 20882; arrayTemp[10] = 19901; arrayTemp[11] = 18971; arrayTemp[12] = 18090; arrayTemp[13] = 17255; arrayTemp[14] = 16463; arrayTemp[15] = 15712; arrayTemp[16] = 14999; arrayTemp[17] = 14323; arrayTemp[18] = 13681; arrayTemp[19] = 13072; arrayTemp[20] = 12493; arrayTemp[21] = 11942; arrayTemp[22] = 11419; arrayTemp[23] = 10922; arrayTemp[24] = 10450; arrayTemp[25] = 10000; arrayTemp[26] = 9572; arrayTemp[27] = 9165; arrayTemp[28] = 8777; arrayTemp[29] = 8408; arrayTemp[30] = 8057; arrayTemp[31] = 7722; arrayTemp[32] = 7402; arrayTemp[33] = 7098; arrayTemp[34] = 6808; arrayTemp[35] = 6531; arrayTemp[36] = 6267; arrayTemp[37] = 6015; arrayTemp[38] = 5775; arrayTemp[39] = 5545; arrayTemp[40] = 5326; arrayTemp[41] = 5117; arrayTemp[42] = 4917; arrayTemp[43] = 4725; arrayTemp[44] = 4543; arrayTemp[45] = 4368; arrayTemp[46] = 4201; arrayTemp[47] = 4041; arrayTemp[48] = 3888; arrayTemp[49] = 3742; arrayTemp[50] = 3602; arrayTemp[51] = 3468; arrayTemp[52] = 3340; arrayTemp[53] = 3217; arrayTemp[54] = 3099; arrayTemp[55] = 2986; arrayTemp[56] = 2878; arrayTemp[57] = 2774; arrayTemp[58] = 2675; arrayTemp[59] = 2579; arrayTemp[60] = 2488; arrayTemp[61] = 2400; arrayTemp[62] = 2316; arrayTemp[63] = 2235; arrayTemp[64] = 2157; arrayTemp[65] = 2083; arrayTemp[66] = 2011; arrayTemp[67] = 1942; arrayTemp[68] = 1876; arrayTemp[69] = 1813; arrayTemp[70] = 1752; } double temp_funkcija_prenosa(double x) { double mres1 = 1+((x*1000000000)/3.225804); double mres2 = pow(mres1, 0.1409242); double res = -139.9343 + (9663.0153/mres2); return res; } double binarySearch(double resistance) { if (resistance >= 1752 && resistance <= 32650) { int front; int rear; int mid; front = 0; rear = 71 - 1; while(front <= rear) { mid = (front + rear)/2; if (arrayTemp[mid] > resistance && arrayTemp[mid + 1] < resistance ) { return (mid + mid + 1) / 2; } else if (arrayTemp[mid] < resistance && arrayTemp[mid-1] > resistance) { return (mid + mid - 1) / 2; } else if (arrayTemp[mid] > resistance ) { front = mid; } else { rear = mid; } } } return temp_funkcija_prenosa(resistance); } int naponskiRazdelnik(double Vout) { double Rterm = Rref * (Vin/Vout - 1); pc1.printf("Otpornost NTC-a = %6.2f OHM\n", Rterm); double temperature = binarySearch(Rterm); pc1.printf("Temperature of GPIO1 = %6.2f C\n", temperature); return temperature; }