www.cutedigi.com     Call Us:  303-834-7832    Email Us:  sales at cutedigi.com

Quick Find:    
Search
    
Use keywords to find the product you are looking for.
Categories
.NET Micro Frameworks
3D printer
Arduino
Arduino Kits
Arduino Shields
Audio
Book
Breakout Board
Cables
Cellular
Component
Development Tools
DMX512
Drone
EL
Ethernet
FPGA
GPS
LCD
Lighting LED
Powerline Communication
Programmer/Emulator
Project Case
Prototyping
Python-On-A-Chip
Raspberry Pi
Robotics
Security and Spy Camera
Sensor
Services
Storage
Tools
Tracking
Video
Wireless
Featured more
Cottonwood: Long Range UHF RFID reader UART (ISO18000-6C EPC G2)
Cottonwood: Long Range UHF RFID reader UART (ISO18000-6C EPC G2)
 $177.00 
Specials more
pcDuino3: A20 Single Board Computer supports Arduino Programming
pcDuino3: A20 Single Board Computer supports Arduino Programming
 $77.00  $49.00 
ATWIN Quad-band GPRS/GSM Shield for Arduino
ATWIN Quad-band GPRS/GSM Shield for Arduino
 $49.00  $45.00 
CuHead Pro WiFi/Ethernet Shield with AirPlay/DLNA Audio
CuHead Pro WiFi/Ethernet Shield with AirPlay/DLNA Audio
 $55.90  $51.00 
WiFi  RedBack 1.0 -- Arduino  yellowjacket Compatible
WiFi RedBack 1.0 -- Arduino yellowjacket Compatible
 $75.00  $64.99 
LinkSprite JPEG Color Camera Serial UART Interface (TTL level)
LinkSprite JPEG Color Camera Serial UART Interface (TTL level)
 $44.00  $39.00 
Linker Kit for Raspberry Pi / pcDuino
Linker Kit for Raspberry Pi / pcDuino
 $29.00  $24.90 
  Top » Catalog » Arduino » Sensor KY001
Sensor KY001   by Patrick

 

Connect the signal to Arduino digital 10, and open serial port monitor:


#include

 

/* DS18S20 Temperature chip i/o

 

 */

 

OneWire ds(10); // on pin 10

 

void setup(void) {

 // initialize inputs/outputs

 // start serial port

 Serial.begin(9600);

}

 

 

 

void loop(void) {

 byte i;

 byte present = 0;

 byte data[12];

 byte addr[8];

 int Temp;

 if ( !ds.search(addr)) {

      //Serial.print("No more addresses.n");

      ds.reset_search();

      return;

 }

 

 Serial.print("R="); //R=28 Not sure what this is

 for( i = 0; i < 8; i++) {

   Serial.print(addr[i], HEX);

   Serial.print(" ");

 }

 

 if ( OneWire::crc8( addr, 7) != addr[7]) {

      Serial.print("CRC is not valid!n");

      return;

 }

 

 if ( addr[0] != 0x28) {

      Serial.print("Device is not a DS18S20 family device.n");

      return;

 }

 

 ds.reset();

 ds.select(addr);

 ds.write(0x44,1);        // start conversion, with parasite power on at the end

 

 delay(1000);    // maybe 750ms is enough, maybe not

 // we might do a ds.depower() here, but the reset will take care of it.

 

 present = ds.reset();

 ds.select(addr);

 ds.write(0xBE);   // Read Scratchpad

 

 Serial.print("P=");

 Serial.print(present,HEX);

 Serial.print(" ");

 for ( i = 0; i < 9; i++) {        // we need 9 bytes

   data[i] = ds.read();

   Serial.print(data[i], HEX);

   Serial.print(" ");

 }

 Temp=(data[1]<<8)+data[0];//take the two bytes from the response relating to temperature

 

 Temp=Temp>>4;//divide by 16 to get pure celcius readout

 

  //next line is Fahrenheit conversion

 Temp=Temp*1.8+32; // comment this line out to get celcius

 

 Serial.print("T=");//output the temperature to serial port

 Serial.print(Temp);

   Serial.print(" ");

 

 

 Serial.print(" CRC=");

 Serial.print( OneWire::crc8( data, 8), HEX);

 Serial.println();

}

 

 

 

This article was published on Monday 09 January, 2012.
Current Reviews: 0  Write Review 
Tell a friend
Tell a friend about this article:     
Shopping Cart more
0 items
Articles
New Articles (0)
All Articles (82)
Android
Arduino (30)
DMX512 (1)
FPPA (3)
GPS (6)
Industry News (5)
Linux Port Tutorial TQ2440 (24)
MCU Zone (4)
Multitouch Display (2)
PCB/SMT Assembly Service (2)
Sensors (1)
Smart Home (4)
Cards Accepted
Cards We Accept