- Платы Ардуино
- Обучение Ардуино
- Мой блог
- Уроки
- Урок № 1 "Пишем свой первый скетч"
- Урок № 2 "Подключение фоторезистора"
- Урок № 3 "Подключение пищалки(BUZZER)
- Урок № 7 "Модуль часов RTC DS3231"
- Урок № 8 - "Шаговый двигатель 28BYJ-48"
- Урок № 10 - "ИК пульт на Ардуино"
- Урок № 11- "Сканер отпечатка пальца"
- Урок № 12- "Датчик наклона SW-200D"
- Урок № 13- "Гирлянда светодиодная WS2812b"
- Книги
- Мой YOUTUBE
Температура процессора и видеокарты, их частота и загруженность.
Температура процессора и видеокарты, их частота и загруженность.
Сегодня я расскажу как посмотреть основные параметры ПК - это название и температуру процессора и видеокарты. Выведем эти и другие значения при помощи Ардуино на LCD дисплей. Рассмотрим скетч вывода температуры процессора на экран LCD 1602.
Всем привет.
Сегодня продолжим тему о связи Ардуино с вашим компьютером и получим основные характеристики компьютера. Я считаю, что главное в работе компьютера – это его процессор и видеокарта, а точнее их загруженность и температура. Конечно есть ещё память и жёсткие диски, но это оставим для следующей темы. А сегодня процессор и видеокарта.
Для получения данных нам понадобятся любая Ардуина и LCD дисплей, тоже абсолютно любой, я использовал LCD 1602 с I2C подключением. Мне кажется, что это самый лёгкий для повторения пример. Подключить всего 4 провода, два из которых питание и на экране появятся название и параметры ваших процессора и видеокарты, и всё это в реальном времени.
Для работы надо запустить программу которая будет посылать в порт Ардуино эти данные и вам останется просто получить их и вывести на экран дисплея.
Мы будем получать.
- Фирму производителя процессора и видеокарты
- Рабочую температуру в реальном времени.
- Тактовую частоту и их загруженность.
Есть ещё множество параметров которые можно получить. Например все данные о материнской плате, и вентиляторах установленных на ней. Размер памяти ОЗУ и её загруженность, полную информацию о жёстких дисках, но так как мне сейчас это не нужно, да и выводить на этот экранчик неудобно, поэтому я оставил это на будущее. Пишите в комментариях если вам интересна эта тема и какие параметры вы бы хотели увидеть в следующем видео.
Теперь приступим к разбору урока.
Есть много программ для отслеживания параметров компьютера. Вот одна из них. Это программа Open HardWare Monitor.
Давайте её скачаем и посмотрим что она нам покажет, а потом посмотрим, что у нас будет на дисплее.
Переходим по этой ссылке или можно скачать последнюю на текущим момент версию программы по ссылке на моём сайте. Там же будут дополнительные программы и скетч для вывода параметров на дисплей.
Нажимаем Скачать и скачиваем вот эту версию. Теперь переходим в то место куда скачал и запускаем программу.
Для отображения подробной информации о каждом из пунктов раскройте его.
- Voltages – напряжение (процессора);
- Temperatures – температуры использования компонента;
- Fans – скорость вращения вентилятора;
- Controls – настройка скорости вращения вентилятора вручную;
- Clocks – тактовая частота работы ядер процессора и видеокарты;
- Load – степень загрузки компонента;
- Data – степень физического использование памяти (загрузка ОЗУ и заполнение HDD).
Эти данные постоянно изменяются, так как замеры идут в реальном времени, и чем больше или меньше нагрузка на процессор или видеокарту, тем выше или ниже будет температура. Вот эти параметры мы и будем сегодня считывать.
Загружаем скетч и смотрим что у нас на дисплее. Сначала Ардуина ждёт подключения к серийному порту компьютера. Для того чтобы соединение произошло надо запустить программу Arduino PC Monitor.
Эту программу написал не я. Я позаимствовал её из сети. Ссылка откуда я её взял будет в описании.
Выбираем порт к которому подключена Ардуина.
У меня это COM PORT 4. Так же здесь можно отметить с какой частотой будут производиться вывод на дисплей Можно выбрать от 1 до 5 секунд.
Нажимаем Соединиться и видим, что на экране появилась информация.
Давайте теперь сравним её с программой.
Помимо HardWare Monitor я ещё вывел на экран Диспетчер задач и открыл в нём вкладку Центральный процессор. Так же здесь есть вкладка Видеокарта и там также можно видеть все изменения.
Теперь я заморожу видео чтобы рассмотреть показания.
Мы видим, что у меня процессов компании Intel, i7 3 поколения и модели 820.
Температура в данный момент поднималась до 53 градусов. Это вполне нормальная температура для процессора. Режимы работы своего процессора вы можете найти в даташитах в интернете.
Тактовая частота процессора равна 3703 Мгц . Это количество тактов (вычислений) в секунду. 1 МГц равен 1 миллиону тактов в секунду.
Загруженность процессора 25 %. Показания немного рознятся – это из-за того что я мог неправильно синхронизировать несколько видео. Видео с камеры и скрин с экрана.
Теперь рассмотрим видеокарту. Здесь я особо рассказывать не буду, так как здесь тоже самое что и в процессоре. Мы видим название моей карты. Это NVideo geforce GTX 1650, которая сейчас разогрета до 33 градусов и загружена всего на 3 %, хотя я сейчас снимаю и монтирую видео.
К чему я всё это веду и для чего это может пригодиться.
Ну во первых для любителей разгона. Вы всегда можете в реальном времени видеть какая у вас температура процессора, а добавив в скетч несколько строчек кода вы можете автоматически или вручную включать дополнительный вентилятор или другое охлаждение. Конечно с таким дисплеем смотрится не очень красиво, поэтому я заказал несколько OLED графических дисплеев на которых можно будет построить график и выводить картинки и цвета. Например при превышении заданной температуры на экранчике будет показан сигнал тревоги, а можно и поставить пищалку и подавать звуковой сигнал. Это будет сделать совсем не сложно, и как приедут дисплеи могу сделать такой пример, конечно если будут желающие посмотреть.
Теперь разорвём соединение и перейдём к рассмотрению кода. Для разрыва соединения нажимаем на красный квадратик и видим на дисплее текст disconnect.
Для начала вам надо установить библиотеку LiquidCristal I2C. Её можно скачать из менеджера библиотек программы Arduino IDE.
Для всех любителей писать что в скетче ошибка, теперь буду специально говорить, что у вас может быть другой адрес не такой а например вот такой или другой. Узнать его можно запустив сканер I2C шины.
Остальное стандартное подключение и вывод текста что Ожидается соединение, ждите.
Этот текст пропадёт после того как вы запустите программу Arduino PC Monitor и она соединится с Ардуино по COM порту.
Этот код проверят пришли ли новые сообщения в порт и если да то выводит их на экран.
Выводим на первой строчке CPU если это процессор или GPU если это видеокарта.
Выводим температуру и знак градуса.
На второй строчке выводим частоту и значение мГц.
Ну и дальше выводим загруженность в процентах.
Вот и всё осталось посмотреть схему соединения и можно идти собирать. Схема очень простая. Это простое подключение дисплея по шине I2C. Ждите продолжения. Вывод на графический дисплей и больше данных.