LOG trådlös temperaturövervakning (2 / 7 steg)
Steg 2: DS18B20 temperaturgivare
http://www.ebay.com/ITM/2PCS-IC-Dallas-to-92-DS18B20-/250814818630?PT=LH_DefaultDomain_0&hash=item3a65ba6946
Här är databladet
http://datasheets.maximintegrated.com/en/DS/DS18B20.pdf
Den främsta orsaken jag valt DS18B20 är korrekta. Det är kalibrerad till +/-0.5C. De flesta av de andra billiga temperaturgivare måste (eller bör) kalibreras vid olika temperatur punkter att uppnå bättre noggrannhet.
Irrelevant Information: kalibrering: En typisk två punktskalibrering är att använda frysning temperatur vatten, 32F (0C) och kokpunkten för vatten, 212F (100C). Men vänta! Denna kokpunkt gäller bara vid havsytan. Min höjd är ca 4600 ft så kokande vatten om 203F. Okej, detta är en hel del arbete och jag är lat så jag bara antar att DS18B20 är lika exakt som hävdade.
Sekundär orsak: DS18B20 är digital i motsats till analog. Analoga sensorer noggrannhet varierar med tillhörande komponenter och buller. Digital data är inte något av detta.
Technobabble: DS18B20 data överförs seriellt, särskilt SPI (Serial perifera Interface). Men följetong är digital. Helt enkelt sett, finns det två versioner av digitala data, seriella och parallella.
Tredje anledning: Här en bara en nörd kan älska. DS18B20 använder något som kallas ett 1-wire buss. I teorin är vad detta betyder att du bara behöver en tråd att ansluta DS18B20 till mottagaren (Arduino, i detta fall). I praktiken behöver du två ledningar som kretsen behöver en grund. Och full information, jag använder tre.
Mest irrelevant information: Vissa läsare kanske har märkt att bilden visar DS18B20 märkt Dallas men databladet är Maxim. Och jag är ganska säker på att DS i DS18B20 står för Dallas Semiconductor. Tja, Dallas Semiconductor utformade och tillverkade en hel del riktigt bra ICs. Jag är ganska säker på att de utvecklat 1-wire enheter. Ack, har de köpts upp av Maxim.
DS18B20 och Arduino: Så behöver naturligtvis Arduino ett specialbibliotek för DS18B20 eller faktiskt för en tråd. Jag tror att det kan finnas varianter på detta bibliotek eller åtminstone olika versioner men jag använde den här:
http://www.pjrc.com/teensy/td_libs_OneWire.html
Här är lite mer info om DS18B20:
http://Arduino-info.wikispaces.com/Brick-temperature-DS18B20
Jag använder också Dallas temperatur biblioteket. Jag tror att det enda jag använder det för är omvandlingen av Celsius till Fahrenheit, som jag kunde skrivit själv. Det finns dock en massa andra saker du kan göra med detta bibliotek.