Температура CPU и GPU + частота и загрузка на LCD-дисплее на Arduino

Выводим в реальном времени на любой LCD-дисплей название, температуру, тактовую частоту и загрузку процессора и видеокарты. Всё обновляется каждые 1–5 секунд.

Температура CPU и GPU на LCD

Что выводится на экран

  • Производитель и модель CPU / GPU
  • Текущая температура (°C)
  • Тактовая частота (МГц)
  • Загрузка в процентах (%)

Что понадобится

  • Любая Arduino (Uno, Nano, Pro Mini и т.д.)
  • LCD-дисплей (1602, 2004 и любой другой) с I2C-модулем или без
  • ПК с Windows

Программа на компьютере

Используем готовую утилиту Arduino PC Monitor (ссылка в описании под видео).
Она считывает данные через Open Hardware Monitor / Libre Hardware Monitor и отправляет их в COM-порт.

Подключение LCD по I2C (самый простой вариант)

  • VCC → 5 В
  • GND → GND
  • SDA → A4 (Uno/Nano) или соответствующий пин на Mega/ESP
  • SCL → A5 (Uno/Nano)

Готовый скетч на LCD 1602 I2C


#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 16, 2);

String lastData = "";

void setup() {
  Serial.begin(9600);
  lcd.init();
  lcd.backlight();
  lcd.print("Ожидание данных");
}

void loop() {
  if (Serial.available()) {
    String data = Serial.readStringUntil('\n');
    data.trim();

    if (data == lastData) return;   // не обновлять одно и то же
    lastData = data;

    lcd.clear();

    if (data.startsWith("CPU") || data.startsWith("GPU")) {
      lcd.setCursor(0, 0);
      lcd.print(data.substring(0, min(16, data.length())));

      if (data.length() > 16) {
        lcd.setCursor(0, 1);
        lcd.print(data.substring(16, min(32, data.length())));
      }
    }
    else if (data == "disconnect") {
      lcd.setCursor(0, 0);
      lcd.print("Нет соединения");
    }
    else {
      lcd.setCursor(0, 0);
      lcd.print("Неизв. данные");
    }
  }
}

Инициализирует I2C-LCD 16×2 и выводит сообщение ожидания.
Слушает данные, приходящие по Serial.
Если строка начинается с CPU или GPU, выводит первые 32 символа на LCD (по 16 на строку).
Если приходит строка disconnect, отображает сообщение «Нет соединения».

Что можно улучшить дальше

  • Перейти на OLED 128×64 — графики температуры в реальном времени
  • Добавить вывод RAM, скорости вентиляторов, напряжений
  • Автоматическое включение доп.охлаждения при перегреве
  • Звуковое оповещение или цветовая индикация

Итог

Простой, надёжный и полностью рабочий мониторинг основных параметров системы прямо на отдельном дисплее рядом с компьютером. Никаких платных программ — всё открыто и легко повторяется.

FAQ — Температура CPU и GPU на LCD-дисплее через Arduino

Какие параметры CPU и GPU можно вывести на LCD-дисплей?

На экран выводятся производитель и модель CPU/GPU, текущая температура, тактовая частота и загрузка в процентах. Обновление осуществляется каждые 1–5 секунд.

Какая Arduino подходит для проекта?

Работает любая Arduino — Uno, Nano, Pro Mini и другие. Требования минимальны: нужен лишь последовательный порт для получения данных с компьютера.

Какой LCD-дисплей можно использовать?

Подойдёт любой LCD: 1602, 2004 и другие версии. Можно использовать дисплей с I2C-адаптером или без него. В примере применяется LCD 1602 I2C.

Как Arduino получает температуру и частоты процессора и видеокарты?

ПК использует утилиту Arduino PC Monitor. Она считывает значения через Open Hardware Monitor или Libre Hardware Monitor и отправляет данные в COM-порт, который читает Arduino.

Как подключить LCD-дисплей по I2C к Arduino?

Подключение выполняется так: VCC → 5V, GND → GND, SDA → A4 для Uno/Nano и соответствующий пин на других платах, SCL → A5 для Uno/Nano. Адрес дисплея обычно 0x27 или 0x3F.

Что делает пример скетча в статье?

Скетч принимает строки вида CPU… или GPU… из COM-порта, выводит первую часть строки на верхнюю строку LCD, вторую — на нижнюю. При команде “disconnect” очищает дисплей и выводит сообщение о разрыве соединения.

Какие улучшения можно добавить к проекту?

Можно перейти на OLED 128×64 и добавить графики температуры, вывести RAM, обороты вентиляторов и напряжения, включать охлаждение при перегреве или добавить звуковые уведомления.

📁 Скачать примеры