Донецкий техникум промышленной автоматики

Моніторинг заліза ПК за допомогою Arduino

Добрий час доби, читачі і просто сюди зайшли. Я являюсь передплатником каналу на Ютубі AlexGyver і побачивши відео про «Моніторинг заліза ПК»,

вирішив повторити цю саморобку, тому що вона мені здалася досить цікавою, та й завжди хотілося відображення стан системи хардварний способом, на додатковому екрані, а не на моніторі комп'ютера. Робити з компа новорічну ялинку я не захотів, з цього вирішив не ставити RGB-підсвічування, а так же вирішив відмовитися від саморобного реобаса, тому що моя мати Gigabyte прекрасно вміє керувати обертами вентиляторів і без будь-яких посередників засобами BOIS.

Вибрав я і замовив найдешевші комплектуючі, з запропоновані автором:

  1. ATmega 328 https://goo.gl/DkWhmU
  2. з'єднувальні дроти https://goo.gl/NHmQqs
  3. Екран на 4 рядки 20 символів https://goo.gl/4MAowg

Це все замовляв у одного продавця що б прийшло разом, однією посилкою. І невеликий лайф хак: якщо накидати все в кошик, від одного продавця, у якого є плата за доставку, а потім один раз оплачувати, то плата за пересилку візьметься 1 раз. (А чи не за кожен з 3-х товарів).

4. Міні ЮСБ провід я не замовляв і припаяв на пряму до Ардуінке і під'єднав проводами (з пункту 2) до внутрішнього ЮСБ роз'єму. Але вам можна не мучитися і замовити https://goo.gl/LA7sb3 так простіше 4

І почав чекати. Прийшов все досить швидко, через 15 днів. У схемі є ще кнопка, при замиканні якої перемикаються екрани з інформацією про стан системи. Спочатку я взяв таку: І почав чекати

але ідея виявилася не дуже, тому що її не було чим закріпити на лицьовій панелі комп'ютера. З цього в місцевому магазині радіоелектроніки було обрано кнопка без фіксації, зі зручним кріпленням в корпус, а так же тумблер, для виключення цього «чуда» на ніч. Оскільки все що підключено до ЮСБ-порту, мого комп'ютера, постійно живиться і має властивість світитися і блимати, виключаючи тільки відключенням компа від розетки.

Оскільки  все що підключено до ЮСБ-порту, мого комп'ютера, постійно живиться і має властивість світитися і блимати, виключаючи тільки відключенням компа від розетки

Загалом, кілька годин я витратив на монтування цього чуда технічного прогресу, випилюючи в передній заглушці компа місце під екран і висвердлюючи отворів під кнопку і тумблер. Далі, для повноцінної роботи, все це довелося спаяти по схемі і запустити резидентную програму, для моніторингу ресурсів компа. Ось що вийшло: Загалом, кілька годин я витратив на монтування цього чуда технічного прогресу, випилюючи в передній заглушці компа місце під екран і висвердлюючи отворів під кнопку і тумблер

Ну і далі розглянемо детально які параметри вміє моніторити програма і які псевдографіки вміє будувати:

Ну і далі розглянемо детально які параметри вміє моніторити програма і які псевдографіки вміє будувати:

Ну вийшло досить не погано, майже як я хотів. Залишилося усунути невеликі проблемки в софті, передає температури. Вони чомусь передаються максимальні з: датчик мат. плати CPU, GPU, Motherboard що заважає моніторити комп в спокійному стані, коли температури простою не високі.

Якщо у кого не виходить завантажити вихідні зі сторінки сайту AlexGyver ось перезаліт на мій сайт: PCdisplay-master.zip .

Покопавшись в програмі, я знайшов багато що мене не влаштувало і за великим рахунком, працювало не вірно. Витративши пару вечорів, за допомогою друзів, я трохи розібрався як в коді скетчу на Arduino так і в коді OpenHardwareMonitor, який власне і передає виводяться параметри на екран. І вніс зміни, які мене задовольнили.

Зміни в програмі OpenHardwareMonitor:

  • як температура CPU тепер передається не температура самого гарячого ядра, а температура датчика CPU з матері;
  • як температура GPU тепер передається не максимальна температура між Motherboard і GPU, а температура GPU з датчика відеокарти;
  • як температура MotherBoard тепер передається не максимальна температура між: материнська плата, GPU і датчик температури CPU з матері, а температура MotherBoard з датчика;
  • так само в 12 і 13 значеннях з OpenHardwareMonitor тепер передаються не прапори ручного управління вентиляторів і підсвічування, а швидкість обертання вентилятора CPU і MotherBoard відповідно.

Зміни в скетчі для Ардуіно:

  • прибрано відстеження натискання другої кнопки яка змінювала екрани в зворотному порядку;
  • на другому екрані замінений висновок інформації, тепер замість температури 2-х зовнішніх датчиків температури (TMP1, TMP2) виводжу швидкість обертання вентилятора CPU (FanC) і MotherBoard (FanM).
  • прибрано відстеження включення ручного управління вентиляторами і підсвічуванням.

Архів з усіма змінами і кодами можна скачати тут Change_PCdisplay_meter.rar (Як вдалося з'ясувати, емпіричним шляхом, зміни в OpenHardwareMonitor прекрасно працюють на матерях Gigabyte, як у мене, і, швидше за все, будуть помилки на матерях інших виробників).

Всім зими і котиків! Всім зими і котиків

Вдалих експериментів!