電話機の LED をプログラムします。 LEDインジケーターは何のためにあるのですか? スタークフォンのLEDステータスとは何ですか

LED インジケーターやカメラのフラッシュを直接オン/オフにすることはできません。一部の携帯電話にはこのオプションがあります。

複数色のライトをプログラムで点滅させる方法、独自の「フラッシュライト」を作成する方法、または制御できる他のデバイスの LED を記述する方法 - これについては、以下で学びます。

ES Explorer を使用して HTC Desire のファイル システムを探索しているときに、/sys/class/leds/blue、/sys/class/leds/flashlight などの興味深いディレクトリを偶然見つけたことがすべての始まりでした。
他に青いものは何ですか? オレンジと緑のインジケーターしか見えませんでした。 しかし、最も興味深いのは、これらのディレクトリ内に書き込み権限のある明るさファイルが存在したことです。 私はすぐにそれを利用しました。

実際、これは単純なファイルではなく、LED ドライバーを操作するためのインターフェイスです。 したがって、ファイル /sys/class/leds/blue/brightness に正の数を書き込むと、電話ケースの青いインジケーターがオンになり、0 を書き込むとオフになります。 黄色と緑色のインジケーターも同様です。 2 つの LED を一緒に点灯すると、新しい色が得られます。琥珀 + 青 = 紫です。 緑+青=水色。

さて、すべてはどのようにプログラムされているのでしょうか?
public void ledControl(文字列名, int 明るさ) (

試す (

FileWriter fw = new FileWriter("/sys/class/leds/" + 名前 + "/brightness" );

fw.write(Integer.toString(明るさ));

fw.close();

) catch (例外 e) (

// LED 制御は利用できません

}

}


// 紫色のインジケーターをオンにする

LEDControl("アンバー" , 255 );

ledControl("青" , 255 );


// 表示を暗くします

ledControl("液晶バックライト" , 30 );


// ボタンのバックライトをオフにする

ledControl("ボタンバックライト" , 0 );


// 中程度の明るさの懐中電灯を整理します

ledControl("懐中電灯" , 128 );

ソースコード付きのサンプルアプリケーションをダウンロードできます。

結論
全て! 携帯電話がクリスマスツリーのように点灯します。 このコードは Android 2.2 を実行している HTC Desire でのみテストされていますが、他のデバイスでも動作する可能性があります。 あなたの携帯電話でフォーカスが機能するかどうかを私に書いてください。

スコアボードや電子時計などにシンボルを表示します。 LEDインジケーターは、アルファベットまたは記号を表示するシンプルなデザインです。 構造的には LED のアセンブリであり、各要素はサインセグメントインジケーターによって点灯します。

デザインの特徴と種類

LED インジケータは、さまざまな情報を表示する集積回路で構成されています。 動作電圧範囲は2V~8Vです。 それらは次のとおりです。

部分的;
- マトリックス;
- リニアスケール;
- シングル

最初の種類は最も頻繁に使用され、標準的な種類です。 モデルに応じて、1 ~ 4 個の 7 セグメント グループから構造を組み立てることができます。 オブジェクトのサイズと表示される文字数はその数によって異なります。 したがって、1 つの 7 セグメント グループには 1 つの数字または文字だけが表示されます。 電子時計には4つのグループが使用されます。 自家製の回路を選択する場合、購入者は共通のアノードとカソードの存在に注意を払う必要があります。
小さな指標のほかに、公共の場所で見ることができる指標もあります。 輝度を高めるために、個別のコンポーネントに組み込まれた LED を連続的に接続して使用します。 インジケーターが特定の数字または記号を表示するには、11.2 ボルトの電圧が印加されます。 要素には、A、B、C、D、F、または G という独自の名前が付いています。動作はデジタル シフト レジスタとデコーダによって決定されます。

データ暗号化と集積回路

このような要素は、電圧供給を制御するボードに取り付けられます。 この作業は、プログラム コードへのアクセスと特別なマイクロコントローラーの使用によるものです。 プログラミングを使用して、特定の時間におけるコンポーネントの表示に影響を与えるタイミングを設定します。
集積回路は、ディスプレイに供給される 2 進数コードと 2 進 10 進数コードを変換します。 国内インジケーターを制御するための一般的な回路は、輸入モデル 74HC595 の K514ID2 または K176ID2 です。 管理は次の 2 つの方法で可能です。

マイクロコントローラーを介して直接。
- シフトレジスタの使用

最初のオプションは、多くのピンを接続する必要があるため、あまり成功しません。 さらに、消費電流はマイクロコントローラーで可能なものよりも高くなる可能性があります。 大きな 7 セグメントのインジケーターは MBI5026 チップに依存します。

セグメント指標の特徴

電子機器では目視検査に使用されます。 構造は次の要素で構成されます。

文字合成インジケーターは、1 つ以上のコンポーネントを使用して視覚情報を表示するデバイスです。
- データ表示フィールド – 数値またはその他の記号がその中に表示されます。
- 表示要素 – 独自の制御を持つ構造部分。
- セグメント – 直線または曲線の形で表示される情報表示の要素。
- 見慣れたスペース – 1 文字を表示するのに必要なスペース

すべての電子デバイスは基本的なタスクを実行します。

1. 視覚情報。
2. 完全なデザインを持っています。
3. 電子制御を搭載

セグメントの変更は、各要素が一意であるという点でマトリックスの変更とは異なります。 文字の形状は、特定の数字や記号を表示するために特別に設計されています。 後者は 7 セグメントではなく、9、14、または 16 セグメントに基づいています。 数値が 7 を超える場合は、動的切り替え表示を使用するのが非常に合理的です。 LED表示、2色表示も可能です。 異なる色の電球が使用され、共通の回路に接続されます。 結果を組み合わせることにより、組み合わせた色合いが得られます。

結論

LED がなければインジケーターの操作は不可能です。 このようなデバイスは、無線機器だけでなく、標識、タイマー、インジケーターにも使用されています。 さまざまなタイプの回路および制御のデバイスを使用して情報を表示できます。
このトピックに関する情報をソーシャル メディア ページで共有してください。

きっとあなたはすでに「8」の指標を見たことがあるでしょう。 これは 7 セグメントの LED インジケータで、0 ~ 9 の数字と小数点 ( D.P.- 小数点) またはカンマ。

本製品は構造的にはLEDの集合体です。 アセンブリ内の各 LED は、独自の標識セグメントを点灯します。

モデルに応じて、アセンブリは 1 ~ 4 つの 7 セグメント グループで構成されます。 たとえば、ALS333B1 インジケータは 1 つの 7 セグメント グループで構成されており、0 ~ 9 の 1 桁のみを表示できます。

ただし、KEM-5162AS LED インジケータにはすでに 2 つの 7 セグメント グループがあります。 二桁です。 次の写真は、さまざまな 7 セグメント LED インジケータを示しています。

4 つの 7 セグメント グループ - 4 桁のインジケーターもあります (写真 - FYQ-5641BSR-11)。 自作の電子時計に使用できます。

7 セグメント指標は図上でどのように示されますか?

7セグメントインジケーターは複合電子機器ですので、図上のイメージと外観はほとんど変わりません。

各ピンが接続先の特定の符号セグメントに対応するという事実に注意するだけで済みます。 デバイスのモデルに応じて、共通のカソードまたはアノードの 1 つ以上の端子もあります。

7セグメントインジケーターの特徴。

この部分は一見シンプルですが、独自の特徴もあります。

まず、7 セグメント LED インジケータには、共通のアノードと共通のカソードが付属しています。 自家製のデザインまたはデバイス用に購入する場合は、この機能を考慮する必要があります。

たとえば、これはすでによく知られている 4 桁のインジケータのピン配列です。 FYQ-5641BSR-11.

ご覧のとおり、各桁の LED のアノードが結合され、別のピンに出力されます。 サインセグメントに属する LED のカソード (たとえば、 G)、一緒に接続されます。 多くは、インジケーターの接続図の種類(共通のアノードまたはカソード)に依存します。 7 セグメントインジケーターを使用するデバイスの回路図を見れば、これがなぜそれほど重要であるかが明らかになるでしょう。

小さなインジケーターに加えて、大きなインジケーター、さらには非常に大きなインジケーターもあります。 これらは公共の場所で、通常は柱時計、温度計、情報提供者の形で見られます。

ディスプレイ上の数字のサイズを大きくし、同時に各セグメントの十分な明るさ​​を維持するために、直列に接続された複数の LED が使用されます。 これはそのようなインジケーターの例です - それは手のひらに収まります。 これ FYS-23011-BUB-21.

その 1 つのセグメントは、直列に接続された 4 つの LED で構成されます。

セグメント (A、B、C、D、E、F、または G) の 1 つを点灯するには、11.2 ボルトの電圧をそれに印加する必要があります (LED ごとに 2.8 V)。 たとえば 10V に下げることもできますが、明るさも低下します。 例外は小数点 (DP) で、そのセグメントは 2 つの LED で構成されます。 必要なのは5〜5.6ボルトだけです。

自然界にも 2 色のインジケーターが存在します。 たとえば、赤と緑の LED が組み込まれています。 いわば、ケースには2つのインジケーターが組み込まれていますが、異なる色のLEDが付いていることがわかりました。 両方の LED 回路に電圧を印加すると、セグメントから黄色の光が得られます。 以下は、これらの 2 色インジケーター (SBA-15-11EGWA) の 1 つの配線図です。

1番ピンを接続すると( ) と 5 ( )キートランジスタを介して「+」電源に接続すると、表示される数字の色を赤から緑に変えることができます。 また、1 番ピンと 5 番ピンを同時に接続すると、オレンジ色に点灯します。 これがインジケーターを試す方法です。

7セグメント指標の管理。

デジタル デバイスの 7 セグメント インジケータを制御するには、シフト レジスタとデコーダが使用されます。 たとえば、ALS333 および ALS324 シリーズのインジケータを制御するために広く使用されているデコーダは、超小型回路です。 K514ID2または K176ID2。 ここに例を示します。

そして、現代のインポートされたインジケーターを制御するには、通常、シフトレジスターが使用されます 74HC595。 理論的には、表示セグメントはマイクロコントローラー出力から直接制御できます。 しかし、このような回路は、マイクロコントローラー自体のかなりの数のピンを使用する必要があるため、ほとんど使用されません。 したがって、この目的のためにシフトレジスタが使用されます。 さらに、標識セグメントの LED によって消費される電流は、マイクロコントローラーの通常の出力が提供できる電流よりも大きくなる可能性があります。

FYS-23011-BUB-21 などの大型 7 セグメント インジケーターを制御するには、超小型回路などの特殊なドライバーが使用されます。 MBI5026.

7セグメントインジケーターの中には何が入っているのでしょうか?

さて、ちょっと美味しいものを。 無線コンポーネントの「内部」に興味がなければ、電子エンジニアとは言えません。 これがALS324B1インジケーターの中身です。

ベースの黒い四角は LED クリスタルです。 ここには、クリスタルをピンの 1 つに接続する金色のジャンパーも見えます。 残念ながら、これらの同じジャンパーが引きちぎられたため、このインジケーターは機能しなくなります。 しかし、スコアボードの装飾パネルの後ろに何が隠されているかを見ることができます。

図1 LEDインジケーターセグメントの位置

LED インジケータは、記号情報を表示する最も簡単な手段です。 彼らの設計は、特定の形状のセグメントの形で作られた一連の LED です。 図 1 は、最も一般的なセグメント レイアウトを示しています。このレイアウトでは、数字 0 ~ 9 およびその他の多くの文字を表示できます。 ハウジングの内部では、すべての LED に共通の接続ポイントがあります。 アノード (共通アノード) またはカソード (共通カソード) を一体化することができます。 最も一般的なグローの色は赤と緑です。 消費電流が等しい場合、一般に赤色 LED の方が光出力が高くなります。 エネルギー消費量は、供給電圧と製造技術によって異なります。 最新のインジケーターのセグメント電流は 1 mA 未満になる場合があります。


図2 動的表示用インジケータの接続

インジケーターで必要なシンボルを強調表示するには、マイクロコントローラーの 8 つのピンを使用する必要があります。 ピリオド(カンマ)の表示が不要な場合はHセグメントを削除することで1行節約できます。 使用するインジケーターの数が増えると、I/O ラインの数も大幅に増加します。 2 つのインジケーターには 16 ラインが必要で、3 つのインジケーターには 24 ラインが必要になります。 明らかに、ほとんどのアプリケーションでは、このようなピンの無駄な使用はまったく容認できません。 この問題は、動的表示を使用することで解決できます。 これを行うには、セグメントをマイクロコントローラーに直接接続する代わりに、図 2 に示すようにセグメントを共通のグループに結合します。 この回路では、共通のカソードを備えた 3 つのよく知られた場所に TOT-3361AH-LN インジケータを使用します。 ポート D は、セグメント A...H の LED を制御するために使用されます。 カソード K0...K2 はそれぞれポート B のライン 0...2 に直接接続されます (合計電流が 20 mA 以上の他のタイプのインジケータの場合は、追加のバッファ要素が必要になります)。 開始時には、インジケーターに親密度0に対応するシンボルが表示される。 この場合、電圧レベルはライン PB0 でローに設定され、PB1 と PB2 でハイに設定されます (そうしないと、シンボルが 3 つの位置すべてに表示されます)。 一定の時間が経過すると、順番に次のシンボルが出力され、カソード K1 がグランドに接続されます (PB1 ラインにロー レベル、PB0 と PB2 にハイ レベルがあります)。 次に、情報はインジケーターの最も高い位置 (PB2 log.0、PB0、PB1 log.1) に表示され、再びゼロなどに表示されます。 キャラクターのリフレッシュ レートが 50 Hz 以上になると、人間の視覚の慣性が現れ始めます。 ちらつき(スイッチング効果)が消えます。 すべてのシンボルが常に点灯しているかのように、イメージは継続的に認識されます。 動的表示サブルーチンの例を以下に示します。 これには 2 つのパラメータが必要です: 文字コードと、この文字が表示される位置番号です。

; インジケーターには 3 つのよく知られた場所、サブルーチンが含まれているため、 文字出力は 150 Hz 以上の周波数で呼び出す必要があります (3 ; 親しみやすさ x 50 Hz = 150 Hz)。 切り替え期間は次のとおりです。 1/150 Hz = 6667 μs、これは AVR の 1 MHz の周波数に相当します。 は、ジェネレータ クロック周波数の 6667 サイクルになります。 永続; 実行中のタイマーを使用して時間間隔を測定するのが最も便利です。 一致リセットモード(CTCモード)時。 ATmega8 にはこれがあります。 モードは 16 ビット タイマ カウンタ 1 および 8 に存在します。 ビット タイマー カウンタ 2。これらの目的のために (タイマー カウンタ 1 を使用する場合) 2 つのレジスタがあります。 RVV スペース: OCR1AH (上位バイト)、OCR1AL (下位バイト)。 ; 比較回路が有効になると、カウントレジスタが動作します。 TCNT1H:TCNT1L は、各入力パルスがオンになった後に開始します。 ユニットはそれまで内容を増やします。 値が書き込まれた値と等しくない。 OCR1AH:OCR1AL。 この時点で、 TCNT1H:TCNT1L の内容は次のようになります。 がリセットされ、TIMSK RV に OCF1A フラグが設定されます。 もし; TIMSK の OCIE1A ビットと SREG の I ビットをプリセットします。 その後、偶然に割り込みハンドラーへの移行が発生します。 比較モジュール A から。タイマーカウンター 1 も存在します。 また、B をレジスタと比較するための 2 番目の同様のモジュールもあります。 機能が類似している OCR1BH:OCR1BL の比較。 上で説明した。 .def data = R16 ; シンボルコードを登録します。def pos = R17 ; 現在のインジケーターの位置の番号を登録します。def temp = R18 ; 中間操作を登録します。dseg .org SRAM_START ; 表示バッファー用の SRAM 内のセル: 。バイト 3 ;indicator.cseg .org 0 rjmp 初期 ;startプログラム.org 0x0006 ;rjmp service_T1COMPA の割り込みハンドラ ;比較モジュール A からの一致 ; CTC モードの割り込み周期: T=(OCR1AH:OCR1AL+1) ; /(Fclk/N)、ここで N はプリスケーラーの除算係数です。 タイマ カウンタ 1 の入力周波数。動作モードが設定されます。 ビット WGM13:WGM10 (制御 RV TCCR1A の WGM10 および WGM11、TCCR1B の WGM12 および WGM13)、値 N はビットで指定されます。 レジスタ TCCR1A の CS12:CS10。 期間 T = 6667 μs の場合。 (WGM13:WGM10 = 0100 – CTC カット)、N =1(CS12:CS10 = 001 – ; プリスケーラー無効)、および Fclk=1 MHz – OCR1AH:OCR1AL の内容。 = 6667. .org 0x0020 初期: ldi temp,high(RAMEND) ;スタック初期化 out SPH,temp ldi temp,low(RAMEND) out SPL,temp 。 clr pos clr temp ldi temp,1 ; 表示バッファに数字 1...3 を入力します sts バッファ,temp ldi temp,2 sts バッファ+1,temp ldi temp,3 sts バッファ+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->2->0など brne PC+2 clr pos Pop temp ;終了時にスタックアウトから復元 SREG,temp ;レジスタ temp, SREG reti ; 動的表示サブルーチン。 ZH:ZL – 表形式変換のインデックス。 R18 – 中間操作用のレジスタ。 R16 – 変換テーブル ind_tabl の文字番号。 サブルーチンに入るとき。 R17 – サブルーチンに入るときの位置番号 (0…2)。 サブルーチンの入り口にある T フラグによって決まります。 コンマの有無 (T=1) din_ind: clr R18 ; 入力時に補助レジスタをクリア ldi ZH,high(2*ind_tabl) ; ldi ZL,low(2*ind_tabl) の開始アドレスを入力) Z インデックスに追加します; 文字変換テーブルは ZL,R16 を追加します; Z ポインタにオフセット adc ZH,R18 を追加します; テーブル内のシンボルの位置に対応します lpm R16,Z ; からシンボル bld R16,7 を抽出しますテーブルを R16 に入力します。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 をオンにします R17 を押します ; R17,PORTB の位置番号を持つレジスタをスタックに保存します; R17,0b00000111 および R18,R17 からポートの現在の状態をバッファ R17 に読み取ります; PORTB,R17 から log.1 を適用してすべてのセグメントを消去します。 ..K2 out PORTD,R16 ; 次のシンボル out PORTB, R18 をポート D に出力します ; 次のカソードポップ R17 をグランドに接続します ; スタックからの位置番号を持つレジスタを復元します ret ind_tabl: ; 共通のシンボルを持ついくつかのシンボルのテーブル陰極; HGFEDCBA table.db 内の HGFEDCBA 文字数 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 ; -、スペース 16、17

AVRのI/Oポートラインは対称的な負荷特性を持っています。 最大 20 mA までの等しい流入電流と流出電流が可能です。 したがって、共通アノードと共通カソードの両方を備えたインジケーターを使用しても、同等の成功を収めることができます。 さらに、セグメントを接続するためのピンは、ポーリング ボタンの追加機能を実行することがよくあります。 たとえば、図 2 では、SBN ボタンは電流制限抵抗 RN を介してセグメント A のラインに接続されています。 PD0 は、ボタンの状態を読み取るための入力として定期的に設定されます。 この場合、内部プルアップ抵抗は負荷抵抗として機能します。


図3 マイコンのピン数削減
a - シフトレジスタを使用する
b - 異なる LED 接続パターンのインジケーターを使用する

補助マイクロ回路をマイクロコントローラーと一緒に使用すると、ピンの数を大幅に減らすことができます。 たとえば、図 3a は、74HC164 シフト レジスタまたは同様のものがこの目的でどのように使用されるかを示しています。 この接続により、6 本の I/O ラインが解放されます。 場合によっては、7 セグメント コード デコーダやさまざまなタイプのカウンタを使用することが正当化される場合があります。 さらに、Z ステート ポート ラインの使用に基づく別の節約の機会もあります。 図3bの回路は、共通陽極HG2を有する3桁の表示器が追加的に共通陰極を有する表示器HG1と並列に接続されていることを除いて、図2の回路と同様である。 ライン PB0...PB2 は、HG2 インジケーターのアノード A0...A2 と HG1 のカソード K0...K2 の切り替えをそれぞれ同時に実行します。 情報が HG2 のゼロ位置 (アノード A0) に表示されると、ライン PB0 に高電圧レベルが生成されます。 ポート D のラインでは、点灯する必要があるセグメントには log.0 が設定され、消灯する必要があるセグメントには z-state が設定されます。 最下位の符号 HG1 (カソード K0) がアクティブの場合、ライン PB0 に低電圧レベルが存在する必要があり、ライン上の論理 1 レベルが点灯セグメントと Z 状態に対応する論理値がポート D に出力されます。消滅する。 A0、K0以外のインジケータ位置に文字を出力する場合は、PB0をハイインピーダンス状態に切り替える必要があります。 当然のことながら、このような切り替えスキームを使用した出力プログラムは、図に示したものよりも著しく複雑になります。 シンボルテーブルは、まず、それぞれのシンボルについて、PORTD 値に加えて、DDRD レジスタの内容も保存する必要があるため、はるかに大きくなることがわかります。DDRD レジスタの内容を介して、対応するラインを転送する必要があります。 Z 状態 (入力用に設定) に転送されます。 そして第二に、HG1 のシンボルは、共通陰極 HG2 を備えたインジケーターに関して他の逆 PORTD 値に対応します。

LED インジケーターやカメラのフラッシュを直接オン/オフにすることはできません。一部の携帯電話にはこのオプションがあります。

複数色のライトをプログラムで点滅させる方法、独自の「フラッシュライト」を作成する方法、または制御できる他のデバイスの LED を記述する方法 - これについては、以下で学びます。

ES Explorer を使用して HTC Desire のファイル システムを探索しているときに、/sys/class/leds/blue、/sys/class/leds/flashlight などの興味深いディレクトリを偶然見つけたことがすべての始まりでした。
他に青いものは何ですか? オレンジと緑のインジケーターしか見えませんでした。 しかし、最も興味深いのは、これらのディレクトリ内に書き込み権限のある明るさファイルが存在したことです。 私はすぐにそれを利用しました。

実際、これは単純なファイルではなく、LED ドライバーを操作するためのインターフェイスです。 したがって、ファイル /sys/class/leds/blue/brightness に正の数を書き込むと、電話ケースの青いインジケーターがオンになり、0 を書き込むとオフになります。 黄色と緑色のインジケーターも同様です。 2 つの LED を一緒に点灯すると、新しい色が得られます。琥珀 + 青 = 紫です。 緑+青=水色。

さて、すべてはどのようにプログラムされているのでしょうか?
public void ledControl(文字列名, int 明るさ) (

試す (

FileWriter fw = new FileWriter("/sys/class/leds/" + 名前 + "/brightness" );

fw.write(Integer.toString(明るさ));

fw.close();

) catch (例外 e) (

// LED 制御は利用できません

}

}


// 紫色のインジケーターをオンにする

LEDControl("アンバー" , 255 );

ledControl("青" , 255 );


// 表示を暗くします

ledControl("液晶バックライト" , 30 );


// ボタンのバックライトをオフにする

ledControl("ボタンバックライト" , 0 );


// 中程度の明るさの懐中電灯を整理します

ledControl("懐中電灯" , 128 );

ソースコード付きのサンプルアプリケーションをダウンロードできます。

結論
全て! 携帯電話がクリスマスツリーのように点灯します。 このコードは Android 2.2 を実行している HTC Desire でのみテストされていますが、他のデバイスでも動作する可能性があります。 あなたの携帯電話でフォーカスが機能するかどうかを私に書いてください。