USB лампа для ноутбука

Погоревал, и решил сделать её заново, но немного покруче, с регулируемой яркостью и дополнительными фитчами. В качестве фитч была выбрана дополнительная красная подсветка и сенсорная кнопка, чтобы всё это переключать.
Сделал на тини13, организовал распознавание длинного и короткого нажатий. Плату очень хорошо сделал фоторезистом, очень приятно что под 0805 пролезло по дорожке, и ничего не замыкало. Не одной перетравки, ни одной недотравки, всё красиво чрезвычайно.
Алгоритм следующий — короткое нажатие циклически переключает мощность белой подсветки, длинное включает/выключает красную, скидывая белую в дежурный еле светящийся режим. В недра засунул 2 красненький перемигивающихся светодиодика, чтобы медитировать, а заодно и узнать о неисправностях, если такие возникнут.
Сенсор организован просто на ноге и мегаомном резисторе. Замеряет по таймеру ШИМа.
Одна только проблема, с которой я столкнулся ещё при отладке, и которую предпочёл решить костылём, нежели культурно. А конкретнее, незаземлённый объект не даёт надёжного срабатывания сенсора, особенно на длительное нажатие. Пришлось вывести рядом с сенсором площадку для заземления меня любимого во время переключения.
Вот теперь вопрос — а не случиться ли чего, если успею я накопить заряд неплохой? И как этого дела избежать? По логике вещей земля есть земля, в неё обычно и разряжаются. Да и не помню я ни одного случаю выхода из строя компьютеров и прочей техники от натёртых об ковёр ног, хотя вроде бы разряжался частенько в разные их места и внутренние цепи.
Прилагаю видео работы этой фиговины.
UPD: По просьбам желающих прикрепил исходники и орловые файлы.
- -1
- 10 мая 2012, 19:47
- red_bobcat
- 1
Файлы в топике:
lamp.zip
блин… что-то глюкануло. Вот: ics.nxp.com/products/lvc/datasheet/74lvc1t45.74lvch1t45.pdf
Ну не совсем. Красный свет намного меньше сбивает световую адаптацию глаз, поэтому очень часто используется в дежурном освещении и ночном освещении кабин. Да и все хорошие военные фонари обязательно имеют красный фильтр, чтобы ночью карты/документы смотреть, и снова не адаптироваться к темноте.
- red_bobcat
- 10 мая 2012, 21:12
- ↑
- ↓
Случаев, когда от статики сдыхали материнки — полно. У меня брат зимой сел за комп, прикоснулся к мышке и комп вырубился. Навсегда вырубился. Пришлось новую материнку покупать.
По поводу подсветки. Глупая идея для подсветки клавиатуры регулировку яркости делать. Она — не текст, и абсолютно пофигу как она подсвечивается, лишь бы клавиши были видны. Моей китайской подсветке уже лет 10, там стоят 2 белых светодиода и выключатель. И нормально светят, не слепят, клавиатуру видно.
По поводу подсветки. Глупая идея для подсветки клавиатуры регулировку яркости делать. Она — не текст, и абсолютно пофигу как она подсвечивается, лишь бы клавиши были видны. Моей китайской подсветке уже лет 10, там стоят 2 белых светодиода и выключатель. И нормально светят, не слепят, клавиатуру видно.
Я про правильную защиту — варистор или tvs, во многих мобилах стоят.
- tvmaster1975
- 11 мая 2012, 10:39
- ↑
- ↓
А, ты про USB. Сорри, я подумал про светодиод. Да, на мамках нормальных должна защита стоять. Обычно сборки на основе диодов и сапрессоров. Хотя, вроде контроллеры в чипсетах ICH4/ICH5 и это не спасало.
Пятые сами дохли, даже если USB не пользовались. Всё ещё попадаются.
- tvmaster1975
- 11 мая 2012, 14:36
- ↑
- ↓
Да, и я как раз про USB и дальнейшее приложение к нему в виде компьютера.
- red_bobcat
- 11 мая 2012, 20:58
- ↑
- ↓
Глупая идея для подсветки клавиатуры регулировку яркости делать.Глупая идея — это штаны через голову надевать. Или съев их. :)
Клавиши должны быть видны, никого не нужно ослеплять, будить или мешать.
Если и регулировать яркость, то исключительно как опция. А основное использование: настроил яркость как надо, а потом только включаешь и выключаешь. Подъем до установленной яркости при включение можно сделать плавным (это так, для тег кто не любит резкого включения). А тут основным действием выбрано «заставлять пльзователя тыкать 10 раз» и выключать через максимальную яркость. Не нужно слепить говорите?
Ну исходя из своего опыта, обычно как раз нужно включить и настроить на то что необходимо. А дальше вниманием к компьютеру надо обращаться, а не лампой заниматься. Так что неудобств не вижу.
А регулировка всегда полезна, разные условия бывают, разная яркость нужна соответственно.
А регулировка всегда полезна, разные условия бывают, разная яркость нужна соответственно.
- red_bobcat
- 11 мая 2012, 13:20
- ↑
- ↓
По этой рекомендации и делал, но сам, видимо, ёмкостью не вышел, не хватает меня, незаземлённого, для надёжного срабатывания сенсора :) Вот и пришлось заземлять самого себя :)
- red_bobcat
- 11 мая 2012, 12:38
- ↑
- ↓
а файлики проекта может выложишь? давно думаю замутить подсветку для своего покетбука. вот только лень все…
Я вот убедился, что она очень даже. Вроде бы всего 1к, но оптимизация творит чудеса :) Короче, не стоит пугаться, она способна на многое, хотя невозможного тоже требовать от неё не стоит. Предыдущий проект на ней же по 1-wire работает с термометром, отображает через сдвиговые регистры температуру и регулирует ШИМом обороты куллера, включает толкачём, гистерезис и кнопка ещё. И это всего за 75% памяти, место подо что-нибудь ещё оставалось, но просто не смог придумать, что сделать.
- red_bobcat
- 11 мая 2012, 21:11
- ↑
- ↓
Да и не помню я ни одного случаю выхода из строя компьютеров и прочей техники от натёртых об ковёр ног, хотя вроде бы разряжался частенько в разные их места и внутренние цепи.Плохо что не помните, еще не так давно материнки от статики в USB вылетали только в путь (южный мост). Сейчас вроде как там защита есть, но я бы супрессор бы, к примеру, поставил…
Что в них происходит не знаю. Часто — пробой USB на минус(далеко не всегда) и замыкание внутреннего источника 1,5V туда же. Мосты недорогие, можно и поменять, только кому сейчас socket478 нужен… После 5х с дохлыми USB не попадались(статистика около 100 шт). Хотя иногда эти мосты и дохнут. Сам иногда разряжался на материнку в разные места. Максимум, что было- перезагрузка. Оно вобщем-то неудивительно — там же диоды стоят, на питание и корпус.
- tvmaster1975
- 11 мая 2012, 15:04
- ↑
- ↓
Раз уж от УСБ питаеться, то чего не прикрутить бы софт усб??? Можно былобы из трея включать(выключать) по щелчку, а скролом яркость бы регулировал. Ну или както так =)
иногда проще все таки нажать одну кнопочку, чем лезть в менюхи. это как про количество используемых мышц при улыбке и демонстрации среднего пальца.
а в целом если буков несколько — ради разнообразия можно бы сохранять настройки на буке )
а в целом если буков несколько — ради разнообразия можно бы сохранять настройки на буке )
Я не прошу лезть в меню. Иконка в трее (возле часиков), нажал — свет врубился, нажал — вырубился… Покрутил скролом — порегулировал яркость.=)
по-моему проще сделать кнопку на девайсе, чем писать трей-иконку.
Самый интересный вариант — увеличивать яркость при быстром мотании мышкой. а при отсутствии нажатий на клаву — гасить подсвет.
Самый интересный вариант — увеличивать яркость при быстром мотании мышкой. а при отсутствии нажатий на клаву — гасить подсвет.
Да ненамного. Открыл дельфи, кинул на форму компоненты меню, трей-иконки и HID'а (последние два правда придется слить — например, из JCL), увязал обработчики — половина дела сделана. Остается только немного простенького кода написать.
Хотя на самом деле API HID и трей-иконок достаточно простое, но про него придется доки почитать. А с компонентами можно интуитивно работать — там обычно все ясно по названиям методов и параметров.
Хотя на самом деле API HID и трей-иконок достаточно простое, но про него придется доки почитать. А с компонентами можно интуитивно работать — там обычно все ясно по названиям методов и параметров.
В лампе проводов нету сигнальных, это раз, а раскурочивать вилку не хочется, это раз. Тиня не потянет USB, а под большее там места нету, это два. И три, писать на комп пока так и не научился, да и УСБ на контроллерах тоже не раскурил :)
- red_bobcat
- 11 мая 2012, 21:26
- ↑
- ↓
Первое — кабель можно заменить, но это так, лирика. Я понипаю, что в 13 стек USB вроде не засунешь, но я так, на будущее, мот замешишь на другой MCU, вот и намекнул. Со стороны хоста ничего сложного нет, но это я опять про себя говорю=) Будет желание, стучи, запили вместе ради интереса...=))
Я бы вообще выступил с предложением запилить несколько статей насчёт написания программ на комп. Да и желательно кроссплатформнных. Я, например, слабо смыслю в программировании вообще, на контроллерах спасает только близость к железу, с которым как раз отношения вполне ничего. А вот написать что-то, что будет хотя бы числа в COM слать, это выше моих сил. Вот тут как раз думаю, что-бы начать изучать такого, чтобы не очень сложно, и полезно (да и опять же кроссплатформенно, на ноуте линух, на десктопе винда).
- red_bobcat
- 12 мая 2012, 01:54
- ↑
- ↓
Про кроссплатформенное программирование — имхо не тут надо писать, все же сайт не о прикладном прог-ии( по сабжу: как вариант взять qt или какой-нибудь фреймвёрк и на нем пилить)
Начните с малого: UART + ft232(или аналоги) и прогу работающую с com портом на стороне ПК. хотя бы просто Terminal с управлением «руками»(посылая символьные команды).
Начните с малого: UART + ft232(или аналоги) и прогу работающую с com портом на стороне ПК. хотя бы просто Terminal с управлением «руками»(посылая символьные команды).
Уж чего-чего, а сайтов о прикладном программировании — как собак нерезаных.
И ничего сложного там нет. Чуть другая идеология и совсем другие ограничения по требованиям (2ГБ ОЗУ и столько же гигагерц к вашим услугам, ага).
Были некоторые проблемы с программированием гуев (ничего принципиально сложного, но много писанины) — это давно решено гуи-фреймворками (VCL, Qt, WPF). Да и все остальное с нынешними фреймворками довольно просто.
Так что если есть способная к программированию вообще соображалка (а она, насколько я вижу, есть) — особо проблем не будет. Разве что потребуется прилично опыта, чтобы программы писать не только вроде работающие, но и красивые.
Проблема кроссплатформенности обычно решается кроссплатформенными фреймворками и отказом от работы с ОС напрямую. Правда, тут уже требуется чтобы нужные куски API (тот же HID API) имели обертку в фреймворке (либо писать свою обертку — по сути по обертке на каждую ОС). Кроме Qt или wxWidgets здесь еще можно порекомендовать .net и Java.
И ничего сложного там нет. Чуть другая идеология и совсем другие ограничения по требованиям (2ГБ ОЗУ и столько же гигагерц к вашим услугам, ага).
Были некоторые проблемы с программированием гуев (ничего принципиально сложного, но много писанины) — это давно решено гуи-фреймворками (VCL, Qt, WPF). Да и все остальное с нынешними фреймворками довольно просто.
Так что если есть способная к программированию вообще соображалка (а она, насколько я вижу, есть) — особо проблем не будет. Разве что потребуется прилично опыта, чтобы программы писать не только вроде работающие, но и красивые.
Проблема кроссплатформенности обычно решается кроссплатформенными фреймворками и отказом от работы с ОС напрямую. Правда, тут уже требуется чтобы нужные куски API (тот же HID API) имели обертку в фреймворке (либо писать свою обертку — по сути по обертке на каждую ОС). Кроме Qt или wxWidgets здесь еще можно порекомендовать .net и Java.
Комментарии (48)
RSS свернуть / развернуть