Vad är ledstatusen i telefonen. Vad är LED-indikatorer för? Segment Segment Indicator Management

Ljuschef. I det ögonblick du får ett brev eller ett meddelande försöker din telefon väcka uppmärksamhet med den inbyggda indikatorn. Men genom att blinka lysdioden kommer du aldrig att avgöra exakt vilken händelse som har hänt, och du måste fortfarande plocka upp den. Tills du installerar Light Manager.

Light Manager är ett Android-program som hjälper dig att anpassa driften av LED-indikatorn för din gadget. Med den här applikationen kommer du att lära honom att svara i olika färger på vissa händelser, till exempel när ett nytt meddelande kommer till WhatsApp eller en händelse från din kalender.

Som standard innehåller programmet redan ett antal inställningar för de mest populära händelserna. Men du kan när som helst ta bort de irrelevanta signalerna för dig och lägga till nödvändiga. För att göra detta, tryck helt enkelt på önskat objekt så kommer du till menyn för inställningar för meddelanden. Här kan du ställa in blinkande frekvens, välja färg på lysdioden och omedelbart kontrollera inställningarna som du ställt in i aktion.

Om det program som du vill ta emot aviseringar inte finns i listan kan du lägga till det själv. För att göra detta, växla till det alternativa operatörsläget för Light Manager och välj sedan "Lägg till applikation". Du kommer att se en lista över alla program installerade på din smartphone. Välj önskad applikation och lägg till ett LED-meddelande för det.

Observera att Light Manager inte bara kan rapportera om programvaruhändelser utan också om olika systemhändelser. Till exempel kan en applikation meddela dig om lite batteri, ingen nätverkssignal eller tyst läge. Det kommer inte att vara överflödigt att undersöka programmets avancerade inställningar, där du kan ställa in frekvensen för signalflimmern, sätta på viloläge (tid på dagen, när Light Manager inte stör dig) och ändra tiden för att automatiskt stänga av LED-aktiviteten.

Ställa in LED-indikatorn för aviseringar om olika händelser:

Ladda ner Light Manager-appen på Android   Du kan följa länken nedan.

Utvecklare: MC Koo
Plattform: Android ( Enhetsberoende)
Språk: ryska (RUS)
Status: Full (Full version)
Rot: behövs inte



Det tillåter dig inte att direkt slå av eller på LED-indikatorn eller blixt på kameran, på vissa telefoner är detta möjligt.

Hur man programmerar att blinka med färgglada lampor, hur man skriver din egen “ficklampa” eller vilka andra lysdioder på enheten som kan styras - du lär dig mer om detta nedan.

Det hela började när jag, när jag utforskade filsystemet för min HTC Desire med ES Explorer, av misstag snubblat på nyfikna kataloger: / sys / class / leds / blue, / sys / class / leds / ficklampa, etc.
  Vad är mer blått ?! Jag såg bara den orange och gröna indikatorn. Men det mest intressanta - i dessa kataloger visade det sig vara en ljusstyrka med rätt att skriva! Vad jag omedelbart utnyttjade.

I själva verket är detta inte en enkel fil, utan ett gränssnitt för att arbeta med LED-drivrutinen. Så genom att skriva ett positivt nummer till filen / sys / klass / leds / blå / ljusstyrka, slår vi på den blå indikatorn på telefonens kropp, skriver 0 - stäng av den. På samma sätt med bärnsten och gröna indikatorer. Genom att slå på de två lysdioderna tillsammans får vi nya färger: bärnsten + blå \u003d lila; grön + blå \u003d aqua.

Och nu, hur är allt programmerat
public void ledControl (String name, int ljusstyrka) (

försök (

   FileWriter fw \u003d new FileWriter ("/ sys / class / leds /" + name + "/ ljusstyrka");

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

   fw.close ();

   ) fångst (undantag e) (

// LED-styrning inte tillgänglig

}

}


// Slå på den lila indikatorn

  ledControl ("bärnsten", 255);

  ledControl ("blå", 255);


// Gör skärmen mörkare

  ledControl ("LCD-bakgrundsbelysning", 30);


// Stäng av knappbelysningen

  ledControl ("knapp-bakgrundsbelysning", 0);


// Organisera en ficklampa med medelstark ljusstyrka

  ledControl ("ficklampa", 128);

Ett exempel på applikationer med källkoder kan laddas ner.

slutsats
  Det är allt! Nu lyser telefonen som en julgran. Koden testades endast på HTC Desire som kör Android 2.2, men den kan antagligen fungera på andra enheter. Skriv till mig om fokus på din telefon kommer att bli eller inte.

Fig. 1 Plats för LED-segment

LED-indikatorer är det enklaste sättet att visa teckeninformation. Deras design är en uppsättning lysdioder tillverkade i form av segment med en viss form. Figur 1 visar det vanligaste segmentarrangemanget, vilket gör att du kan visa siffrorna 0 ... 9 och många andra ytterligare tecken. I det aktuella fallet har alla lysdioder en gemensam anslutningspunkt. Kombinerade kan vara anoder (vanlig anod) eller katoder (vanlig katod). De vanligaste glödfärgerna är röda och gröna. Med samma strömförbrukning har röda lysdioder som regel en stor ljusutgång. Energiförbrukning beror på matningsspänningen och tillverkningstekniken. Segmentströmmen för moderna indikatorer kan vara mindre än 1 mA.


  Fig. 2 Ansluta indikatorn för dynamisk indikering

För att markera den nödvändiga symbolen på indikatorn måste du använda 8 stift på mikrokontrollern. En rad kan sparas om segment H överges när man inte behöver visa en punkt (komma). Med ett större antal indikatorer som används kommer antalet input / output-linjer att öka avsevärt. Två indikatorer kommer att kräva 16 linjer, 3 indikatorer - 24 etc. Det är uppenbart att för de flesta tillämpningar är denna slösande användning av slutsatser helt oacceptabel. Du kan lösa problemet genom att använda en dynamisk display. För att göra detta, i stället för att direkt ansluta segmenten till mikrokontrollern, kombineras de i allmänna grupper, såsom visas i fig. 2. Schemat använder TOT-3361AH-LN-indikatorn för 3 bekanta med vanliga katoder. Port D används för att styra lysdioderna för segment A ... H. Katoder K0 ... K2 är direkt anslutna till ledningar 0 ... 2 i port B respektive (för indikatorer av en annan typ med en total ström på ≥20 mA, kommer ytterligare buffertelement att behövas). I början visas en symbol som motsvarar nollkännedom på indikatorn. Samtidigt ställs en lågspänningsnivå på linje PB0 och hög på PB1 och PB2 (annars kommer symbolen att visas i alla tre positionerna). Efter en viss tid visas nästa symbol i tur och ordning och nu är katoden K1 ansluten till marken (på linje PB1 finns det en låg nivå, på PB0 och PB2 är den hög). Vidare visas informationen i indikatorns högsta position (på PB2 log.0, på PB0, PB1 log.1), sedan igen vid noll etc. Med en symboluppdateringsfrekvens på ≥ 50 Hz börjar trögheten i människans syn manifestera. Flimmer (kopplingseffekt) försvinner. Bilden uppfattas kontinuerligt, som om alla symboler tänds kontinuerligt. Ett exempel på en dynamisk visningsrutin visas nedan. Det tar två parametrar: teckenkoden och positionsnumret i vilket detta tecken måste visas.

; Eftersom indikatorn innehåller 3 kännedom, är subrutinen; teckenutgången ska anropas med en frekvens av ≥ 150 Hz (3; kännedom x 50 Hz \u003d 150 Hz). Omkopplingsperioden bör; vara 1/150 Hz \u003d 6667 μs, som är vid en frekvens av 1 MHz för AVR; kommer att vara 6667 cykler av generatorklockfrekvensen. konstant; tidsintervall mäts bekvämt med en timer som fungerar; i återställningsläge vid matchning (CTC-läge). ATmega8 har en; läget finns i 16-bitars timerräknare 1 och 8; bit timer-counter 2. För dessa ändamål (för användning av timer-counter 1) finns det två register; RVV-utrymmen: OCR1AH \u200b\u200b(hög byte), OCR1AL (låg byte). ; När funktionen för jämförelsekretsen är tillåten, då räknaregistret; TCNT1H: TCNT1L startar efter varje inkommande puls; enhet för att öka dess innehåll tills dess; värdet stämmer inte med det registrerade värdet; OCR1AH: OCR1AL. Vid denna punkt är innehållet i TCNT1H: TCNT1L; den återställs och OCF1A-flaggan är inställd i PBM TIMSK. Om; förinställd bit OCIE1A i TIMSK och bit I i SREG ,; då inträffar en övergång till avbrottshanteraren av en slump; från jämförelsesmodul A. Det finns också räknatimer 1; också en andra liknande modul för att jämföra B med register; jämförelser av OCR1BH: OCR1BL vars funktion är liknande; beskrivet ovan. .def data \u003d R16; register med teckenkod.def pos \u003d R17; registrera med aktuell indikatorposition nummer.def temp \u003d R18; registrera för mellanoperationer.dseg .org SRAM_START; celler i SRAM för att visa buffert: .byte 3; på indikator.cseg .org 0 rjmp initialt; program start.org 0x0006; avbryta hanterare av rjmp service_T1COMPA; match från jämförelsemodul A; CTC-avbrottsperiod: T \u003d (OCR1AH: OCR1AL + 1); / (Fclk / N), där N är fördelningskoefficienten för fördelaren; frekvens vid ingången till timerräknaren 1. Funktionsläget är inställt; bitarna WGM13: WGM10 (WGM10 och WGM11 i kontrollen PBB TCCR1A; WGM12 och WGM13 i TCCR1B), och värdet N ställs in i bitar; CS12: CS10 i register TCCR1A. För perioden T \u003d 6667 μs; (WGM13: WGM10 \u003d 0100 - vi skär CTC), N \u003d 1 (CS12: CS10 \u003d 001 -; delaren är inaktiverad) och Fclk \u003d 1 MHz - innehållet i OCR1AH: OCR1AL; \u003d 6667.org 0x0020 initial: ldi temp, high (RAMEND); initialisera stack out SPH, temp ldi temp, low (RAMEND) out SPL, temp. clr pos clr temp ldi temp, 1; fyll skärmbufferten med siffrorna 1 ... 3 st buffert, temp ldi temp, 2 st buffert + 1, temp ldi temp, 3 st buffert + 2, temp ut 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; vid utgång, återställ från stacken SREG, temp; registrerar temp, SREG reti; Subroutine av dynamisk indikation; ZH: ZL - pekare för tabellkonvertering; R18 - register för mellanoperationer; R16 - teckennummer i konverteringstabellen ind_tabl; vid ingången till subroutinen; R17 - positionsnummer vid ingången till delprogrammet (0 ... 2); flagga T vid ingången till subroutinen bestämmer; närvaron (T \u003d 1) eller frånvaro (T \u003d 0) av din_ind-komma: clr R18; rensa hjälpregistret vid ingången ldi ZH, hög (2 * ind_tabl); lägg startadressen ldi ZL, låg (2 * ind_tabl) i Z-pekaren; teckenkonverteringstabeller lägger till ZL, R16; lägg till en förskjutning till pekaren Z, adc ZH, R18; motsvarande teckenpositionen i tabellen lpm R16, Z; extrahera Bld-symbolen R16,7 från tabellen i R16; sätta värdet R16 (segment H) i hög ordning clt; ett komma som överförs genom flaggan Tdi R18,0b11111110 sbrc R17,0; om den aktuella biten är 1, kommer vi in \u200b\u200bi masken ldi R18,0b11111101 i R18; port B för att slå på katoden K1 sbrc R17,1; om den aktuella biten är 2, ungefär, vi sätter masken ldi R18,0b11111011 i R18; port B för att slå på katoden K2 tryck R17; spara registret med positionsnummer i R17, PORTB på bunten; läs aktuellt tillstånd för ori-porten R17,0b00000111 och R18, R17 ut PORTB, R17 i bufferten R17 ; vi släcker alla segment genom att mata in loggen 1 PORTD, R16 till K0 ... K2; mata ut nästa symbol ut PORTB, R18 till port D; anslut nästa katodpopp R17 till marken; återställ registret med position nummer ret ind_tabl från bunten:; någon tabell tecken vid en gemensam katod; HGFEDCBA HGFEDCBA tecken tabellnummer. Db 0b00111111, 0b00000110; 0,1 0, 1 db 0b01011011, 0b01001111; 2,3 2, 3db 0b01100110, 0b01101101; 4,5 4, 5db 0b01111101, 0b00000111; 6,7 6,7 7db 0b01111111, 0b01101111; 8,9 8, 9db 0b01110111, 0b01111100; A, b 10, 11 db 0b01011110, 0b01011110; C, d 12, 13db 0b01111001, 0b01110001; E, F 14, 15db 0b01000000, 0b00000000; -, utrymme 16, 17

AVR I / O-portlinjer har symmetriska belastningsegenskaper. De tillåter lika stora tillströmnings- och läckströmmar på upp till 20 mA. Därför kan indikatorer med både en gemensam anod och en gemensam katod användas med samma framgång. Dessutom utför slutsatser för anslutning av segment ofta ytterligare funktioner för pollingknappar. I fig. 2, till exempel, med segment A-linjen, är SBN-knappen ansluten genom det strömbegränsande motståndet RN. Periodiskt är PD0 inställd på inmatning för att läsa status för knappen. I rollen som lastmotståndet visas i detta fall ett internt uppdragningsmotstånd.


  Fig. 3 Minska antalet utgångar från mikrokontrollern
  a - med hjälp av ett skiftregister
  b - med hjälp av indikatorer med olika LED-anslutningsdiagram

Antalet slutsatser kan minskas avsevärt om hjälpmikrokretsar används tillsammans med mikrokontrollern. Fig. 3a visar till exempel hur skiftregistret 74HC164 eller liknande används för detta ändamål. Denna anslutning frigör 6 I / O-linjer. I vissa fall kan det vara motiverat att använda sju-segment kodavkodare och räknare av olika typer. Dessutom finns det en annan besparingsmöjlighet baserad på användning av portlinjernas z-tillstånd. Kretsen i fig. 3b liknar kretsen i fig. 2 med det enda undantaget att en tresiffrig indikator med en gemensam anod HG2 dessutom är ansluten parallellt till indikatorn med en gemensam katod HG1. Linjerna PB0 ... PB2 pendlar samtidigt anoderna A0 ... A2 för indikatorn HG2 respektive katoderna K0 ... K2 HG1. När information visas i nollläget för HG2 (anod A0), bildas en högspänningsnivå på linjen PB0. På linjerna i port D är log.0 inställt i de segment som ska belysas och z-tillståndet i de segment som måste betalas. När juniorbekännedomen HG1 (katod K0) är aktiv, måste en lågspänningsnivå finnas på linjen PB0, och ett logiskt värde matas ut till port D där nivån på log.1 på linjerna motsvarar de upplysta segmenten och z-tillståndet avbryts. Om tecknen visas i andra positioner på indikatorn, andra än A0 och K0, bör PB0 överföras till högimpedansläget. Naturligtvis kommer utgångsprogrammet med ett sådant kopplingsschema märkbart mer komplicerat än det som visas i fig. Symboltabellen kommer att bli mycket större eftersom det för det första är nödvändigt för varje av dem, förutom PORTD-värdet, kommer det också att vara nödvändigt att lagra innehållet i DDRD-registret, genom vilket motsvarande rader ska överföras till z-tillståndet (konfigurerat för inmatning). Och för det andra kommer andra omvända PORTD-värden att motsvara HG1-symbolerna med avseende på indikatorn med den gemensamma katoden HG2.

För andra året har jag återanimiterat Solntsevs förstärkare, monterad för 20 år sedan. En av förstärkarnas noder är en uteffektindikator. Vid skapandet inkluderade förstärkaren en indikator monterad på K155LA3 - 8 byggnader + karossats. Fungerade bra, men inte modernt nu. Reinkarnation på en modern bas under snittet.
  I processen för återupplivning beslutade jag att bygga en ny indikator på en modern elementär bas. För närvarande populär är indikatorkretsen på LM3915.


Tyvärr, med en gång i vårt område hittade jag inte till salu en rad LED-indikatorer i ett hus och monterade på separata lysdioder.



I allmänhet visade det sig inte dåligt, men ljusfläckarnas suddighet (även grumlighet) passade inte riktigt.
  På jakt efter LED-band kom jag över en rad LED-indikatorer i ett hus för 12 segment, varav 8 är gröna och 4 röda.


  I min design används 10 lysdioder för att indikera förstärkarens utgångseffekt och två lysdioder för att indikera utseendet på en negativ eller positiv spänning vid förstärkarens utgång.
  Att vänta på paket, en symbolisk betalning för leverans och ändring av indikatorn avskräckte inte köpet.
  Slutsatserna från varje indikator skyddades noggrant av säljaren och packades i ett kuvert med en liten bubbla.



Framsidan av varje panel är täckt med ett skyddande klistermärke.

På insidan översvämmas indikatorerna med en transparent förening

I allmänhet blev jag till och med mycket positivt överraskad av kvaliteten på prestandaindikatorerna - inte en ansiktslös produkt.
  Dimensionerna som säljaren anger exakt matchar verkligheten. Tillverkaren sparat inte på utgångslängden.
  Eftersom säljaren inte angav varken lysdiodernas strömförbrukning eller driftspänning, ansåg han dessa data allmänt accepterade, ungefär 2 till 3 volt, vid en ström på 20-30 mA.
  Den kontrollerade dock preliminärt indikatorlamporna med T4-testaren.




Uf, v - spänning där lysdioden börjar lysa i volt,
  C, pf - övergångskapacitans i picofarads
  I tabellen är lysdioderna 1 till 8 gröna, 9-12 röda.
  Det finns viss variation i parametrarna, men det påverkar inte arbetet.
  Fram tills indikatorerna anlände, tänkte jag inte att engagera ett nytt bräde, utan att använda en brädskiva, men det visade sig att tonhöjden mellan terminalerna inte är 2,54 mm, men exakt 2. Detta ses faktiskt från ritningarna på säljarens sida, men för sådana bagateller när man köper inte uppmärksamma.
  Efter att ha installerat ett metrisk rutnät i Sprint-Layout spridde jag brädet. Under processen stötte jag på ytterligare en, om inte svårigheten, inte standardens på panelen - LED-ledningarna finns inte i mitten av fodralet, men flyttas till en kant - de är 1,6 mm från mitten. Detta skapade en liten besvär - jag behövde placera två indikatorer sida vid sida, utan mellanrum mellan fallen. Jag var tvungen att minska rutnätsnivån till 0,25 mm och skriva ut brädet flera gånger på papper och försöka på indikatorer.
  Som ett resultat fick vi en sådan avgift





Jämförelse av resultat:

Kabeldragning och testning









Kameran tvål segmentets glöd lite, men lever allt ser väldigt anständigt ut. Varje LED skapar sin egen klart definierade glöd utan att skapa en bomullsfläck.
  Kanske är detta en subjektiv känsla, men indikatorn kom till liv, hastigheten på indikationen ökade och blev mer adekvat jämfört med den ursprungliga versionen - viss hämning försvann.
  Jag är oerhört nöjd med köpet av resultatet, trots slutsatsen som inte är standard i slutsatserna och deras kompensation relativt fallet, och jag kan rekommendera den här produkten.
  Dessutom har säljaren olika indikatorer i ett brett sortiment och för olika ändamål.
  Sprint Board:

  I den första fliken finns det ett kort med mikrokretsar + ett indikatorkort på separata lysdioder. På den andra fliken finns ett kort för övervakade indikatorer.

   Jag planerar att köpa +41 Lägg till i favoriter Recension gillade +76 +127

Jag var i en elektronikbutik häromdagen. Ibland visas olika begagnade radiokomponenter till ett lågt pris. Den här gången såg jag ett mikrochip, eftersom det kostade ett öre som köpts utan en ny tanke. Jag bestämde mig för att göra en enkel indikator på en monosignal. Varför mono och inte stereo? För det finns bara ett chip. Jag avslutar den andra kanalen senare ...

Efter att ha skrivit ut diagrammet med en laserskrivare på glansigt papper fortsätter vi att överföra tonern (bläck) till kortet. Vi gör detta på följande sätt: vi lägger papper på ett bräde som är välpolerat med sandpapper och med ett uppvärmt järn kör vi på brädet i 10 minuter. Vi väntar tills brädet svalnar och tar försiktigt bort papperet under varmt vatten. Du bör få följande:

Sedan förgiftar vi brädan i järnklorid. Efter ungefär en timme etsades brädet helt. Med hjälp av ett lösningsmedel tar vi bort färg och sandpapper och ger kortet ett mer rektangulärt utseende.

Vi får en avgift. Fortsätt sedan med att löda delarna. Lödde först chipet. Efter lysdioderna och sedan resten av detaljerna. Foto av ett helt färdigt bräde:


Kretsarbete

Berätta kort om delarna. Med R2 justerar vi insignalnivån. Genom kondensatorn C1 kommer signalen in i transistorns VT1-bas, som fungerar som en förstärkare. Motstånd R3 sätter förskjutningen till transistorns bas. Vidare kommer den förstärkta signalen genom kondensatorn C2 "till" dioderna VD1 och VD2.

En negativ signal går till minus, en positiv signal till chipets femte ben. C3 och R4 fungerar som ett filter. Ju högre spänning på femte benet, desto fler lysdioder tänds. Förresten, om du stänger 9: e benet till plus, tänds lysdioderna linjärt. I videon kan du se hur den här saken fungerar.

LED-driftvideo

Dela detta