Сегодня первый урок по подключению модуля из набора «37 in 1 Sensors Kit for Arduino». И подключим, в данном Arduino уроке, модуль KY-001, предназначение которого измерение температуры окружающей среды. Построен данный модуль на базе распространённого датчика DS18B20. На моем втором сайте про Arduino я уже рассказывал про данный датчик температуры, и подключал его к Arduino. Сейчас мы рассмотрим подробнее схему подключения модуля KY-001 к Arduino. Код можно взять из предыдущего урока про датчик температуры DS18B20.
Модуль датчика температуры KY-001 состоит из цифрового датчика температуры DS18B20, светодиода и резистора. Модуль совместим с популярными электронными платформами, такими как Arduino, Raspberry Pi и Esp8266.
Каждый DS18B20 имеет уникальный номер, что позволяет подключить к одной шине большое количество датчиков.
Схема подключения модуля KY-001 (DS18B20) к Arduino NANO.
Схема подключения модуля KY-001 (DS18B20) к Arduino.
Подключите линию питания (посередине) c к +5 Arduino, землю (-) и GND соответственно. Подключите сигнал (S) к контакту 2 на Arduino.
Подключение (слева направо)
Код ниже будет выводить показания температуры с модуля KY-001 (DS18B20) в монитор последовательного порта каждую секунду.
#include <OneWire.h> OneWire ds(2); void setup() { Serial.begin(9600); } void loop() { byte i; byte data[12]; byte addr[8]; float celsius; // поиск датчика if ( !ds.search(addr)) { ds.reset_search(); delay(250); return; } ds.reset(); ds.select(addr); ds.write(0x44, 1); // измерение температуры delay(1000); ds.reset(); ds.select(addr); ds.write(0xBE); // начало чтения измеренной температуры //показания температуры из внутренней памяти датчика for ( i = 0; i < 9; i++) { data[i] = ds.read(); } int16_t raw = (data[1] << 8) | data[0]; // датчик может быть настроен на разную точность, выясняем её byte cfg = (data[4] & 0x60); if (cfg == 0x00) raw = raw & ~7; // точность 9-разрядов, 93,75 мс else if (cfg == 0x20) raw = raw & ~3; // точность 10-разрядов, 187,5 мс else if (cfg == 0x40) raw = raw & ~1; // точность 11-разрядов, 375 мс // преобразование показаний в градусы Цельсия celsius = (float)raw / 16.0; Serial.print("t="); Serial.println(celsius); }
Вот такой результат мы увидим в мониторе порта.
Данный пример достаточно сложный для понимания. Для упрощения работы с датчиком лучше использовать библиотеку DallasTemperature.h. Данная библиотека ставится поверх OneWire.h, т.е. для ее работы должна быть установлена библиотека OneWire.
С библиотекой DallasTemperature устанавливаются примеры. Вы можете воспользоваться любым из них.
Мы рассмотрим более простотой пример, который я взял из библиотеки, и немного его упростил.
#include <OneWire.h> #include <DallasTemperature.h> // контакт 2 на Arduino: #define ONE_WIRE_BUS 2 // создаем экземпляр класса OneWire, чтобы с его помощью // общаться с однопроводным устройством OneWire oneWire(ONE_WIRE_BUS); // передаем объект oneWire объекту sensors: DallasTemperature sensors(&oneWire); void setup(void) { Serial.begin(9600); // запускаем библиотеку: sensors.begin(); } void loop(void){ // вызываем функцию sensors.requestTemperatures(), // которая приказывает всем устройствам, подключенным к шине sensors.requestTemperatures(); Serial.print("Celsius temperature: "); // в Цельсиях: Serial.print(sensors.getTempCByIndex(0)); Serial.print(" - Fahrenheit temperature: "); // в Фаренгейтах: Serial.println(sensors.getTempFByIndex(0)); delay(1000); }
В данном примере температура выводится 1 раз в секунду, и при этом выводится температура в Цельсиях и Фаренгейтах в монитор последовательного порта.
Как видите, данный пример намного меньше и более понятен для новичка.
Купить модуль KY-001 можно тут:
KY-001 модуль температуры на базе DS18B20
Описание всех датчиков из набора «37 in 1 Sensors Kit for Arduino» вы можете посмотреть на странице описания данного набора модулей для Arduino.
Понравился Урок KY-001 модуль температуры на базе DS18B20. Подключение Arduino? Не забудь поделиться с друзьями в соц. сетях.
А также подписаться на наш канал на YouTube, вступить в группу Вконтакте, в группу на Facebook.
Спасибо за внимание!
Технологии начинаются с простого!
Фотографии к статье
Файлы для скачивания
![]() |
Модуль KY-001 датчика температуры DS18B20.pdf | 82 Kb | 851 | Скачать |
![]() |
Скетч вывода температуры с модуля KY-001 .ino | 1 Kb | 893 | Скачать |
![]() |
Код с использованием бмблиотеки DallasTemperature.h.ino | 1 Kb | 854 | Скачать |
![]() |
Библиотека DallasTemperature .zip | 31 Kb | 944 | Скачать |
37 модулей для Arduino
19 ноября , 2020
Комментариев:0
Файлов для скачивания:4
Фото:6
Понравилась статья? Нажми
Виджеты для Easy HMI
Читайте также
Мы в соц сетях
Комментарии