Вы хотите создать проект измерения температуры с использованием датчика Dallas 18B20 и Arduino? Что ж, вы попали по адресу! В этой статье мы рассмотрим различные методы и примеры кода, которые помогут вам начать измерение температуры с помощью этого популярного датчика. Итак, берите плату Arduino и приступим!
Метод 1: использование библиотеки OneWire
OneWire — это мощная библиотека Arduino, которая упрощает связь с устройствами 1-Wire, включая Dallas 18B20. Вот пошаговое руководство:
Шаг 1. Установите библиотеку OneWire
- Откройте Arduino IDE
- Перейдите в «Скетч» >«Включить библиотеку» >«Управление библиотеками».
- Найдите «OneWire» и нажмите «Установить».
Шаг 2. Подключите датчик Dallas 18B20 к Arduino
- Подключите контакт VCC датчика к контакту 5 В на Arduino.
- Подключите контакт GND датчика к контакту GND на Arduino.
- Подключите вывод данных датчика к цифровому выводу на Arduino (например, D2)
Шаг 3. Загрузите код
#include <OneWire.h>
// Define the data pin
const int dataPin = 2;
// Create a OneWire instance
OneWire oneWire(dataPin);
void setup() {
Serial.begin(9600);
}
void loop() {
float temperature;
// Reset and select the sensor
oneWire.reset();
oneWire.select(sensorAddress);
// Request temperature data
oneWire.write(0x44);
// Delay for conversion
delay(1000);
// Read temperature data
oneWire.reset();
oneWire.select(sensorAddress);
oneWire.write(0xBE);
// Read 9 bytes of data
for (int i = 0; i < 9; i++) {
data[i] = oneWire.read();
}
// Convert the data to temperature
int16_t rawTemperature = (data[1] << 8) | data[0];
temperature = (float)rawTemperature / 16.0;
// Print the temperature
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.println(" °C");
delay(1000);
}
Метод 2. Использование библиотеки температур Далласа
Библиотека DallasTemperature предоставляет интерфейс более высокого уровня для работы с датчиками температуры Dallas 1-Wire. Вот как вы можете его использовать:
Шаг 1. Установите библиотеку DallasTemperature
- Откройте Arduino IDE
- Перейдите в «Скетч» >«Включить библиотеку» >«Управление библиотеками».
- Найдите «DallasTemperature» и нажмите «Установить».
Шаг 2. Подключите датчик Dallas 18B20 к Arduino (так же, как в методе 1)
Шаг 3. Загрузите код
#include <OneWire.h>
#include <DallasTemperature.h>
// Define the data pin
const int dataPin = 2;
// Create a OneWire instance
OneWire oneWire(dataPin);
// Create a DallasTemperature instance
DallasTemperature sensors(&oneWire);
void setup() {
Serial.begin(9600);
sensors.begin();
}
void loop() {
sensors.requestTemperatures();
float temperature = sensors.getTempCByIndex(0);
// Print the temperature
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.println(" °C");
delay(1000);
}
Метод 3. Использование библиотеки OneWireHub
Библиотека OneWireHub позволяет объединять в сеть несколько устройств 1-Wire, включая датчик Dallas 18B20. Вот краткий пример:
Шаг 1. Установите библиотеку OneWireHub (доступна по адресу https://github.com/orgua/OneWireHub )
Шаг 2. Подключите датчик Dallas 18B20 к Arduino (так же, как в методе 1)
Шаг 3. Загрузите код (пример кода доступен в документации библиотеки)
В этой статье мы рассмотрели различные способы использования датчика температуры Dallas 18B20 с Arduino. Мы рассмотрели основы с использованием библиотеки OneWire, библиотеки DallasTemperature более высокого уровня и более продвинутой библиотеки OneWireHub для сетевых настроек. С помощью этих методов и примеров кода вы теперь можете начать измерять температуру в своих проектах Arduino. Так что вперед, экспериментируйте и получайте удовольствие от приключений по измерению температуры!