( ! ) Warning: file_get_contents(https://www.googleapis.com/youtube/v3/videos?id=E8vSjpCY580&key=AIzaSyDmjcshKXGXDGevwJGxgn6B3kyxcfvmW0U&part=snippet,statistics): failed to open stream: HTTP request failed! HTTP/1.0 400 Bad Request in /var/www/dvizhuxa/estunt.ru/functions/system_functions/system_functions.fuck on line 853
Call Stack
#TimeMemoryFunctionLocation
10.0000251272{main}( ).../index.php:0
20.0200309024obrabotchik( ).../index.php:24
30.0200309184pagesd( ).../output_functions.fuck:27
40.0210333184show_page( ).../tree_functions.fuck:229
50.0210333944page_content( ).../tree_functions.fuck:282
60.0225342680show_videos( ).../tree_functions.fuck:337
70.0227345904video_img( ).../tree_functions.fuck:1385
80.0229347080get_video_from_youtube( ).../system_functions.fuck:887
90.0230347512file_get_contents ( ).../system_functions.fuck:853

( ! ) Warning: imagecreatefromjpeg(): Filename cannot be empty in /var/www/dvizhuxa/estunt.ru/functions/system_functions/system_functions.fuck on line 888
Call Stack
#TimeMemoryFunctionLocation
10.0000251272{main}( ).../index.php:0
20.0200309024obrabotchik( ).../index.php:24
30.0200309184pagesd( ).../output_functions.fuck:27
40.0210333184show_page( ).../tree_functions.fuck:229
50.0210333944page_content( ).../tree_functions.fuck:282
60.0225342680show_videos( ).../tree_functions.fuck:337
70.0227345904video_img( ).../tree_functions.fuck:1385
80.1049348200imagecreatefromjpeg ( ).../system_functions.fuck:888

( ! ) Warning: imagejpeg() expects parameter 1 to be resource, boolean given in /var/www/dvizhuxa/estunt.ru/functions/system_functions/system_functions.fuck on line 891
Call Stack
#TimeMemoryFunctionLocation
10.0000251272{main}( ).../index.php:0
20.0200309024obrabotchik( ).../index.php:24
30.0200309184pagesd( ).../output_functions.fuck:27
40.0210333184show_page( ).../tree_functions.fuck:229
50.0210333944page_content( ).../tree_functions.fuck:282
60.0225342680show_videos( ).../tree_functions.fuck:337
70.0227345904video_img( ).../tree_functions.fuck:1385
80.1054350704imagejpeg ( ).../system_functions.fuck:891
ES - Как из простого вентилятора сделать арт объект. (подсветка с эффектом медленного вращения)

Как из простого вентилятора сделать арт объект. (подсветка с эффектом медленного вращения)

2798

Многим известно, что у меня есть типа сервер, который я использую для всяких экспериментов и прочего. Но т.к. он живет в старом десктопном корпусе, есть проблемы с лишним шумом и внешними видом. Решил я сделать модный и тихий корпус. Для этого заказал шесть кулеров 120. Три с подсветкой, они будут стоять спереди на выдув, и три простых на заднюю стенку, на вдув. Но корпус это тема для отдельной статьи. Сегодня речь про моддинг кулера с подсветкой.

Посмотрел я на эти светящиеся вентиляторы - да прикольно, но чего-то не хватает. И зачесались руки. Я вспомнил что у всех кулеров три вывода - два на питание и один отдает данные об оборотах. Решил я сделать так, чтобы светодиоды подсветки моргали синхронно с частотой вращения кулеры. Да так, чтобы казалось, что кулер крутится медленно. Хочу отметить, что так можно переделать любой кулер. Даже обычный без подсветки, нужно будет только поставить светодиоды так, чтобы они освещали лопости.

Первым делом я повесил полевой транзистор на третий провод кулера так, чтобы подсветка моргала в такт оборотов кулера. За один оборот приходит два импульса, но этой частоты оказалось недостаточно т.к. было видно как моргают диоды. Тогда, я не долго думая привесил ардуину к этой системе. К ардуине получается мы подводим четыре провода - земля, питание 12V к Vin, провод от датчика оборотов к любому аналоговому входу и проводок к транзистору. И после написания трех строчек кода эффект получился. Первой функцией мы измеряем частоту оборотов (паузу между импульсами) с помощью команды pulseIn. Потом уменьшаем паузу путем деления на 4. И функцией tone заставляем мигать подсветку так как нам нужно.

В принципе на этом можно было бы остановится, т.к. Arduino Pro Mini достаточно мала и дешева, чтобы можно было использовать ее. Тем более, она могла бы управлять подсветкой сразу трех вентиляторов. Но мне покзалось этого мало и решил организовать это все на самом простом микроконтроллере ATTINY13 с отдельными платками для каждого кулера.

Развел круглые платки на которых установлен МК, стабилизатор напрежения, транзистор и несколько пассивных элементов, для порядка. Запаял это все дело и начал развлекаться с прошивкой.


 У данного микроконтроллера есть две проблемы для данного проекта. Первое это всего 1КБ памяти программ, а второе это всего один таймер. Ардуиновская функция pulseIn занимает >>800 Байт. Функция tone не поддерживается т.к. всего один таймер и тот не подходит. Много часов я пытался заставить светодиоды постоянно моргать от таймера и переодически мерять частоту. Но, похоже, это невозможно, т.к. таймер всего один и pulseIn постоянно его перехватывает. Вышел из положения поставив моргания в цикле основной программы. Да, конечно заметно как иногда кулер моргает на доли секунды, но это можно отметить как фишку. Да и период между измерениями можно поставить огромный, так чтоб не было вспышек, но скорость реакции на изменения скорости вращения кулера будет медленная. Несмотря на все эти сложности, устройство работает нормально и радует глаз юного модера.

В архиве к статье приложено все - прошивка, печатная плата, схема. - kuler_mod

Четкая прошивка на сях (спасибо Кириллу) - kuller

Видео про Как из простого вентилятора сделать арт объект. (подсветка с эффектом медленного вращения)

Товары из китая в тему:

Комментарии

Комментарии