Рассмотрен вариант подключения одного DS1620 и вариант подключения двух DS1620 на одну линию.
Подключение одного датчика DS1620
Код:
//----------------------------------------------------------
Схема подключения DS1620 с использованием Arduino Nano (rev. 3.0) |
//----------------------------------------------------------
// Подключение 1 (одного) датчика DS1620
//----------------------------------------------------------
//Подключаем библиотеки
#include <DS1620.h>
static const uint8_t RST_PIN = 3; // пин 3 на DS1620
static const uint8_t CLK_PIN = 4; // пин 2 на DS1620
static const uint8_t DQ_PIN = 5; // пин 1 на DS1620
DS1620 ds1620(RST_PIN, CLK_PIN, DQ_PIN);
void setup()
{
Serial.begin(9600);
delay(100);
ds1620.config();
}
void loop()
{
const float temp_c = ds1620.temp_c();
const float temp_f = temp_c * 9 / 5.0 + 32;
Serial.print("t1 | ");
Serial.print(temp_f);
Serial.print(" Farenheit | ");
Serial.print(temp_c);
Serial.println(" Celsius");
}
Подключение двух датчиков DS1620 (экономим пины Arduino)
Схема подключения двух DS1620 с использованием Arduino Nano (rev. 3.0) |
Код:
//-----------------------------------------------------------------------------
// Подключение 2 (двух) датчиков DS1620 на одну линию
//-----------------------------------------------------------------------------
//Подключаем библиотеки
#include <DS1620.h>
//Назначаем пины
static const uint8_t RST_PIN = 3; // пин 3 на DS1620 первом (DS1620 в коде)
static const uint8_t CLK_PIN = 4; // пин 2 на DS1620 (общие для первого и второго датчика)
static const uint8_t DQ_PIN = 5; // пин 1 на DS1620 (общие для первого и второго датчика)
static const uint8_t RST_PINI = 7; // пин 2 на DS1620 втором (DS1620I в коде)
DS1620 ds1620(RST_PIN, CLK_PIN, DQ_PIN);
DS1620 ds1620I(RST_PINI, CLK_PIN, DQ_PIN);
void setup()
{
Serial.begin(9600);
delay(100);
ds1620.config();
delay(100);
ds1620I.config();
}
void loop()
{
//опрашивать датчики будем поочередно
//сначала первый
//сначала первый
const float temp_c = ds1620.temp_c();
const float temp_f = temp_c * 9 / 5.0 + 32;
Serial.print("t1 | ");
Serial.print(temp_f);
Serial.print(" Farenheit | ");
Serial.print(temp_c);
Serial.println(" Celsius");
delay(5000);
//теперь второй
const float temp_cI = ds1620I.temp_c();
const float temp_fI = temp_c * 9 / 5.0 + 32;
Serial.print("t2 | ");
Serial.print(temp_fI);
Serial.print(" Farenheit | ");
Serial.print(temp_cI);
Serial.println(" Celsius");
delay(5000);
}
Пример вывода:
Пример вывода показаний температуры с двух датчиков в монитор Serial порта |
Комментариев нет:
Отправить комментарий