DS18B20

DS18B20 fra det gamle Dallas Semiconductor der i år 2001 blev overtaget af Maxim Integrated Products (Maxim) er en lidt mere triggi temperatur sensor da DQ benet er den eneste man kommunikere via både til og fra enheden, altså et såkaldt 1-Wire system, faktisk kan der være flere enheder på sådan et 1-Wire system!

Fordele
Huset er i venlig elektronik fusker udgave da det er TO-92 (like BC547)
DS18B20 kan måle temperatur fra -55°C  til +125°C
Udlæsningen er IKKE afhængig af en ADC’s opløsning da der kommunikeres serielt!
Ved 9 bit er opløsningen 0,5°C, 10 bit er 0,25°C, 11 bit er 0,125°C og 12 bit er 0,0625°C

Ulemper
Meget lang kode for udlæsning og man skal importere libraries ind i Arduino IDE

For simpel udlæsning med kun een enhed på 1-Wire systemet/bussen vil jeg anbefale at man bruger koden fra Bildr, LINK
NOTE : Udlæsningen er via Arduino IDE værktøjet Seriel overvågning.
For at bruge det fra Bildr scroller man ned til det der ligner et screen dump og klikker på download inde på billedet.
Åbner pakke filen, dobbelt klikker på det første bibliotek, kopiere OneWire mappen til C:\Program Files (x86)\Arduino\libraries
De resterende filer kopieres til en mappe under C:\Users\***\Documents\Arduino
Gå ind i mappen under C:\Users\***\Documents\Arduino og dobbelt klik på filen DS18B20.ino, upload sketchen og start derefter værktøjet Seriel overvågning.
Hvis du IKKE bruger digital pin 2 på Arduinoen skal du ændre 2-tallet begge steder i denne linie : int DS18S20_Pin = 2; //DS18S20 Signal pin on digital 2
og 2-tallet på denne linie : OneWire ds(DS18S20_Pin);  // on digital pin 2
Faktisk er det nok og ændre det første 2-tal da de andre er i hjælpe teksten.
Så nemt kan det være med og bruge libraries.

Hvis du har flere enheder på samme 1-Wire system/bus vil jeg anbefale at man bruger koden fra Arduino Playground, LINK
NOTE : Udlæsningen er via Arduino IDE værktøjet Seriel overvågning.