Skillnad mellan versioner av "KY-001"

Från Stockholm Makerspace Wiki
Hoppa till navigering Hoppa till sök
(Koppling)
 
(17 mellanliggande versioner av samma användare visas inte)
Rad 1: Rad 1:
 +
== Bild ==
 +
[[Fil:KY001.JPG]]
 +
 
== Om sensorn ==
 
== Om sensorn ==
[[Fil:KY001.JPG]]
+
TEMP 18B20 är en vanligt förekommande temperatursensor som använder [http://playground.arduino.cc/Learning/OneWire 1-wire protokollet].
Lorem ipsum
+
Man behöver [http://arduino.cc/en/Guide/Libraries installera ett bibliotek] för att använda det, biblioteket hittar du [http://www.pjrc.com/teensy/arduino_libraries/OneWire.zip här]
 +
 
 +
== Synonymer ==
 +
KEYES Temp Module, KY001, Temperature Sensor Module, 01 ARDUINO DS18b20 sensor module
  
 
== Koppling ==
 
== Koppling ==
Lorem ipsum
+
När man kopplar in sensorn behöver man en sk. pullup på signalbussen, det funkar att sätta en 4,7kiloohms resistor mellan signal och +5v
 
 
  
 
== Arduino exempelkod ==
 
== Arduino exempelkod ==
 
+
När du installerat biblioteket kan du öppna exempelsketchen DS18x20_Temperature under File/Examples/OneWire/
Connect the signal to Arduino digital 10, and open serial port monitor:
 
 
 
<source lang="cpp">
 
 
 
 
 
#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();
 
 
 
}
 
 
 
</source>
 
 
 
  
 
== Bibliotek ==
 
== Bibliotek ==
 
* [[Arduino]]
 
* [[Arduino]]
 
* [[C]]
 
* [[C]]

Nuvarande version från 9 oktober 2013 kl. 16.33

Bild

KY001.JPG

Om sensorn

TEMP 18B20 är en vanligt förekommande temperatursensor som använder 1-wire protokollet. Man behöver installera ett bibliotek för att använda det, biblioteket hittar du här

Synonymer

KEYES Temp Module, KY001, Temperature Sensor Module, 01 ARDUINO DS18b20 sensor module

Koppling

När man kopplar in sensorn behöver man en sk. pullup på signalbussen, det funkar att sätta en 4,7kiloohms resistor mellan signal och +5v

Arduino exempelkod

När du installerat biblioteket kan du öppna exempelsketchen DS18x20_Temperature under File/Examples/OneWire/

Bibliotek