Как починить светодиодный индикатор на андроиде. Для чего нужны светодиодные индикаторы? Что внутри семисегментного индикатора

Железо

Как починить светодиодный индикатор на андроиде. Для чего нужны светодиодные индикаторы? Что внутри семисегментного индикатора

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

Как программно помигать разноцветными огоньками, как написать свой «Фонарик» или какими еще светодиодами устройства можно управлять – об этом Вы узнаете ниже.

Началось все с того, что я, исследуя файловую систему своего HTC Desire с помощью ES Проводника , случайно наткнулся на любопытные каталоги: /sys/class/leds/blue , /sys/class/leds/flashlight и т.п.
Какой еще blue?! Я видел только оранжевый и зеленый индикатор. Но самое интересное – внутри этих каталогов оказался файл brightness с правом на запись! Чем я сразу и воспользовался.

На самом деле, это не простой файл, а интерфейс работы с драйвером светодиода. Так, записав в файл /sys/class/leds/blue/brightness положительное число, мы включим синий индикатор на корпусе телефона, записав 0 – выключим. Аналогично с индикаторами amber и green. Включив два светодиода вместе, получим новые цвета: amber + blue = purple; green + blue = aqua.

А теперь, как это все программируется

public
void
ledControl(String name, int
brightness) {

try
{

FileWriter fw = new FileWriter(“/sys/class/leds/”
+ name + “/brightness”
);

fw.write(Integer.toString(brightness));

fw.close();

} catch
(Exception e) {

// Управление LED недоступно

}

}

// Включим пурпурный индикатор

ledControl(“amber”
, 255
);

ledControl(“blue”
, 255
);

// Сделаем дисплей темнее

ledControl(“lcd-backlight”
, 30
);

// Выключим подсветку кнопок

ledControl(“button-backlight”
, 0
);

// Организуем фонарик средней яркости

ledControl(“flashlight”
, 128
);

Приложение-пример с исходными кодами можно скачать .

Заключение

Все! Теперь телефон светится, как новогодняя елка. Код проверялся только на HTC Desire под управлением Android 2.2, но, вероятно, может работать и на других устройствах. Напишите мне, получится или не получится фокус на Вашем телефоне.

Был на днях в магазине электроники. Иногда в нем появляются различные б/у радиодетали по низкой цене. На этот раз увидел микросхему , так как стоила копейки купил не задумываясь. Решил сделать простенький индикатор моно сигнала. Почему моно, а не стерео? Потому что микросхема только одна. Второй канал доделаю потом…

Распечатав с помощью лазерного принтера на глянцевой бумаге схему, приступим к переносу тонера (краски) на плату. Делаем это следующим образом: бумагу кладем на хорошо зачищенную наждачкой плату и нагретым утюгом в течении 10 минут водим по плате. Ждем пока плата остынет и под горячей водой аккуратно снимаем бумагу. Должно получиться следующее:

Потом травим плату в хлорном железе. Примерно через час плата у меня протравилась полностью. С помощью растворителя избавляемся от краски и наждачкой придаем плате более прямоугольный вид.

Лудим плату. После приступаем к пайке деталей. Сначала впаял микросхему. После светодиоды, а затем и остальные детали. Фото полностью готовой платы:

Работа схемы

Коротко расскажу о назначениях деталей. С помощью R2 настраиваем уровень входного сигнала. Через конденсатор С1 сигнал поступает на базу транзистора VT1, который служит усилителем. Резистор R3 задает смещение на базу транзистора. Дальше усиленный сигнал через конденсатор С2 «приходит» к диодам VD1 и VD2.

Отрицательный сигнал идет на минус, положительный на 5 ножку микросхемы. C3 и R4 служат в качестве фильтра. Чем выше напряжение на 5 ноге, тем больше загорается светодиодов. Кстати, если замкнуть 9 ножку на плюс, светодиоды будут загораться линейно. На видео можно посмотреть как эта штука работает.

Видео работы LED индикатора

Эта статья продолжает цикл моих публикация про организацию динамической индикации на микроконтроллерах PIC и LED индикаторах. Вот ссылки на предыдущие публикации:

Таблица работы предлагаемого алгоритма (используется индикатор с общим катодом, в первой графе указаны выводы регистра, совмещенные с разрядами индикатора) согласно схеме подключения, приведенной ниже.

В каждом из прерываний с интервалом 2 мс (в данном случае от таймера TMR0) подготавливается один этап динамической индикации (ДИ) согласно алгоритму, который состоит из пяти фаз управления регистром и индикатором.

2-я фаза: положительный перепад на выводе 12 регистра (ST_CP) записывает нулевое состояние регистра в выходную защелку. Здесь и далее, до начала индикации, индикатор погашен нулевым потенциалом на сегментах.

3-я фаза: посредством управления выводами регистра 14 (DS – данные) и 11 (SH_CP – тактовый) в него записывается код для управления сегментами.

4-я фаза: положительным перепадом на выводе 12 регистра данные из регистра записываются в выходную защелку, причем, из-за положительных уровней на разрядах индикатор остается погашенным.

5-я фаза: здесь на выводы разрядов индикатора подается требуемый код, и далее происходит собственно индикация.

Если в схеме задействован один 4-х разрядный индикатор, то для правильной работы он должен быть с ОК. Если требуется управлять 8-ю разрядами, то используются 8 портов МК, при этом, остальные 4 порта просто управляют разрядами (в фазе 4 на них должен быть высокий уровень). Стоит отметить, что в этом случае возможно применение индикаторов как с ОК, так и с ОА, подключая к регистру соответственно сегменты или разряды (по причинам, изложенным ниже, ДИ в первом случае предпочтительно организовать посегментную, а во втором – поразрядную).

По этой методике можно подключить два четырехразрядных индикатора к МК PIC16F676, используя один сдвиговый регистр, при этом, останутся для использования целых четыре свободных порта. , например, для такого подключения люди использовали совмещение в некоторых портах МК функций ДИ и аналоговых входов (на мой взгляд, крайне сомнительное решение), что привело к значительному усложнению схемы и к некоторым ограничениям, о чем авторы и предупреждают. Используя мою схему подключения, все решилось бы просто и красиво – входы отдельно, индикация отдельно, плюс еще два порта (включая MCLR) для кнопок.

Для тестирования данного способа управления предлагается следующая простая схема на МК PIC12F629 и индикаторе FYQ3641A, которое выдает на индикаторе попеременно слово «test» и число 1234.

Здесь решено применить посегментную ДИ (в каждый момент включен один сегмент, а на разрядных выводах присутствует код, где в каждом разряде: 0 – если в данном разряде должен гореть данный сегмент и 1 – в противном случае), при котором пиковые токи перекладываются на регистр. Почему? Этому есть две причины: первая – максимальная нагрузочная способность выходов 74HC595 35 мА против 25 мА у контроллеров PIC; вторая и главная – близкий к предельному ток через выходной порт МК теоретически может поднять выходной потенциал оного до уровня переключения входов регистра, что привело бы к ошибкам в работе. А так, в порты МК втекают токи 6-7 мА и на выходах потенциалы заведомо не превышают TTL-уровни.

Как упоминалось выше, интервал прерываний – 2 мс, что соответствует частоте обновления индикатора в 64 Гц и его свечение достаточно комфортно воспринимается глазом.

Данный способ ДИ, кроме всего прочего, позволил вдвое уменьшить количество токоограничительных резисторов (R2-R5).

Устройство собрано на так называемой «беспаечной» макетной плате.

Индикатор можно заменить на любой из серии 3641А.

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

Программа управления МК написана на языке Си и оттранслирована в среде .

Код в MikroC, проект , HEX-файл в приложении.

Для использования данного способа подключения в коммерческих разработках просьба связаться со мной.

Список радиоэлементов

Обозначение Тип Номинал Количество Примечание Магазин Мой блокнот
DD1 МК PIC 8-бит

PIC12F629

1 В блокнот

DD2 Регистр 74HC595 1 В блокнот

HL Индикатор FYQ3641 1 В блокнот

R1 Резистор

30 кОм

1 В блокнот

R2 Резистор

430 Ом

1 В блокнот

R3 Резистор

430 Ом

1

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

Как программно помигать разноцветными огоньками, как написать свой «Фонарик» или какими еще светодиодами устройства можно управлять – об этом Вы узнаете ниже.

Началось все с того, что я, исследуя файловую систему своего HTC Desire с помощью ES Проводника , случайно наткнулся на любопытные каталоги: /sys/class/leds/blue , /sys/class/leds/flashlight и т.п.
Какой еще blue?! Я видел только оранжевый и зеленый индикатор. Но самое интересное – внутри этих каталогов оказался файл brightness с правом на запись! Чем я сразу и воспользовался.

На самом деле, это не простой файл, а интерфейс работы с драйвером светодиода. Так, записав в файл /sys/class/leds/blue/brightness положительное число, мы включим синий индикатор на корпусе телефона, записав 0 – выключим. Аналогично с индикаторами amber и green. Включив два светодиода вместе, получим новые цвета: amber + blue = purple; green + blue = aqua.

А теперь, как это все программируется

public
void
ledControl(String name, int
brightness) {

try
{

FileWriter fw = new FileWriter(“/sys/class/leds/”
+ name + “/brightness”
);

fw.write(Integer.toString(brightness));

fw.close();

} catch
(Exception e) {

// Управление LED недоступно

}

}

// Включим пурпурный индикатор

ledControl(“amber”
, 255
);

ledControl(“blue”
, 255
);

// Сделаем дисплей темнее

ledControl(“lcd-backlight”
, 30
);

// Выключим подсветку кнопок

ledControl(“button-backlight”
, 0
);

// Организуем фонарик средней яркости

ledControl(“flashlight”
, 128
);

Приложение-пример с исходными кодами можно скачать .

Заключение

Все! Теперь телефон светится, как новогодняя елка. Код проверялся только на HTC Desire под управлением Android 2.2, но, вероятно, может работать и на других устройствах. Напишите мне, получится или не получится фокус на Вашем телефоне.

Light Manager
. В тот момент, когда вам приходит письмо или сообщение, ваш телефон постарается привлечь ваше внимание с помощью встроенного индикатора. Но по мерцанию светодиода вы никогда не определите, какое именно событие произошло, и вам всё равно придётся брать его в руки. До тех пор, пока вы не установите Light Manager.

Light Manager – это программа для Android, которая поможет вам настроить работу светодиодного индикатора своего гаджета. С помощью этого приложения вы научите его реагировать разными цветами на определённые события, например на приход нового сообщения в WhatsApp или событие из вашего календаря.

По умолчанию программа уже содержит ряд настроек для самых популярных событий. Но вы можете в любой момент удалить неактуальные для вас сигналы и добавить необходимое. Для этого просто прикоснитесь к нужному элементу, и вы попадёте в меню настройки уведомлений. Здесь вы сможете задать частоту моргания, выбрать цвет светодиода и сразу же проверить в действии выставленные вами настройки.

Если программа, уведомления от которой вы хотите получать, отсутствует в списке, то вы можете добавить её самостоятельно. Для этого переключитесь в альтернативный режим работы Light Manager, а затем выберите пункт «Добавить приложение». Перед вами появится список всех установленных на вашем смартфоне программ. Выберите нужное приложение и добавьте для него светодиодное уведомление.

Обратите внимание, что Light Manager умеет сообщать не только о программных, но и о различных системных событиях. Например, приложение может уведомить вас о низком заряде батареи, отсутствии сигнала сети или включении тихого режима. Не лишним будет также заглянуть в расширенные настройки программы, где вы сможете установить частоту мерцания сигнала, включить режим сна (время суток, когда Light Manager не будет вас беспокоить) и изменить время автоматического отключения активности светодиода.

Настройка LED индикатора для уведомлений о разных событиях
:

Скачать приложение Light Manager на Андроид
вы можете по ссылке ниже.

Разработчик: MC Koo


Платформа: Android (Зависит от устройства
)


Язык интерфейса: Русский (RUS)


Состояние: Full (Полная версия)


Root: Не нужен


Оцените статью
Добавить комментарий

4 + 12 =