Care este starea de led în telefon. Pentru ce sunt indicatorii LED? Gestionarea indicatorilor de segment

Manager de lumină. În momentul în care primiți o scrisoare sau un mesaj, telefonul dvs. va încerca să vă atragă atenția cu ajutorul indicatorului încorporat. Dar prin clipirea LED-ului, nu veți determina niciodată exact ce eveniment s-a întâmplat și tot trebuie să îl ridicați. Până când instalați Light Manager.

Light Manager este un program Android care vă ajută să personalizați funcționarea indicatorului LED al gadgetului dvs. Cu această aplicație, îl veți învăța să răspundă în diferite culori la anumite evenimente, de exemplu, când un mesaj nou ajunge pe WhatsApp sau un eveniment din calendarul dvs.

În mod implicit, programul conține deja o serie de setări pentru cele mai populare evenimente. Dar puteți oricând să eliminați semnale irelevante pentru dvs. și să adăugați cele necesare. Pentru a face acest lucru, pur și simplu atingeți elementul dorit și veți fi dus în meniul setărilor de notificare. Aici puteți seta frecvența intermitentă, selectați culoarea LED-ului și verificați imediat setările pe care le-ați configurat în acțiune.

Dacă programul pentru care doriți să primiți notificări nu se află în listă, puteți să îl adăugați singur. Pentru a face acest lucru, treceți la modul de operare alternativ Light Light, apoi selectați elementul „Adaugă aplicație”. Veți vedea o listă cu toate programele instalate pe smartphone. Selectați aplicația dorită și adăugați o notificare LED pentru aceasta.

Rețineți că Light Manager poate raporta nu numai despre evenimente software, ci și despre diverse evenimente de sistem. De exemplu, o aplicație vă poate notifica despre o baterie scăzută, niciun semnal de rețea sau modul silențios. Nu va fi de prisos să vă uitați la setările avansate ale programului, unde puteți seta frecvența pâlpâirii semnalului, porniți modul de repaus (ora din zi, când Light Manager nu vă va deranja) și schimba ora auto închis Activitate LED

Setarea indicatorului LED pentru notificări despre diverse evenimente:

Descărcați aplicația Light Manager pe Android Puteți urmări linkul de mai jos.

Dezvoltator: MC Koo
Platforma: Android ( Dependent de dispozitiv)
Limba: rusă (RUS)
Stare: complet (versiune completă)
Rădăcină: Nu este necesar



Nu vă permite să porniți sau să dezactivați direct indicatorul LED sau blițul camerei, pe unele telefoane această opțiune este disponibilă.

Cum să clipești programatic luminile multicolore, cum să îți scrie propria „lanternă” sau ce alte LED-uri ale dispozitivului pot fi controlate - veți afla despre acest lucru mai jos.

Totul a început cu faptul că eu, explorând sistemul de fișiere HTC Desire-ul său folosind ES Explorer, accidental s-a poticnit pe directoare curioase: / sys / class / leds / blue, / sys / class / leds / flashlight etc.
Ce altceva este albastru ?! Am văzut doar indicatorul portocaliu și verde. Dar cel mai interesant - în aceste directoare exista un fișier de luminozitate cu dreptul de a scrie! De ce am profitat imediat.

De fapt, acesta nu este un fișier simplu, ci o interfață pentru lucrul cu driverul LED. Așadar, scriind un număr pozitiv pe fișier / sys / class / leds / albastru / luminozitate, activăm indicatorul albastru de pe corpul telefonului, scriind 0 - îl oprim. În mod similar cu indicatori de chihlimbar și verde. Pornind cele două LED-uri împreună, obținem culori noi: chihlimbar + albastru \u003d violet; verde + albastru \u003d acvatic.

Și acum, cum este programat totul
public void ledControl (numele șirului, luminozitatea)

încerca (

FileWriter fw \u003d nou FileWriter ("/ sys / class / leds /" + nume + "/ luminozitate");

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

fw.close ();

) captura (Excepție e) (

// Controlul LED nu este disponibil

}

}


// Porniți indicatorul violet

ledControl ("chihlimbar", 255);

ledControl ("albastru", 255);


// Faceți ecranul mai întunecat

ledControl („lcd-backlight”, 30);


// Dezactivați iluminarea butonului

ledControl ("buton-iluminare de fundal", 0);


// Organizați o lanternă cu luminozitate medie

ledControl („lanternă”, 128);

Exemplu de aplicare cu cod sursa se poate descărca.

Concluzie
Toate! Acum telefonul luminează brad de Crăciun. Codul a fost verificat doar pe HTC Desire rulând Android 2.2, dar poate funcționa probabil și pe alte dispozitive. Trimiteți-mi un e-mail dacă accentul pe telefonul dvs. va funcționa sau nu.

Fig. 1 Locația segmentelor LED

Indicatorii LED sunt cel mai simplu mod de a afișa informațiile despre caracter. Designul lor este un set de LED-uri realizate sub formă de segmente de o anumită formă. Figura 1 prezintă cel mai comun aranjament de segmente, permițându-vă să afișați numerele 0 ... 9 și multe alte caractere suplimentare. În nutria carcasei, toate ledurile au un punct de conectare comun. Combinate pot fi anode (anod comun) sau catode (catod comun). Cele mai frecvente culori de strălucire sunt roșu și verde. Cu un consum egal de curent, LED-urile roșii, de regulă, au o putere mare de lumină. Consumul de energie depinde de tensiunea de alimentare și de tehnologia de fabricație. Curentul segmentului indicatorilor moderni poate fi mai mic de 1 mA.


Fig. 2 Conectarea indicatorului pentru indicarea dinamică

Pentru a evidenția simbolul necesar pe indicator, va trebui să utilizați 8 pini pe microcontroler. O linie poate fi salvată dacă segmentul H este abandonat atunci când nu este necesară afișarea unui punct (virgulă). Cu un număr mai mare de indicatori folosiți, numărul de linii de intrare / ieșire va crește semnificativ. Doi indicatori vor necesita 16 linii, 3 indicatori - 24 etc. Este clar că pentru majoritatea aplicațiilor această utilizare irosită a concluziilor este complet inacceptabilă. Puteți rezolva această problemă aplicând un afișaj dinamic. Pentru a face acest lucru, în loc să conecteze direct segmentele la microcontroler, acestea sunt combinate în grupuri generale, așa cum se arată în Fig. 2. Indicatorul utilizează indicatorul TOT-3361AH-LN pentru 3 familiarități cu catodele obișnuite. Portul D este utilizat pentru a controla LED-urile segmentelor A ... H. Catodii K0 ... K2 sunt conectați direct la liniile 0 ... 2 ale portului B, respectiv (pentru indicatorii de un alt tip cu un curent total de ≥20 mA, vor fi necesare elemente tampon suplimentare). La început, pe indicator este afișat un simbol corespunzător familiarității zero. În același timp, un nivel de tensiune joasă este setat pe linia PB0, iar înalt pe PB1 și PB2 (altfel, simbolul va fi afișat în toate cele trei poziții). După o anumită perioadă de timp, următorul simbol pe rând este afișat și acum catodul K1 este conectat la sol (pe linia PB1 există un nivel scăzut, pe PB0 și PB2 este ridicat). În plus, informațiile sunt afișate în cea mai înaltă poziție a indicatorului (pe PB2 log.0, pe PB0, PB1 log.1), apoi din nou la zero etc. Cu o rată de reîmprospătare a simbolului ≥ 50 Hz, inerția vederii umane începe să se manifeste. Flicker (efect de comutare) dispare. Imaginea este percepută continuu, ca și cum toate simbolurile sunt aprinse continuu. Un exemplu de rutină de afișare dinamică este prezentat mai jos. Este nevoie de doi parametri: codul caracterului și numărul poziției în care trebuie să fie afișat acest personaj.

; Deoarece indicatorul conține 3 familii, subrutina; ieșirea de caractere trebuie să fie apelată cu o frecvență ≥ 150 Hz (3; familiaritatea x 50 Hz \u003d 150 Hz). Perioada de comutare ar trebui; să fie 1/150 Hz \u003d 6667 μs, care este la o frecvență de 1 MHz pentru AVR; va fi de 6667 de cicluri frecvența ceasului generator. Permanent intervalele de timp sunt măsurate cel mai convenabil de un cronometru care funcționează; în modul resetare la potrivire (modul CTC). ATmega8 are unul; modul există în contorul de cronometru 1 și 8 pe 16 biți; bit timer-counter 2. În aceste scopuri (în cazul utilizării cronometrului 1) există două registre; Spații RVV: OCR1AH \u200b\u200b(octeț mare), OCR1AL (octet scăzut). ; Când funcționarea circuitului de comparație este activată, atunci registrul de numărare; TCNT1H: TCNT1L începe după fiecare impuls de intrare; unitate pentru a-și crește conținutul până la; valoarea nu se potrivește cu valoarea înregistrată în; OCR1AH: OCR1AL. În acest moment, conținutul TCNT1H: TCNT1L; este anulat și steagul OCF1A este setat în PBM TIMSK. În cazul în care un; bitul presetat OCIE1A în TIMSK și bitul I în SREG,; atunci va avea loc o tranziție la manipulatorul de întrerupere prin coincidență; din modulul de comparație A. Contorizatorul 1 există de asemenea; de asemenea, un al doilea modul similar pentru compararea B cu registrele; Comparații OCR1BH: OCR1BL a cărei funcționare este similară; descris mai sus. .def date \u003d R16; înregistrare cu cod de caractere.def poz \u003d R17; înregistrare cu numărul poziției indicatorului curent.def temp \u003d R18; înregistrare pentru operații intermediare.dseg .org SRAM_START; celule din SRAM pentru a afișa tampon: .byte 3; pe indicator .cseg .org 0 rjmp inițial; program start.org 0x0006; întrerupere handler prin rjmp service_T1COMPA; potrivire din modulul de comparație A; Perioada de întrerupere CTC: T \u003d (OCR1AH: OCR1AL + 1); / (Fclk / N), unde N este coeficientul de diviziune al pre-divizorului; frecvența la intrarea contorului de cronometrare 1. Modul de funcționare este setat; biți WGM13: WGM10 (WGM10 și WGM11 în controlul PBB TCCR1A,; WGM12 și WGM13 în TCCR1B), iar valoarea N este setată în biți; CS12: CS10 în registrul TCCR1A. Pentru perioada T \u003d 6667 μs; (WGM13: WGM10 \u003d 0100 - tăiem CTC), N \u003d 1 (CS12: CS10 \u003d 001 -; divizorul este dezactivat) și Fclk \u003d 1 MHz - conținutul OCR1AH: OCR1AL; \u003d 6667. .org 0x0020 inițial: ldi temp, mare (RAMEND); inițializarea stivei SPH, temp ldi temp, scăzut (RAMEND) SPL, temp. clr pos clr temp ldi temp, 1; umpleți tamponul de afișare cu numerele 1 ... 3 sters buffer, temp ldi temp, 2 sters buffer + 1, temp ldi temp, 3 sters 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 etc. brne PC + 2 clr pos pop temp; la ieșire, restaurare din stivă SREG, temp; înregistrează temp, SREG retire; Rutina de indicare dinamică; ZH: ZL - indicatorul pentru conversia tabelelor; R18 - registru pentru operații intermediare; R16 - numărul de caractere din tabelul de conversie ind_tabl; la intrarea în subrutină; R17 - numărul poziției la intrarea în subprogram (0 ... 2); steagul T de la intrarea în subrutină determină; prezența (T \u003d 1) sau absența (T \u003d 0) din virgula din_ind: clr R18; ștergeți registrul auxiliar la intrarea ldi ZH, înalt (2 * ind_tabl); puneți adresa de început ldi ZL, scăzută (2 * ind_tabl) în indicatorul Z; Tabelele de conversie a caracterelor adaugă ZL, R16; adăugăm compensarea la indicatorul Z, adc ZH, R18; corespunde poziției caracterului din tabelul lpm R16, Z; extragem simbolul bld R16,7 din tabelul din R16; introducem valoarea R16 (segmentul H) în bitul de înaltă ordine clt; o virgulă care este transmisă prin steagul T ldi R18,0b11111110 sbrc R17,0; dacă bitul curent este 1, atunci introducem masca ldi R18,0b11111101 în R18; portul B pentru a porni catodul K1 sbrc R17,1; dacă bitul curent este 2, atunci punem masca ldi R18,0b11111011 în R18; port B pentru pornirea catodului K2 push R17; salvăm registrul cu numărul de poziție în R17, PORTB pe stivă; citim starea actuală a portului ori R17,0b00000111 și R18, R17 afară PORTB, R17 în tampon R17; stingem toate segmentele, alimentând jurnalul 1 din PORTD, R16 la K0 ... K2; ieșim următorul personaj din PORTB, R18 la portul D; ștergem de pe sol următorul catod pop R17; restabilim din stivă un registru cu numărul de poziție ret ind_tabl:; un tabel al unor simboluri cu un catod comun; HGFEDCBA Numărul tabelului de caractere 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; -, spațiul 16, 17

Liniile de port I / O AVR au caracteristici de încărcare simetrice. Ele permit până la 20 mA de curenți de intrare și de ieșire de o magnitudine egală. Prin urmare, indicatori cu un anod comun și un catod comun pot fi folosiți cu același succes. În plus, concluziile pentru conectarea segmentelor sunt foarte des funcții suplimentare butoanele de votare. În Fig. 2, de exemplu, cu linia segmentului A, butonul SBN este conectat prin rezistența RN de limitare a curentului. Periodic, PD0 este setat pe intrare pentru a citi starea butonului. În rolul rezistenței la sarcină, în acest caz, apare o rezistență internă de tragere.


Fig. 3 Reducerea numărului de ieșiri al microcontrolerului
a - folosind un registru de schimburi
b - folosind indicatoare cu diferite diagrame de conexiune LED

Numărul de concluzii poate fi semnificativ redus dacă sunt utilizate microcircuite auxiliare împreună cu microcontrolerul. Figura 3a, de exemplu, arată cum este utilizat în acest scop registrul de schimburi 74HC164 sau altele asemenea. Această conexiune eliberează 6 linii I / O. În unele cazuri, utilizarea decodificatoarelor și a contoarelor de cod cu șapte segmente poate fi garantată. tipuri variate. În plus, există o altă oportunitate de economisire bazată pe utilizarea stării z a liniilor portuare. Circuitul din Fig. 3b este similar cu circuitul din Fig. 2, cu singura excepție că un indicator de trei cifre cu un anod comun HG2 este conectat suplimentar în paralel cu indicatorul cu un catod comun HG1. Liniile PB0 ... PB2 comută simultan anodurile A0 ... A2 ale indicatorului HG2 și respectiv catodurile K0 ... K2 HG1. Când informațiile sunt afișate la poziția zero a HG2 (anodul A0), pe linia PB0 se formează un nivel de înaltă tensiune. Pe liniile portului D, log.0 este setat în acele segmente care ar trebui iluminate și starea z în segmentele care trebuie plătite. Când familiaritatea junioră HG1 (catodul K0) este activă, un nivel de tensiune joasă trebuie să fie prezent pe linia PB0, iar o valoare logică este emisă la portul D la care nivelul log.1 de pe linii corespunde segmentelor iluminate și starea z este anulată. Dacă caracterele sunt afișate în alte poziții ale indicatorului, altele decât A0 și K0, atunci PB0 trebuie transferat la starea de impedanță ridicată. Desigur, programul de ieșire cu o astfel de schemă de comutare va fi vizibil mai complicat decât cel arătat în Fig. Tabelul simbolurilor va fi mult mai mare, deoarece, în primul rând, pentru fiecare dintre ele este necesar, în plus față de valoarea PORTD, va fi, de asemenea, necesar să stocați conținutul registrului DDRD, prin care liniile corespunzătoare ar trebui să fie transferate în starea z (configurate pentru intrare). Și în al doilea rând, alte valori PORTD inversă vor corespunde simbolurilor HG1 în ceea ce privește indicatorul cu catodul comun HG2.

Pentru al doilea an, am reanimat amplificatorul lui Solntsev, asamblat acum 20 de ani. Unul dintre nodurile amplificatorului este un indicator de putere de ieșire. În momentul creării, amplificatorul includea un indicator asamblat pe K155LA3 - 8 clădiri + kit de caroserie. A funcționat bine, dar nu modern acum. Reîncarnarea la o bază modernă sub tăietură.
În procesul de resuscitare, am decis să construiesc un nou indicator, bazat pe o bază elementară modernă. În prezent este popular circuitul indicatorilor de pe LM3915.


Din păcate, imediat în zona noastră nu am găsit de vânzare o linie de indicatori LED într-o singură carcasă și asamblată pe LED-uri separate.



În general, s-a dovedit destul de bine, dar neclaritatea (chiar și turbiditatea) punctelor ușoare nu s-a potrivit.
Caut banda cu led Am dat peste o linie de indicatori LED într-o carcasă pentru 12 segmente, dintre care 8 sunt verzi și 4 roșii.


În proiectarea mea, 10 LED-uri sunt utilizate pentru a indica puterea de ieșire a amplificatorului și două LED-uri pentru a indica apariția unei tensiuni negative sau pozitive la ieșirea amplificatorului.
În așteptarea unui colet, o plată simbolică pentru livrare și modificarea indicatorului nu s-a descurajat de la cumpărare.
Concluziile fiecărui indicator au fost protejate cu atenție de către vânzător și ambalate într-un plic cu o bulă mică.



Partea frontală a fiecărui panou este acoperită cu un autocolant de protecție.

În interior, indicatoarele sunt inundate cu un compus transparent

În general, am fost chiar foarte plăcut surprins de calitatea indicatorilor de performanță - nu un produs fără chip.
Dimensiunile declarate de vânzător corespund exact realității. Producătorul nu a economisit pe lungimea de ieșire.
Întrucât vânzătorul nu a indicat nici consumul curent al LED-urilor și nici tensiunea de funcționare, el a considerat că aceste date sunt în general acceptate, aproximativ 2 - 3 Volți, la un curent de 20-30 mA.
Cu toate acestea, a verificat preliminar LED-urile indicator cu ajutorul testerului T4.




Uf, v - tensiune la care LED-ul începe să strălucească în volți,
C, pf - capacitate de tranziție în picofaraduri
În tabel, ledurile 1 până la 8 sunt verzi, 9-12 sunt roșii.
Există o oarecare variație a parametrilor, dar aceasta nu afectează munca.
Până la sosirea indicatorilor, m-am gândit să nu mă implic în gravură nou bordși utilizați modelul de panou de panou, dar s-a dovedit că pasul dintre terminale nu este de 2,54 mm, ci exact 2. Acest lucru se vede de fapt din desenele de pe pagina vânzătorului, dar nu a acordat atenție acestor fleacuri la cumpărare.
După ce am instalat o grilă metrică în Sprint-Layout, am întins placa. În proces, am mai întâlnit încă una, dacă nu dificultatea, atunci nu standardul panoului - cablurile LED nu sunt situate în centrul carcasei, ci sunt mutate la o margine - sunt la 1,6 mm de centru. Acest lucru a creat un ușor inconvenient - a trebuit să așez doi indicatori unul lângă altul, fără un decalaj între cazuri. A trebuit să reduc pasul grilei la 0,25 mm și să tipăresc placa de mai multe ori pe hârtie, încercând indicatoare.
Drept urmare, am obținut o astfel de taxă





Comparația rezultatelor:

Cablare și testare









Camera săpună puțin strălucirea segmentelor, dar în direct totul arată foarte decent. Fiecare LED își creează propria strălucire clar definită, fără a crea un loc de bumbac.
Poate că aceasta este o senzație subiectivă, dar indicatorul a prins viață, viteza de indicare a crescut și a devenit mai adecvată în comparație cu versiunea inițială - o oarecare inhibiție a dispărut.
Sunt extrem de mulțumit de achiziționarea rezultatului, în ciuda pasului standard al concluziilor și al compensării lor față de centrul cazului și pot recomanda acest produs.
În plus, vânzătorul are diverși indicatori într-o gamă largă și în scopuri diferite.
Sprint Board:

În prima filă, există o placă cu microcircuite + o placă indicator pe LED-uri separate. În a doua filă, există o placă pentru indicatorii monitorizați.

Planific să cumpăr +41 Adaugă la favorite Recenzie mi-a plăcut +76 +127

Am fost într-un magazin de electronice a doua zi. Uneori, diverse componente radio folosite apar la un preț mic. De data asta am văzut un microcip, deoarece a costat un bănuț cumpărat fără un al doilea gând. Am decis să fac un indicator simplu al unui semnal mono. De ce mono și nu stereo? Pentru că există un singur cip. Voi încheia cel de-al doilea canal mai târziu ...

Imprimați cu imprimanta laser Pe o diagramă de hârtie lucioasă, haideți să transferați tonerul (cerneala) pe placă. Procedăm astfel: punem hârtia pe o placă bine șlefuită cu șmirghel și cu un fier de călcat, conducem pe placă timp de 10 minute. Așteptăm până se răcește placa și scoatem cu atenție hârtia sub apă fierbinte. Ar trebui să obțineți următoarele:

Apoi otrăvim tabla în clorură ferică. După aproximativ o oră, placa a fost complet gravată. Folosind un solvent, scăpăm de vopsea și șmirghel oferim plăcii un aspect mai dreptunghiular.

Primim o taxă. Apoi continuați la lipirea pieselor. Mai întâi a lipit cipul. După LED-uri, și apoi restul detaliilor. Fotografia unei plăci complet terminate:


Lucrări în circuit

Povestește succint despre scopul pieselor. Folosind R2, reglăm nivelul de intrare. Prin condensatorul C1, semnalul intră în baza tranzistorului VT1, care servește ca amplificator. Rezistorul R3 stabilește compensarea la baza tranzistorului. Mai mult, semnalul amplificat prin condensatorul C2 „vine” la diodele VD1 și VD2.

Un semnal negativ merge până la minus, un semnal pozitiv către al 5-lea picior al microcircuitului. C3 și R4 servesc ca filtru. Cu cât tensiunea de pe al cincilea picior este mai mare, cu atât se vor aprinde mai multe leduri. Apropo, dacă închideți al 9-lea picior în plus, ledurile se vor aprinde liniar. În videoclip puteți vedea cum funcționează acest lucru.

Video video de funcționare

Imparte asta