Текущее время: 25 май 2019, 07:02

Город ХОББИ

Занятие любимым хобби - это путь к счастливой жизни!

Индикатор загрузки процессора на Ардуино

Тут собраны различные проекты на Ардуино
Аватар пользователя
 
Сообщений: 714
Зарегистрирован: 27 мар 2013, 22:12

Индикатор загрузки процессора на Ардуино

Сообщение -=dp=- » 10 авг 2015, 10:20

Всем добрый день!
В очередной раз загорелся я новой идеей создания внешнего LED индикатора загрузки процессора ПК.
Раньше я имел опыт создания программ для взаимодействия с операционной системой, чтения и записи в COM порт и исходя из имеющегося опыта я все таки решился воплотить идею создания внешнего индикатора загрузки процессора на Ардуино.
В качестве аппаратной составляющей я остановил свой выбор на контроллере Ардуино ПРО мини 5в 16 МГц.
Итак для создания данного девайса нам понадобятся следующие детали:

Контроллер Ардуино ПРО мини 5в 16 МГц. - 1шт
USB RS232 адаптер на чипе CH340 - 1шт.
Макетная плата 20х10 - 1 шт.
Светодиоды - 90 шт (я решил сделать 10 рядов по 9 светодиодов, можно конечно использовать и меньшее количество светодиодов или специализированный LED индикатор)
Резисторы - 560 Ом - 100 шт.
Транзисторы любые малогабаринтный N-P-N (я использовал 2N2222) - 10 шт

Все необходимые детали и контроллер Ардуино ПРО мини я приобрел в интернет магазине робототехники и электроники NEWMAR.RU в г. Калининграде.
Вот ссылка на сайт магазина http://newmar.ru/
Отдельный РЕСПЕКТ ребятам из магазина NEWMAR.RU !
Постоянно подкидывают разные бесплатные бонусы и плюшки :D

Если использовать по одному светодиоду или специализированный LED индикатор то можно упростить конструкцию и транзисторные ключи не использовать.
Ну и запастись припоем, монтажными проводами, терпением и усидчивостью :D

Начало изготовления.
Я решил начать изготовление светодиодного индикатора загрузки процессора с самого на мой взгляд сложного и трудоемкого процесса, а именно с распайки светодиодной матрицы.
Разметил на макетной плате расположение светодиодов, резисторов и начал вставлять светодиоды рядами с равными промежутками, ну естественно необходимо сразу определиться с полярностью светодиодов, чтоб выводы катодов и анодов были параллельны и не перепутаны, иначе потом придется выпаивать светодиод и менять полярность.

Сначала я вставил все светодиоды, позагибал выводы с обратной стороны, по обрезал их чтоб вывод не выходил за границу монтажного пяточка, затем пропаял их.
Далее вставил возле вывода катода у каждого светодиода по резистору 560 Ом, и проделал то же, только один вывод резистора я припаивал к катоду, второй к свободному монтажному пятачку.

Затем зачистил кусок кабеля UTP - 5CAT, убрал изоляцию с проводов, отделил один проводник и очистил его от изоляции и залудил.
Этим луженым проводником я распаял параллели светодиодов.
В итоге у меня получился один общи вывод - плюса и 10 выводов минусов, идущих к каждой параллели светодиодов.
Затем в нижней части макетной платы я разместил транзисторы, заведомо узнав их распиновку, эмитеры транзисторов я запараллелил , к базап припаял резисторы 560 Ом, коллекторы припаял к каждому из 10 выводов минусов, идущих к каждой параллели светодиодов.

Далее разместил на макетной плате контроллер Ардуино ПРО мини и распаял его цифровые выходы от 2 до 11 к резисторам припаянным к базам транзисторов.

Итак , все почти готово, следующий этап - разработка программы для Ардуино или как сейчас модно называть - СКЕТЧА :D


Вложения
1.jpg
Монитор загрузки процессора на Ардуино
2.jpg
LED индикатор загрузки процессора
3.jpg
Индикатор загрузки процессора на Ардуино

Аватар пользователя
 
Сообщений: 714
Зарегистрирован: 27 мар 2013, 22:12

Re: Индикатор загрузки процессора на Ардуино

Сообщение -=dp=- » 10 авг 2015, 10:41

Скетч для создания индикатора загрузки процессора довольно простой, его элементы есть даже в Ардуино ИДЕ.
За основу взяты примеры LED Blink - управление светодиодами и Serial Read - считывание данных с COM порта.
Всего нам понадобится управлять 10 светодиодами (линейками из светодиодов)
Так как Ардуина не может сама узнать какая у процессора загрузка, естественно ей нужно дать команду для включения той или иной линейки светодиодов, в зависимости от состояния загрузки процессора ПК, поэтому ничего навороченного в скетче у нас не будет.
Просто прописываем команды считывания COM порта для включения светодиодов в следующем порядке:
SerialRead (in);
if (in=='1') {
DigitalWrite(DP,HIGHT) где DP - номер цифрового выхода.
};
Для команд на включение светодиодов определены значения от 0 до 9.

Далее то же самое делаем для выключения светодиодов:
if (in=='a') {
DigitalWrite(DP,LOW) где DP - номер цифрового выхода.
};
Для команд на выключение светодиодов определены значения от a до j.

Собственно проверяем реагирование на команды через COM монитор встроенный в Ардуино ИДЕ.
при подаче в порт команды 1 должен включиться светодиод 1,
при подаче в порт команды a должен выключиться светодиод 1.
И так далее проверяем включение и выключение всех 10 светодиодов или линеек из светодиодов.
Если все работает то двигаемся дальше.

Изготовление корпуса.
В качестве корпуса было решено создать небольшой плоский короб из куска фанеры и парочки деревянных брусков.
Корпус тоже получился очень простым и оригинальным.
Брус клеил к фанере обычным ПВА клеем.
Нижнюю подставку прикрутил двумя шурупами.
А вот над лицом всей конструкции - передней панелью пришлось немного по мозговать :D
Но идея не заставила себя долго ждать.
В итоге переднюю панель я выгравировал лазером на покрашенном куске акрилового стекла.


Вложения
4.jpg
Отображение загрузки процессора
5.jpg
LED индикатор загрузки процессора ПК
6.jpg
внешний индикатор загрузки процессора

Аватар пользователя
 
Сообщений: 714
Зарегистрирован: 27 мар 2013, 22:12

Re: Индикатор загрузки процессора на Ардуино

Сообщение -=dp=- » 10 авг 2015, 10:51

Ну и финальным штрихом по изготовлению корпуса стала обклейка всех частей корпуса декоративной карбоновой пленкой.

Далее, следующая немаловажная часть проекта - Индикатор загрузки процессора на Ардуино.

Драйвер управления VISUALLED.
Программу управления индикатором загрузки процессора я разработал довольно быстро, за 3-4 часа, благо опыт разработки имеется за плечами :ugeek:
В итоге программа получилась простая и имеет всего 1 настройку - для ее работы необходимо распаковать архив с программой на диск C\visualled\ прописать в файле conf.ini номер COM порта, и все!
Запускаем, ставим в автозагрузку и наслаждаемся :D

Драйвер протестирован в Windows XP, Windows 7, 8, 10 и не требует никаких разрешений безопасности!

Программа во вложении.


Вложения
visualled.7z
Драйвер VISUALLED
(191.82 KiB) Скачиваний: 461
9.jpg
Индикатор загрузки процессора
10.jpg
аппаратный индикатор загрузки процессора

Аватар пользователя
 
Сообщений: 714
Зарегистрирован: 27 мар 2013, 22:12

Re: Индикатор загрузки процессора на Ардуино

Сообщение -=dp=- » 10 авг 2015, 10:54

Еще одна немаловажная особенность данного девайса -
Внешний индикатор загрузки процессора работает от USB порта и ему не требуется дополнительного источника питания!


Вложения
8.jpg
индикатор загрузки процессора
7.jpg
Внешний индикатор загрузки процессора

Аватар пользователя
 
Сообщений: 714
Зарегистрирован: 27 мар 2013, 22:12

Re: Индикатор загрузки процессора на Ардуино

Сообщение -=dp=- » 10 авг 2015, 13:13

Схема внешнего LED индикатора загруженности процессора ПК.

Набросал схему вручную, чтот в CAD программах лень изголяться было :D


Вложения
vl_shem.jpg
схема индикатора загрузки процессора

Аватар пользователя
 
Сообщений: 714
Зарегистрирован: 27 мар 2013, 22:12

Re: Индикатор загрузки процессора на Ардуино

Сообщение -=dp=- » 10 авг 2015, 15:54

Выкладываю видео о работе LED
индикатора загрузки процессора https://youtu.be/ijqmvbWE2v4



 
Сообщений: 1
Зарегистрирован: 13 янв 2019, 11:16

Re: Индикатор загрузки процессора на Ардуино

Сообщение noname » 13 янв 2019, 11:38

Откуда берут значения загрузки cpu/ram?



Аватар пользователя
 
Сообщений: 714
Зарегистрирован: 27 мар 2013, 22:12

Re: Индикатор загрузки процессора на Ардуино

Сообщение -=dp=- » 13 янв 2019, 12:06

Значения о загрузке процессора берутся из системы.
На ПК устанавливается программа, которая считывает значения из ОС о загрузке ЦП (среднее для всех ядер ЦП) и передает это значение в виртуальный COM порт по USB на Ардуино.
Про диспетчер задач слышали, там есть индикатор загрузки ЦП, вот аналогично работает и эта программа.
Программу, или как я назвал ее выше - драйвер VISUALLED можно скачать тут download/file.php?id=621




Вернуться в Проекты на Ардуино

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1