https://github.com/milesburton/Arduino-Temperature-Control-Library
Arduino Temperature Library
https://github.com/milesburton/Arduino-Temperature-Control-Library
Last synced: about 1 month ago
JSON representation
Arduino Temperature Library
- Host: GitHub
- URL: https://github.com/milesburton/Arduino-Temperature-Control-Library
- Owner: milesburton
- Created: 2012-05-03T19:04:36.000Z (almost 13 years ago)
- Default Branch: master
- Last Pushed: 2024-05-29T11:38:51.000Z (11 months ago)
- Last Synced: 2024-07-31T22:42:39.719Z (9 months ago)
- Language: C++
- Homepage: https://www.milesburton.com/w/index.php/Dallas_Temperature_Control_Library
- Size: 262 KB
- Stars: 963
- Watchers: 75
- Forks: 486
- Open Issues: 22
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- Awesome-arduino - Arduino-Temperature-Control-Library - Arduino Library for Maxim Temperature Integrated Circuits (Libraries)
- awesome-arduino - Arduino-Temperature-Control-Library - Arduino Library for Maxim Temperature Integrated Circuits (Libraries)
README
# 🌡️ Arduino Temperature Control Library
[](https://github.com/marketplace/actions/arduino_ci)
[](https://github.com/RobTillaart/AS5600/actions/workflows/arduino-lint.yml)
[](https://github.com/RobTillaart/AS5600/actions/workflows/jsoncheck.yml)
[](https://github.com/milesburton/Arduino-Temperature-Control-Library/blob/master/LICENSE)
[](https://github.com/milesburton/Arduino-Temperature-Control-Library/releases)A robust and feature-complete Arduino library for Maxim Temperature Integrated Circuits.
## 📌 Supported Devices
- DS18B20
- DS18S20 (⚠️ Known issues with this series)
- DS1822
- DS1820
- MAX31820
- MAX31850## 🚀 Installation
### Using Arduino IDE Library Manager (Recommended)
1. Open Arduino IDE
2. Go to Tools > Manage Libraries...
3. Search for "DallasTemperature"
4. Click Install
5. Also install the required "OneWire" library by Paul Stoffregen using the same method### Manual Installation
1. Download the latest release from [GitHub releases](https://github.com/milesburton/Arduino-Temperature-Control-Library/releases)
2. In Arduino IDE, go to Sketch > Include Library > Add .ZIP Library...
3. Select the downloaded ZIP file
4. Repeat steps 1-3 for the required "OneWire" library## 📝 Basic Usage
1. **Hardware Setup**
- Connect a 4k7 kΩ pull-up resistor between the 1-Wire data line and 5V power. Note this applies to the Arduino platform, for ESP32 and 8266 you'll need to adjust the resistor value accordingly.
- For DS18B20: Ground pins 1 and 3 (the centre pin is the data line)
- For reliable readings, see pull-up requirements in the [DS18B20 datasheet](https://datasheets.maximintegrated.com/en/ds/DS18B20.pdf) (page 7)2. **Code Example**
```cpp
#include
#include// Data wire is connected to GPIO 4
#define ONE_WIRE_BUS 4OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);void setup(void) {
Serial.begin(9600);
sensors.begin();
}void loop(void) {
sensors.requestTemperatures();
delay(750);
float tempC = sensors.getTempCByIndex(0);
Serial.print("Temperature: ");
Serial.print(tempC);
Serial.println("°C");
delay(1000);
}
```## 🛠️ Advanced Features
- Multiple sensors on the same bus
- Temperature conversion by address (`getTempC(address)` and `getTempF(address)`)
- Asynchronous mode (added in v3.7.0)
- Configurable resolution### Configuration Options
You can slim down the code by defining the following at the top of DallasTemperature.h:
```cpp
#define REQUIRESNEW // Use if you want to minimise code size
#define REQUIRESALARMS // Use if you need alarm functionality
```## 📚 Additional Documentation
Visit our [Wiki](https://www.milesburton.com/w/index.php/Dallas_Temperature_Control_Library) for detailed documentation.
## 🔧 Library Development
If you want to contribute to the library development:
### Using Dev Container
The project includes a development container configuration for VS Code that provides a consistent development environment.1. **Prerequisites**
- Visual Studio Code
- Docker
- VS Code Remote - Containers extension2. **Development Commands**
Within the dev container, use:
- `arduino-build` - Compile the library and examples
- `arduino-test` - Run the test suite
- `arduino-build-test` - Complete build and test process> Note: Currently compiling against arduino:avr:uno environment
## ✨ Credits
- Original development by Miles Burton
- Multiple sensor support by Tim Newsome
- Address-based temperature reading by Guil Barros [[email protected]]
- Async mode by Rob Tillaart [[email protected]]## 📄 License
MIT License | Copyright (c) 2025 Miles Burton
Full license text available in [LICENSE](LICENSE) file.