Advertisement
Guest User

Untitled

a guest
Mar 19th, 2019
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.07 KB | None | 0 0
  1. int ad_val;
  2. float resolution = 1024.0; //1024 = 2^10, please check ad bit setting
  3. float ad_voltage;
  4. float ad_resistance;
  5. float vcc = 3.3;
  6. float resistance0 = 10000; // R0, termista, 10k ohm (normal, 25deg)
  7. float resistance1 = 10000; // R1, split voltage resitance, 10k ohm
  8. float e = 2.7182818284; // Napier's constant
  9. float b = 3435.0; // B parameter termista value when 25 deg. = 3435
  10. float standard_temp = 25.0 + 273.15; // 25.0 deg + 273.15 absolute temp. [kelbin]
  11. float temprature;
  12.  
  13.  
  14.  
  15. ad_val = (int)p_event->data.done.p_buffer[i];
  16. ad_voltage = (float)(ad_val) / resolution * vcc;
  17. ad_resistance = ad_voltage / (vcc - ad_voltage) * resistance1;
  18. temprature = b/(logf(ad_resistance/resistance0) + (b/standard_temp)) - 273.15;
  19. //NRF_LOG_INFO("%d,%f", p_event->data.done.p_buffer[i], temprature);
  20. //NRF_LOG_INFO(NRF_LOG_FLOAT_MARKER, NRF_LOG_FLOAT(temprature));
  21. NRF_LOG_RAW_INFO("%d," NRF_LOG_FLOAT_MARKER "\n", p_event->data.done.p_buffer[i], NRF_LOG_FLOAT(temprature));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement