Arduino:Примеры/Чтение данных с I2C-датчика температуры TC74A0-5.0VAT

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Проверка/Оформление/Редактирование: Мякишев Е.А.


Cat poo.png Черновик


Чтение данных с I2C-датчика температуры TC74A0-5.0VAT

Данный пример демонстрирует подключение I2C-датчика температуры TC74A0-5.0VAT к Arduino Uno и чтение данных с него с использование библиотеки Wire.

Необходимые компоненты

Монтажная схема

Соберите схему согласно монтажной схеме.

Перейти на страницу описания TC74A0-5.0VATПерейти на страницу описания Arduino UnoArduino uno i2c tc74 1.png
Описание изображения
Распиновка I2C-датчика температуры TC74A0-5.0VAT

Код

#include <Wire.h>                              // Подключаем библиотеку Wire
int temp_address = 72;                         // Адрес(1001000) I2C-датчика температуры TC74A0-5.0VAT в десятичной нотации

void setup()
{
  Serial.begin(9600);                          // Инициализация последовательной передачи данных на скорости в 9600 бод
  Wire.begin();                                // Создаем Wire объект
}

void loop()
{
  // Отправка запроса
  Wire.beginTransmission(temp_address);        // Выбор ведомого устройства отправкой его адреса
  Wire.write(0);                               // Отправка 0, тем самым указывая что мы хотим прочитать данные из регистра температуры нашего датчика
  Wire.endTransmission();                      // Отправка стоп-бита, тем самым сообщаем об окончании записи на устройство
  
  // Чтение температуры с датчика 
  Wire.requestFrom(temp_address, 1);           // Запрос 1 байта по адресу устройства 
  while(Wire.available() == 0);                // Ожидаем ответа
  int c = Wire.read();                         // Чтение данных в переменную
 
  int f = round(c * 9.0 / 5.0 + 32.0);         // Переводим Цельсии в Фаренгейты и округляем результат
 
  // Передаем считанную температуру в последовательный порт
  Serial.print("Температура: ");
  Serial.print(c);
  Serial.print("C (");
  Serial.print(f);
  Serial.print("F");
  Serial.println(")");
 
  delay(500);                                // Задержка 500 мс.
}

См.также

Внешние ссылки