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

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
Нет описания правки
 
(не показана 1 промежуточная версия этого же участника)
Строка 2: Строка 2:
{{Myagkij-редактор}}
{{Myagkij-редактор}}


{{Черновик}}
 


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


<references />
<references />
{{Навигационная таблица/Портал/Arduino}}
[[Категория:Пример]]
[[Категория:Пример]]
[[Категория:Примеры]]
[[Категория:Примеры]]
[[Категория:Пример программирования Arduino]]
[[Категория:Пример программирования Arduino]]
[[Категория:Примеры программирования Arduino]]
[[Категория:Примеры программирования Arduino]]

Текущая версия от 12:41, 8 июля 2023

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



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

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

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

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

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

<imagemap> Файл:Arduino_uno_i2c_tc74_1.png|1300px|center

rect 876 563 1032 763 Перейти на страницу описания TC74A0-5.0VAT rect 396 113 676 225 Перейти на страницу описания Arduino Uno </imagemap>

Распиновка 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 мс.
}

См.также

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