
Add to Cart
これはArduinoまたはFreeduino板のための非常に普及したLCDのキーパッドの盾です。それは必要とされるArudino板か、はんだ付けするか、またははえ配線に差し込みます直接ある場合もありません。16x2 HD44780多用性があるLCD、白い特性及び青いバックライト。
この盾はArudino LCD4Bitの図書館を使用します。
| Pin | 機能 |
|---|---|
| アナログ0 | ボタン(、の上で、右、選び、去りました) |
| デジタル4 | DB4 |
| デジタル5 | DB5 |
| デジタル6 | DB6 |
| デジタル7 | DB7 |
| デジタル8 | RS (データまたは信号の表示選択) |
| デジタル9 | 可能にして下さい |
| デジタル10 | バックリット制御 |
LCDを制御する//の#include
<LCD4Bit_mod.h> //createの目的。display=1LCD4Bit_mod
のラインの//number lcd = LCD4Bit_mod (2);//Keyのmessagechar msg [5] [15]
= {「主OK」の上の「右の主 OK」は、 「
」、「残しました 主OK 」、「選り抜き 主OK
」を良く調整します};_key_val int adc [5] = {30、150、360、535、760};int
NUM_KEYS = 5;intのadc_key_in;int key=-1;int oldkey=-1;無効の組み立て()
{pinMode (13の出力);//weは 心拍lcd.initを出力するのにデバッギングLEDを使用します
();//optionallyは 、今lcdがlcd.init () //lcd.commandWrite
(0x0F)でしたものは何でも打ち消す私達のアプリケーション特有の表示
設定をセットアップしました;//cursor、表示、きらめき。(厄介!) lcd.clear () ;lcd.printIn
(「押す 」のキーパッド テスト…);}空間のループ() {adc_key_in = analogRead
(0);//はセンサーのdigitalWrite (13の最高)からの 価値を読みました;キー= get_key (
adc_key_in);主出版物への //の改宗者(キー!keypressが 検出されれば= oldkey )
//{遅れ(50);debounceの 時間adc_key_in = analogRead
(0) のための//の待ち時間;//はセンサーのキー = get_key (adc_key_in)からの
価値を読みました;主出版物への //の改宗者(キー!= oldkey ) {oldkey =キー
; (キー>=0) {
lcd.cursorTo (2、0 );//line =2、x=0 lcd.printIn (msg [キー
]);}}} digitalWrite (13 、 低い );} // numberintのget_key
(入る無署名のint)を調整する改宗者ADCの価値{int k;のため(k = 0;k < NUM_の
キー;k++) {(入力< adc_keyの _ val [k]) {帰りk;}}
(kの >= NUM_KEYS) k = -1;//有効な
キーによって押される リターン無しk;}
LiquidCrystal library#include
<LiquidCrystal.h>/の*******************************************************を使用して//SampleはこのプログラムLCDのパネルをテストし、buttonsMark
Bramwellの2010年7月の********************************************************は///
LCD panelLiquidCrystal lcd
(8、9、4、5、6、7)で使用されるピンを選びます;//パネルおよびbuttonsintのlcd_keyによって使用されるある価値を=
0 定義して下さい;intのadc_key_in = 0;#defineのbtnRIGHT 0#は btnUP
1#を定義します btnDOWN 2#を定義します btnLEFT 3#を定義します 読みましたbtnSELECT
4#defineのbtnNONE 5を /buttonsintのread_LCD_buttonsを定義します()
{adc_key_in = analogRead (0);//は これらのvaliesに読まれたときセンサー
//からの価値を私のボタン集中します読みました:0、144、329、504、741
//私達はそれらの価値および点検におよそ私達が近い(adc_key_in >
1000ことを)リターンbtnNONEかどうか見るために50を加えます;//私達はそれが本当らしい結果(adc_key_in <
50)リターンbtnRIGHTであるのでこれに速度の理由のための第1選択を します;( adc_key_in <
195)リターンbtnUP ;( adc_key_in < 380)リターンbtnDOWN ;( adc_key_in
< 555)リターンbtnLEFT ;( adc_key_in < 790)リターンbtnSELECT ;帰りの
btnNONE;他が 失敗するとき//は、これを…戻します}無効の組み立て() {lcd.begin (16、2);//の開始
図書館lcd.setCursor (0,0);lcd.print
(「ボタン」を押して下さい);//の印刷物簡単なメッセージの}空間のループ() {lcd.setCursor
(9,1);//移動カーソル に第2ライン「1"および9スペースにlcd.print (millis
()/1000);//の表示秒は パワーアップlcd.setCursor
(0,1)以来経過しました;第2ラインlcd_key =
read_LCD_buttonsの始めへの//移動();//はボタンが 押されたボタン スイッチ(lcd_key
) //を、私達行います行為{場合のbtnRIGHTを読みました:{lcd.print (「右」); 壊れ目
;}場合のbtnLEFT: {lcd.print ( 「去られる」);壊れ目 ;
}場合のbtnUP:{ lcd.print (「の上で 」 );壊れ目;} 場合の
btnDOWN:{ lcd.print (「 」);壊れ目;}場合の
btnSELECT:{lcd.print (「選んで下さい 」);壊れ目;}場合の
btnNONE:{lcd.print (「どれも 」); 壊れ目 ;}}}