Beskrivelse
Når det gjelder temperaturfølere, finnes det mange alternativer på markedet, men DS18B20 Temperatur Sensor fra DALLAS er det beste valget for applikasjoner som krever høy nøyaktighet og pålitelighet. Med sin ultra-kompakte størrelse, lave maskinvarekrav, sterke motstandsdyktighet mot interferens og høy nøyaktighet, i tillegg til andre avanserte funksjoner, har DS18B20 blitt svært populær blant brukere. For elektronikkentusiaster og hobbyister er DS18B20 en utmerket start for læring og utvikling av temperaturavhengige prototyper. Denne sensoren kan enkelt plugges inn og brukes sammen med vår nye IO-utvidelsesskjold.
Funksjoner
- Digital temperaturkonvertering og utgang
- Avansert enkelbuss datakommunikasjon
- Maksimal 12-bit oppløsning, nøyaktighet opptil ±0,5 grader Celsius
- Parasitisk modus tilgjengelig
- Temperaturdeteksjonsområde: -55 °C ~ +125 °C (-67 °F ~ +257 °F)
- Innebygd EEPROM og temperaturgrenseinnstilling
Spesifikasjon
- Forsyningsspenning: 3,3V til 5V
- Temperaturområde: -55 °C ~ +125 °C
- Grensesnitt: Digital
- Størrelse: 22x32mm (0,87×1,26in)
Denne temperatursensoren gir en pålitelig og presis løsning for dine prosjekter, enten du er en nybegynner eller en erfaren utvikler. Den er enkel å integrere med Arduino og andre mikrokontrollere, og er ideell for bruk i prosjekter som krever nøyaktig temperaturmåling over et bredt temperaturområde.
Introduksjon
DS18B20 er en digital temperatursensor fra DALLAS, USA. Den kan brukes til å måle omgivelsestemperatur. Med et temperaturområde fra -55 til 125 ℃ og en innebygd oppløsning på 0,5 ℃, støtter den også flerpunkt-nettverksmesh. Tre DS18B20-sensorer kan plasseres på tre linjer for å oppnå flerpunktstemperaturmåling. Den har en seriel utgang med 9-12 bit.
Spesifikasjoner
- Forsyningsspenning: 3,3V til 5V
- Temperaturområde: -55 °C til 125 °C
- Grensesnitt: Digital
- Størrelse: 22x32mm
Koblingsdiagram
Eksempelkode
#include <OneWire.h>
int DS18S20_Pin = 2; //DS18S20 signallinje på digital pin 2
// Temperaturchip i/o
OneWire ds(DS18S20_Pin); // på digital pin 2
void setup(void) {
Serial.begin(9600);
}
void loop(void) {
float temperature = getTemp();
Serial.println(temperature);
delay(100); // kun her for å redusere hastigheten på utdataene slik at de blir enklere å lese
}
float getTemp(){
// returnerer temperaturen fra en DS18S20 i grader Celsius
byte data[12];
byte addr[8];
if ( !ds.search(addr)) {
// ingen flere sensorer på kjeden, nullstiller søk
ds.reset_search();
return -1000;
}
if ( OneWire::crc8( addr, 7) != addr[7]) {
Serial.println("CRC er ikke gyldig!");
return -1000;
}
if ( addr[0] != 0x10 && addr[0] != 0x28) {
Serial.print("Enheten er ikke gjenkjent");
return -1000;
}
ds.reset();
ds.select(addr);
ds.write(0x44,1); // start konvertering, med parasittstrøm på slutten
byte present = ds.reset();
ds.select(addr);
ds.write(0xBE); // Les Scratchpad
for (int i = 0; i < 9; i++ ) { // vi trenger 9 bytes
data[i] = ds.read();
}
ds.reset_search();
byte MSB = data[1];
byte LSB = data[0];
float tempRead = ((MSB << 8) | LSB); // ved bruk av to-komplements metode
float TemperatureSum = tempRead / 16;
return TemperatureSum;
}
Omtaler
Det er ingen omtaler ennå.