Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define STARTCONVO 0x44 // Tells device to take a temperature reading and put it on the scratchpad
- #define COPYSCRATCH 0x48 // Copy EEPROM
- #define READSCRATCH 0xBE // Read EEPROM
- #define WRITESCRATCH 0x4E // Write to EEPROM
- #define RECALLSCRATCH 0xB8 // Reload from last known
- #define SKIPROM 0xCC
- // Device resolution
- #define TEMP_9_BIT 0x1F // 9 bit
- #define TEMP_10_BIT 0x3F // 10 bit
- #define TEMP_11_BIT 0x5F // 11 bit
- #define TEMP_12_BIT 0x7F // 12 bit
- //#include "digitalWriteFast.h"
- #include <OneWire.h>
- #define DS_PIN 10
- OneWire ds(DS_PIN);
- void initDS(){
- ds.reset();
- ds.write(WRITESCRATCH);
- ds.write(0);
- ds.write(100);
- ds.write(TEMP_9_BIT);
- delay(200);
- }
- byte getTemp(){
- ds.reset();
- ds.write(SKIPROM,1);
- ds.write(STARTCONVO,1);
- delay(100);
- ds.reset();
- ds.write(SKIPROM,1);
- ds.write(READSCRATCH,1);
- return (ds.read() | (ds.read() << 8)) >>4;
- }
- void setup() {
- Serial.begin(9600);
- Serial.println("Start");
- initDS();
- }
- void loop() {
- float t = getTemp();
- Serial.println(t);
- delay(1000);
- }
Advertisement
Add Comment
Please, Sign In to add comment