Guest User

Untitled

a guest
Jul 8th, 2022
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.14 KB | None | 0 0
  1. #define STARTCONVO 0x44 // Tells device to take a temperature reading and put it on the scratchpad
  2. #define COPYSCRATCH 0x48 // Copy EEPROM
  3. #define READSCRATCH 0xBE // Read EEPROM
  4. #define WRITESCRATCH 0x4E // Write to EEPROM
  5. #define RECALLSCRATCH 0xB8 // Reload from last known
  6. #define SKIPROM 0xCC
  7.  
  8. // Device resolution
  9. #define TEMP_9_BIT 0x1F // 9 bit
  10. #define TEMP_10_BIT 0x3F // 10 bit
  11. #define TEMP_11_BIT 0x5F // 11 bit
  12. #define TEMP_12_BIT 0x7F // 12 bit
  13.  
  14. //#include "digitalWriteFast.h"
  15. #include <OneWire.h>
  16. #define DS_PIN 10
  17.  
  18.  
  19. OneWire ds(DS_PIN);
  20.  
  21. void initDS(){
  22. ds.reset();
  23. ds.write(WRITESCRATCH);
  24. ds.write(0);
  25. ds.write(100);
  26. ds.write(TEMP_9_BIT);
  27. delay(200);
  28. }
  29.  
  30. byte getTemp(){
  31.  
  32. ds.reset();
  33. ds.write(SKIPROM,1);
  34. ds.write(STARTCONVO,1);
  35. delay(100);
  36. ds.reset();
  37. ds.write(SKIPROM,1);
  38. ds.write(READSCRATCH,1);
  39. return (ds.read() | (ds.read() << 8)) >>4;
  40.  
  41. }
  42.  
  43.  
  44. void setup() {
  45. Serial.begin(9600);
  46. Serial.println("Start");
  47. initDS();
  48. }
  49.  
  50. void loop() {
  51.  
  52. float t = getTemp();
  53. Serial.println(t);
  54. delay(1000);
  55.  
  56. }
  57.  
Advertisement
Add Comment
Please, Sign In to add comment