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

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

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


Pixel Art Mini Meow Animated.gif Черновик


Чтение данных с 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

Код

 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 }

См.также

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