
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 (「どれも 」); 壊れ目 ;}}}