Arduino:Примеры/Чтение данных с I2C-датчика температуры TC74A0-5.0VAT
Перейти к навигации
Перейти к поиску
Поддержать проект | Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Проверка/Оформление/Редактирование: Мякишев Е.А.
![]() |
Черновик |
Содержание
Чтение данных с I2C-датчика температуры TC74A0-5.0VAT
Данный пример демонстрирует подключение I2C-датчика температуры TC74A0-5.0VAT к Arduino Uno и чтение данных с него с использование библиотеки Wire.
Необходимые компоненты
- Плата Arduino Uno, 1 шт.;
- I2C-датчика температуры TC74A0-5.0VAT, 1 шт.;
- Резистор 4,7 кОм, 2 шт.;
- Макетная плата;
- Провода перемычки;
Монтажная схема
Соберите схему согласно монтажной схеме.

Распиновка I2C-датчика температуры TC74A0-5.0VAT
Код
1 #include <Wire.h> // Подключаем библиотеку Wire
2 int temp_address = 72; // Адрес(1001000) I2C-датчика температуры TC74A0-5.0VAT в десятичной нотации
3
4 void setup()
5 {
6 Serial.begin(9600); // Инициализация последовательной передачи данных на скорости в 9600 бод
7 Wire.begin(); // Создаем Wire объект
8 }
9
10 void loop()
11 {
12 // Отправка запроса
13 Wire.beginTransmission(temp_address); // Выбор ведомого устройства отправкой его адреса
14 Wire.write(0); // Отправка 0, тем самым указывая что мы хотим прочитать данные из регистра температуры нашего датчика
15 Wire.endTransmission(); // Отправка стоп-бита, тем самым сообщаем об окончании записи на устройство
16
17 // Чтение температуры с датчика
18 Wire.requestFrom(temp_address, 1); // Запрос 1 байта по адресу устройства
19 while(Wire.available() == 0); // Ожидаем ответа
20 int c = Wire.read(); // Чтение данных в переменную
21
22 int f = round(c * 9.0 / 5.0 + 32.0); // Переводим Цельсии в Фаренгейты и округляем результат
23
24 // Передаем считанную температуру в последовательный порт
25 Serial.print("Температура: ");
26 Serial.print(c);
27 Serial.print("C (");
28 Serial.print(f);
29 Serial.print("F");
30 Serial.println(")");
31
32 delay(500); // Задержка 500 мс.
33 }
См.также
Внешние ссылки