🛒
0 товаров
0 руб.

Интернет-магазин «Неглупый Дом»


🔗 Проект: надёжное подключение выносного датчика DS18B20 через клеммную колодку

Датчик DS18B20 часто выносят далеко от платы — на улицу, в аквариум, в погреб — и провод к нему приходится удлинять. Скрутка проводов в такой ситуации со временем окисляется и теряет контакт; клеммная колодка даёт разборное прижимное соединение, которое легко переподключить при обслуживании.

Как это работает

Клеммная колодка прижимает провод винтом, создавая механический контакт под давлением — это надёжнее и долговечнее скрутки, которая держится только за счёт трения и со временем окисляется и слабеет от вибрации, и удобнее пайки, которую нельзя разобрать без паяльника. Рейтинг колодки на 24А в этом проекте намного больше, чем нужно датчику — она выбрана не из-за токовой нагрузки, а именно за надёжный винтовой зажим.

DS18B20 по протоколу 1-Wire требует всего 3 провода (сигнал, VCC, GND) — в этом комплекте используется именно 3-контактная колодка KF128-3P, чтобы все три провода датчика заняли ровно все три клеммы без лишних незанятых позиций.

Пошаговая сборка

Так как реализации данного модуля бывают разные, если у вас на плате нет тех контактов, которые указаны ниже — сориентируйтесь по названиям контактов на своей плате.

  1. Три провода датчика DS18B20 (сигнал, VCC, GND) — каждый в отдельный зажим клеммной колодки, винты затянуть плотно.
  2. С другой стороны колодки провода идут к Arduino: сигнал → D2 (с резистором-подтяжкой 4.7 кОм между сигналом и VCC, как и в других проектах с DS18B20 на сайте), VCC → 5V, GND → GND.
  3. Периодически (раз в сезон/год, особенно при уличной установке) проверяйте затяжку винтов колодки — вибрация и перепады температуры со временем немного ослабляют прижим.

Скетч

// ВНИМАНИЕ: рекомендую отладить код через монитор порта, так как я языковая
// модель, а не специализированный кодер, и могу что-то упустить. Основу
// и идею я накидал, но проверьте под свою схему.

#include <OneWire.h>
#include <DallasTemperature.h>

#define ONE_WIRE_BUS 2

OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);

void setup() {
  Serial.begin(9600);
  sensors.begin();
}

void loop() {
  sensors.requestTemperatures();
  float t = sensors.getTempCByIndex(0);

  Serial.print("Температура: ");
  Serial.print(t);
  Serial.println(" C");

  delay(1000);
}

Библиотеки OneWire и DallasTemperature ставятся через Менеджер библиотек Arduino IDE — та же пара, что и в других проектах с DS18B20 на сайте.

Частые проблемы

Как улучшить проект

Товары по теме

Ещё модули для Arduino: Электронные модули.

← 🔌 аккуратный ввод питания через разъём DC005…♨️ отвод тепла от MOSFET тепловой трубкой к р… →

🎁 Купить весь комплект со скидкой 10%

Все 2 товара сразу в корзину: 132 ₽ 119 ₽ (экономия 13 ₽)

Скидка применяется автоматически при оформлении заказа, если в корзине именно этот комплект.

Остались вопросы? Проконсультируйтесь с ИИ-инженером — он уже в курсе темы статьи и сразу ответит, ничего вводить не нужно.

Корзина


Поиск



Пример: понижающий или DC-DC или mini360 или aw-023 или арт. OZ/WB/YA