• I






      
           

Научно-популярный образовательный ресурс для юных и начинающих радиолюбителей - Popular science educational resource for young and novice hams

Основы электричества, учебные материалы и опыт профессионалов - Basics of electricity, educational materials and professional experience

КОНКУРС
language
 
Поиск junradio

Радиодетали
ОК
Сервисы

Stock Images
Покупка - продажа
Фото и изображений


 
Выгодный обмен
электронных валют

Друзья JR



JUNIOR RADIO

 

Датчики температуры TC74 и Arduino



 



 

В данной статье описывается, как можно использовать термодатчики и Arduino для измерения 3 различных температур. Это может быть очень полезно, когда вы хотите измерить температуру снаружи, внутри или на отдалении от объекта исследования, при этом используя минимум контактов вашего Arduino.

Схема Arduino и датчики TC74

 

Как вы можете видеть на схеме все три TC74 датчика имеют свои SDA и SCL выводы, соединенные последовательно с контактом A4 и A5 на борту Arduino. Два подтягивающих резистора  4.7K должны быть использованы при I2C связи. Мы используем серийный монитор для отображения данных, полученных от платы.

Каждая IC, которая поддерживает протокол I2C, имеет уникальный адрес, как вы можете видеть в таблице выше, и вы должны использовать этот адрес, чтобы инициировать связь ведущего и ведомоого устройства. В нашем случае TC74A0 имеет двоичный адрес, 1001000 TC74A1 1001001 и 1001010 TC74A2, который раскладывается в десятичный 72, 73 и 74 соответственно. Мы используем эти значения в качестве адресов для каждого датчика.

Arduino I2C код

В коде мы используем функцию read_temp (), которая возвращает целое число, в нашем случае значение температуры. Внутри функции мы начинаем передачу с помощью функции beginTransmission () из объекта Wire, который записывается в адрес нашего датчика. Далее мы отправляем один бит 0, чтобы прочитать значение из реестра 0. После этого мы заканчиваем передачу, отправив стоп-бит.

 

 

Следующие шаги показывают, как мастер (Arduino) читает из ведомого устройства I2C. Wire.requestFrom (адрес, 1) команда рассчитывает получить 1 байт данных от датчика TC74. Wire.available () ждет, чтобы данные были доступны на шине I2C, и когда данные поступают в 8-битное значение они хранится внутри целого  с функцией Wire.read (). Мы используем функцию read_temp () внутри цикла (), поэтому получаем значения температуры для каждого подключенного датчика.

 

Эта статья показывает, как использовать несколько датчиков температуры, но вы можете использовать любой другой вид интегральной схемы, которая имеет интерфейс последовательного порта I2C. Преимущество в том что вы будете использовать только 2 контакта на микроконтроллер освобождая другие.

 

В начало обзора



Купить радиодетали для ремонта




Необходимо добавить материалы...
Результат опроса Результаты Все опросы нашего сайта Архив опросов
Всего голосовало: 379



          

Радио для всех© 2024