Итак, нужно подключить несколько датчиков температуры по одной шине к arduino. Самый простой способ - использовать библиотеку Dallas Temperature Control Library. Поддерживаются датчики:
Скетч-пример работы с библиотекой:
Вики по Dallas Temperature Control Library
Сам датчик:
Пины по порядку для подключения к arduino: GND-GND, DQ-pin12, Vcc-5V.
Между pin12 и 5V рекомендуется поставить подтягивающий резистор на 4.7 кОм.
- DS18B20
- DS1822
- DS18S20*
- DS1820
Скетч-пример работы с библиотекой:
#include <OneWire.h>Вот и все, осталось вживить это в основной скетч (ну не использовать же Arduino только для измерения температуры?) =))
#include <DallasTemperature.h>
// Data-нога датчика (или датчиков) к 12 пину ардуины
#define ONE_WIRE_BUS 12
// настройка oneWire для работы с любыми другими OneWire девайсами (не только Maxim/Dallas датчиками температуры)
OneWire oneWire(ONE_WIRE_BUS);
// подключаем Dallas Temperature.
DallasTemperature sensors(&oneWire);
void setup(void)
{
// start serial port
Serial.begin(9600);
Serial.println("Dallas Temperature IC Control Library Demo");
// Start up the library
sensors.begin();
}
void loop(void)
{
// вызов sensors.requestTemperatures() для сбора показаний
// со всех датчиков на шине
Serial.print("Requesting temperatures...");
sensors.requestTemperatures(); // запрос показаний температуры
Serial.println("DONE");
Serial.print("Temperature for Device 1 is: ");
Serial.print(sensors.getTempCByIndex(0)); // первый датчик
Serial.print("\n");
Serial.print("Temperature for Device 2 is: ");
Serial.print(sensors.getTempCByIndex(1)); // второй
// если датчиков больше, то продолжаем аналогично...
Serial.print("\n");
}
Вики по Dallas Temperature Control Library
Сам датчик:
Пины по порядку для подключения к arduino: GND-GND, DQ-pin12, Vcc-5V.
Между pin12 и 5V рекомендуется поставить подтягивающий резистор на 4.7 кОм.
Комментариев нет:
Отправить комментарий