Що таке led статус в телефоні. Для чого потрібні світлодіодні індикатори? Управління семисегментними індикаторами

Light Manager. У той момент, коли вам приходить лист або повідомлення, ваш телефон намагатиметься залучити вашу увагу за допомогою вбудованого індикатора. Але по мерехтінню світлодіода ви ніколи не визначите, яке саме подія відбулася, і вам все одно доведеться брати його в руки. До тих пір, поки ви не встановите Light Manager.

Light Manager - це програма для Android, яка допоможе вам налаштувати роботу світлодіодного індикатора свого гаджета. За допомогою цієї програми ви навчите його реагувати різними кольорами на певні події, наприклад на прихід нового повідомлення в WhatsApp або подія з вашого календаря.

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

Якщо програма, повідомлення від якої ви хочете отримувати, відсутня в списку, то ви можете додати її самостійно. Для цього перейдіть в альтернативний режим роботи Light Manager, а потім виберіть пункт «Додати додаток». Перед вами з'явиться список всіх встановлених на вашому смартфоні програм. Виберіть потрібну програму і додайте для нього світлодіодне повідомлення.

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

Налаштування LED індикатора для повідомлень про різні події:

Завантажити додаток Light Manager на Андроїд  ви можете по посиланню нижче.

Розробник: MC Koo
Платформа: Android ( Залежить від пристрою)
Мова інтерфейсу: Російський (RUS)
Стан: Full (Повна версія)
Root: Нема



Не дозволяє безпосередньо вмикати-вимикати світлодіодний індикатор або спалах фотокамери, на деяких телефонах така можливість є.

Як програмно моргнути різнокольоровими вогниками, як написати свій «Ліхтарик» або якими ще світлодіодами пристрою можна управляти - про це Ви дізнаєтеся нижче.

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

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

А тепер, як це все програмується
public void ledControl (String name, int brightness) (

try (

   FileWriter fw \u003d 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, але, ймовірно, може працювати і на інших пристроях. Напишіть мені, вийде чи не вийде фокус на Вашому телефоні.

Рис.1 Розташування сегментів світлодіодного індикатора

Світлодіодні індикатори є найпростішим засобом для відображення символьної інформації. Їх конструкція представляє собою набір світлодіодів, виконаних у вигляді сегментів певної форми. На рис.1 приведена найбільш поширена схема розташування сегментів, що дозволяє відображати цифри 0 ... 9 і багато інших додаткових символи. У нутрії корпусу все світлодіоди мають спільну точку з'єднання. Об'єднаними разом можуть бути аноди (загальний анод) або катоди (загальний катод). Найпоширеніші кольори світіння - червоний і зелений. При рівному струмі споживання червоні світлодіоди, як правило, має велику світловіддачу. Енергоспоживання залежить від напруги живлення і технології виготовлення. Струм сегмента у сучасних індикаторів може бути менше 1 мА.


  Рис.2 Підключення індикатора при динамічної індикації

Для того щоб висвітлити на індикаторі необхідний символ, потрібно задіяти у мікроконтролера 8 висновків. Одну лінію можна заощадити якщо відмовитися від сегмента H, коли в відображення точки (коми) немає необхідності. При більшому чисел використовуваних індикаторів кількість ліній вводу-виводу істотно зросте. Два індикатора зажадають вже 16 ліній, 3 індикатора - 24 і т.д. Ясно, що для більшості додатків таке марнотратне використання висновків абсолютно неприйнятно. Вирішити цю проблему можна застосувавши динамічну індикацію. Для цього замість безпосереднього з'єднання сегментів з мікро контролером, їх об'єднують в загальні групи, як показано на рис.2. У схемі використовується індикатор TOT-3361AH-LN на 3 знакомісця c загальними катодом. Порт D задіяний для управління світлодіодами сегментів A ... H. Катоди K0 ... K2 безпосередньо підключені до ліній 0 ... 2 порту B відповідно (для індикаторів іншого типу з сумарним струмом ≥20 мА знадобляться додаткові буферні елементи). На початку на індикатор виводиться символ, відповідний нульовому знакоместу. При цьому на лінії PB0 виставляється низький рівень напруги, а на PB1 і PB2 високий (інакше символ буде відображений у всіх трьох позиціях). Через деякий період часу виводиться наступний за черговістю символ і тепер уже катод K1 з'єднується з землею (на лінії PB1 присутній низький рівень, на PB0 і PB2 - високий). Далі інформація відображається в старшій позиції індикатора (на PB2 лог.0, на PB0, PB1 лог.1), потім знову в нульовій і т.д. При частоті поновлення символів ≥ 50 Гц починає проявлятися інерція людського зору. Мерехтіння (ефект від перемикання) пропадає. Зображення сприймається безперервно, так як ніби все символи світяться постійно. Приклад підпрограми динамічної індикації наведено нижче. Вона приймає два параметри: код символу і номер позиції, в якій цей символ потрібно відобразити.

; Оскільки індикатор містить 3 знакомісця, підпрограма; виведення символів повинна викликатися з частотою ≥ 150 Гц (3; знакомісця x 50 Гц \u003d 150 Гц). Період перемикання повинен; складати 1/150 Гц \u003d 6667 мкс, що на частоті 1 МГц у AVR; складе 6667 циклів тактової частоти генератора. постійні; проміжки часу найзручніше відміряти таймером, що працює; в режимі скидання при збігу (режим CTC). У ATmega8 такої; режим існує у 16-розрядної таймер-лічильника 1 і 8; розрядного таймер-лічильника 2. Для цих цілей (у разі; використання таймер-лічильника 1) існують два регістра; простору РВВ: OCR1AH \u200b\u200b(старший байт), OCR1AL (молодший байт). ; Коли робота схеми порівняння дозволена, то рахунковий регістр; TCNT1H: TCNT1L починає після кожного приходить імпульсу на; одиницю збільшувати свій вміст до тих пір, поки його; значення не зрівняли із значенням записаним в; OCR1AH: OCR1AL. У цей момент вміст TCNT1H: TCNT1L; обнуляється і в РВВ TIMSK встановлюється прапор OCF1A. якщо; попередньо встановити біт OCIE1A в TIMSK і біт I в SREG,; то відбудеться перехід на обробник переривання за випадковим збігом; від модуля порівняння A. У таймера-лічильника 1 існує також; ще й другий подібний модуль порівняння B з регістрами; порівняння OCR1BH: OCR1BL функціонування якого подібно; описаного вище. .def data \u003d R16; регістр з кодом сімвола.def pos \u003d R17; регістр з номером поточної позиції індікатора.def temp \u003d R18; регістр для проміжних операцій.dseg .org SRAM_START; осередку в SRAM для відображення buffer: .byte 3; на індікаторе.cseg .org 0 rjmp initial; старт программи.org 0x0006; обробника переривання по rjmp service_T1COMPA; збігом від модуля порівняння A; Період проходження переривань в режимі CTC: T \u003d (OCR1AH: OCR1AL + 1); / (Fclk / N), де N - коефіцієнт розподілу предделителя; частоти на вході таймера-лічильника 1. Режим роботи задається; битами WGM13: WGM10 (WGM10 і WGM11 в керуючому РВВ TCCR1A,; WGM12 і WGM13 в TCCR1B), а значення N задається бітами; CS12: CS10 в регістрі TCCR1A. Для періоду T \u003d 6667 мкс; (WGM13: WGM10 \u003d 0100 - ріжемо CTC), N \u003d 1 (CS12: CS10 \u003d 001 -; переддільник відключений) і Fclk \u003d 1 МГц - вміст OCR1AH: OCR1AL; \u003d 6667. .org 0x0020 initial: ldi temp, high (RAMEND); ініціалізація стека out SPH, temp ldi temp, low (RAMEND) out SPL, temp. clr pos clr temp ldi temp, 1; заповнюємо буфер індикації числами 1 ... 3 sts buffer, temp ldi temp, 2 sts buffer + 1, temp ldi temp, 3 sts buffer + 2, temp out TCCR1A, temp ldi temp, (1<< WGM12)|(1<< CS10) out TCCR1B,temp ldi temp,high(6667) out OCR1AH,temp ldi temp,low(6667) out OCR1AL,temp ldi temp,1<< OCIE1A out TIMSK,temp sei . service_T1COMPA: ;обработчик прерывания по совпадению OCR1A in temp,SREG ;при входе сохраняем в стеке push temp ;регистры temp, SREG clr temp ldi YH,high(buffer) ;заносим в указатель Y адрес ldi YL,low(buffer) ;буфера индикации buffer add YL,pos ;добавляем к Y смещение, что соответствует adc YH,temp ;ячейке с текущей позицией pos индикатора ld data,Y ;заносим в data кодом символа текущей позиции rcall din_ind ;вызов подпрограммы индикации inc pos ;циклически изменяем номер позиции cpi pos,3 ;индикатора 0->1-\u003e 2\u003e 0 і т.д. brne PC + 2 clr pos pop temp; при виході відновлюємо з стека out SREG, temp; регістри temp, SREG reti; Підпрограма динамічної індикації; ZH: ZL - покажчик для табличній конвертації; R18 - регістр для проміжних операцій; R16 - номер символу в таблиці перекодування ind_tabl; при вході в підпрограму; R17 - номер позиції при вході в підпрограму (0 ... 2); прапор T при вході в підпрограму визначає; наявність (T \u003d 1) або відсутність (T \u003d 0) коми din_ind: clr R18; очищаємо допоміжний регістр при вході ldi ZH, high (2 * ind_tabl); заносимо в покажчик Z адреса початку ldi ZL, low (2 * ind_tabl); таблиці перекодування символів add ZL, R16; додаємо до покажчика Z зміщення, adc ZH, R18; відповідає положенню символу в таблиці lpm R16, Z; витягаємо в R16 з таблиці символ bld R16,7; заносимо в старший розряд R16 (сегмент H) значення clt; коми, яке передається через прапор T ldi R18,0b11111110 sbrc R17,0; якщо поточний розряд 1, то заносимо в R18 маску ldi R18,0b11111101; порту B для включення катода K1 sbrc R17,1; якщо поточний розряд 2, про заносимо в R18 маску ldi R18,0b11111011; порту B для включення катода K2 push R17; зберігаємо в стеці регістр з номером позиції in R17, PORTB; зчитуємо в буфер R17 поточний стан порту ori R17,0b00000111 and R18, R17 out PORTB, R17 ; гасимо всі сегменти, подаючи на K0 ... K2 лог.1 out PORTD, R16; виводимо в порт D черговий символ out PORTB, R18; з'єднуємо з землею наступний катод pop R17; відновлюємо з стека регістр з номером позиції ret ind_tabl:; таблиця деяких символів при загальному катоді; HGFEDCBA HGFEDCBA символи номер в табліце.db 0b00111111, 0b00000110; 0,1 0, 1 .db 0b01011011, 0b01001111; 2,3 2, 3 .db 0b01100110, 0b01101101; 4,5 4, 5 .db 0b01111101, 0b00000111; 6,7 6, 7 .db 0b01111111, 0b01101111; 8,9 8, 9 .db 0b01110111, 0b01111100; A, b 10, 11 .db 0b01011110, 0b01011110; C, d 12, 13 .db 0b01111001, 0b01110001; E, F 14, 15 .db 0b01000000, 0b00000000; -, space 16, 17

Лінії портів введення-виведення у AVR мають симетричні навантажувальні характеристики. Вони допускають рівні за величиною впадає і випливає струми до 20 мА. Тому з ними з однаковим успіхом можуть застосовуватися індикатори як із загальним анодом так і з загальним катодом. Крім цього висновки для підключення сегментів дуже часто виконують додаткові функції опитування кнопок. На рис.2, наприклад, з лінією сегмента A, через струмообмежуючі резистор RN з'єднана кнопка SBN. Періодично PD0 налаштовується на введення для зчитування стану кнопки. У ролі навантажувального опору, в цьому випадку, виступає внутрішній pull-up резистор.


  Рис.3 Скорочення числа висновків мікроконтролера
  а - за допомогою зсувного регістру
  б - з використанням індикаторів з різною схемою підключення світлодіодів

Кількість висновків можна істотно скоротити, якщо спільно з мікро контролером використовувати допоміжні мікросхеми. На рис.3, наприклад, показано як в цих цілях використовується сдвиговой регістр 74HC164 або подібний до нього. Таке підключення звільняє 6 ліній введення-виведення. У деяких випадках може виявитися виправданим застосування дешифраторів семисегментного коду і лічильників різного типу. Крім того існує ще одна можливість економії, заснована на використанні z-стану ліній портів. Схема на ріс.3б аналогічна схемі на рис.2 за тим лише винятком, що паралельно індикатору із загальним катодом HG1 додатково підключений трьохрозрядний індикатор із загальним анодом HG2. Лінії PB0 ... PB2 одночасно виконують комутацію анодів A0 ... A2 індикатора HG2 і катодів K0 ... K2 HG1 відповідно. Коли інформація відображається в нульовій позиції HG2 (анод A0), то на лінії PB0 формується високий рівень напруги. На лініях порту D виставляється лог.0 в тих сегментах, які повинні бути засвічені і z-стан в сегментах, які необхідно погасити. Коли активно молодше знакоместо HG1 (катод K0) - на лінії PB0 повинен бути присутнім низький рівень напруги, а в порт D виведено логічне значення при якому рівень лог.1 на лініях відповідає засвіченим сегментам і z-стан погашеним. У разі якщо символи виводиться в інші позиції індикатора, відмінні від A0 і K0, то PB0 повинна бути переведена в високоімпедансное стан. Природно, що програма виведення при такій схемі перемикання буде значно складніше наведеної на рис. Таблиця символів виявиться набагато більше так як по-перше для кожного з них необхідно, крім значення PORTD, треба буде зберігати ще й вміст регістра DDRD, через який відповідні лінії повинні перекладається в z-стан (налаштовуватися на введення). І по-друге символам HG1 будуть відповідати інші, інверсні значення PORTD по відношенню до індикатора c загальним катодом HG2.

Другий рік реанімую підсилювач Солнцева, зібраний 20 років тому. Одним з вузлів підсилювача є індикатор вихідної потужності. У момент створення до складу підсилювача входив індикатор, зібраний на К155ЛА3 - 8 корпусів + обвіс. Працював добре, але зараз не сучасно. Реінкарнація на сучасній базі під катом.
  В процесі реанімації вирішив спорудити новий індикатор, на сучасній елементній базі. Популярною в даний момент є схема індикаторів на LM3915.


На жаль відразу в наших краях не знайшов у продажу лінійки світлодіодних індикаторів в одному корпусі і зібрав на окремих світлодіодах.



В цілому, вийшло непогано, але розмитість (навіть каламутність) світлових плям не зовсім влаштовувала.
  У пошуках світлодіодної стрічки набрів на лінійки світлодіодних індикаторів в одному корпусі на 12 сегментів, 8 з яких зеленого кольору і 4 червоного.


  У моїй конструкції 10 світлодіодів використовуються для індикації вихідної потужності підсилювача, а два світлодіоди для індикації появи негативного чи позитивного напруги на виході підсилювача.
  Очікування посилки, символічна плата за доставку і переробка індикатора не втримали від покупки.
  Висновки кожного індикатора були дбайливо захищені продавцем і упаковані в конверт з пупиркой.



Лицьова сторона кожної панелі закрита захисною наклейкою.

З внутрішньої сторони індикатори залиті прозорим компаундом

В цілому навіть був дуже приємно здивований якістю виконання індикаторів - не безлика виріб.
  Розміри, заявлені продавцем, в точності збігаються з реальністю. На довжині висновків виробник не економив.
  Оскільки продавець не вказав ні струм споживання світлодіодів, ні робоча напруга, то вважав ці дані загальноприйнятими, орієнтовно 2 - 3 Вольта, при струмі 20-30 мА.
  Однак, попередньо справив перевірку світлодіодів індикатора тестером Т4.




Uf, v - напруга, при якому світлодіод починає світитися в вольтах,
  C, pf - ємність переходу в пікофарад
  У таблиці світлодіоди з 1 по 8 - зелені, 9-12 - червоні.
  Деякий розкид параметрів присутній, але на роботі ніяк не позначається.
  До того моменту як індикатори приїхали, думав не займатися травленням нової плати, а скористатися макетке, але виявилося, що крок між висновками не 2,54 мм, а рівно 2. Це власне видно з креслень на сторінці продавця, але на такі дрібниці при покупці уваги не звернув.
  Встановивши метричну сітку в Sprint-Layout, розвів плату. В процесі зіткнувся ще з однією якщо не труднощами, щось не стандартностью панелі - висновки світлодіодів розташовані не в центрі корпусу, а зміщені до одного краю - знаходяться на відстані 1,6 мм від центру. Це створило невелика незручність - мені потрібно було розташувати два індикатори поруч, без зазору між корпусами. Довелося крок сітки зменшити до 0,25 мм і кілька разів друкувати плату на папері, приміряючи індикатори.
  В результаті, вийшла така плата





Порівняння результатів:

Монтаж в схему і випробування









Фотоапарат трохи милить світіння сегментів, але вживу все виглядає дуже пристойно. Кожен світлодіод створює своє чітко окреслене світіння, не створюючи ватного плями.
  Можливо це суб'єктивне відчуття, але індикатор ожив, швидкість індикації збільшилася і стала більш адекватною в порівнянні з первісним варіантом - зникла якась загальмованість.
  Купівлею, отриманим результатом, не дивлячись на нестандартний крок висновків і їх зміщення відносно центру корпусу, вкрай задоволений і можу рекомендувати даний товар.
  Крім того, у продавця різні індикатори в широкому асортименті і для різних цілей.
  Плата в спринті:

  У першій вкладці - плата з мікросхемами + плата індикатора на окремих світлодіодах. У другій вкладці - плата для розглянутих індикаторів.

   Планую купити +41 Додати в обране огляд сподобався +76 +127

Був днями в магазині електроніки. Іноді в ньому з'являються різні б / у радіодеталі за низькою ціною. На цей раз побачив мікросхему, так як коштувала копійки купив не замислюючись. Вирішив зробити простенький індикатор моно сигналу. Чому моно, а не стерео? Тому що мікросхема тільки одна. Другий канал дороблю потім ...

Роздрукувавши за допомогою лазерного принтера на глянцевому папері схему, приступимо до переносу тонера (фарби) на плату. Робимо це наступним чином: папір кладемо на добре спустошену наждачкою плату і нагрітою праскою протягом 10 хвилин водимо по платі. Чекаємо поки плата охолоне і під гарячою водою акуратно знімаємо папір. Має вийти наступне:

Потім труїв плату в хлорному залозі. Приблизно через годину плата у мене протравами повністю. За допомогою розчинника позбавляємося від фарби і наждачкою надаємо платі більш прямокутний вид.

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


Робота схеми

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

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

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

Поділитися