شیلد ال سی دی کاراکتری 1602 با قابلیت ساخت منو از جمله جذاب ترین شیلدهای آردوینو است.این شیلد با داشتن ال سی دی کاراکتری 1602 و 6 میکرو سوئیچ می تواند منویی ایجاد کند که برای هر آیتم آن قابلیت انتخاب نیز وجود دارد. در این شیلد برای استفاده بهینه از پین های آردوینو تنها از پین آنالوگ شماره 0 برای خواندن مقدار میکروسوئیچ ها استفاده شده است.
کلیدهایی طراحی شده روی شیلد عبارتند از :
بالا، پایین، چپ، راست، انتخاب و ریست
خصوصیات:
ولتاژ:4.5 تا 5.5 ولت
ماکزیمم جریان مصرفی :40 میلی آمپر
برای آموزش کار با شیلد نمونه کد یر را آپلود کنید:
با این کد شما قارد خواهید بود تمام کلیدهای روی شیلد را تست کنید.کد://Sample using LiquidCrystal library #include <LiquidCrystal.h> /******************************************************* This program will test the LCD panel and the buttons Mark Bramwell, July 2010 ********************************************************/ // select the pins used on the LCD panel LiquidCrystal lcd(8, 9, 4, 5, 6, 7); // define some values used by the panel and buttons int lcd_key = 0; int adc_key_in = 0; #define btnRIGHT 0 #define btnUP 1 #define btnDOWN 2 #define btnLEFT 3 #define btnSELECT 4 #define btnNONE 5 // read the buttons int read_LCD_buttons() { adc_key_in = analogRead(0); // read the value from the sensor // my buttons when read are centered at these valies: 0, 144, 329, 504, 741 // we add approx 50 to those values and check to see if we are close if (adc_key_in > 1000) return btnNONE; // We make this the 1st option for speed reasons since it will be the most likely result // For V1.1 us this threshold if (adc_key_in < 50) return btnRIGHT; if (adc_key_in < 250) return btnUP; if (adc_key_in < 450) return btnDOWN; if (adc_key_in < 650) return btnLEFT; if (adc_key_in < 850) return btnSELECT; // For V1.0 comment the other threshold and use the one below: /* if (adc_key_in < 50) return btnRIGHT; if (adc_key_in < 195) return btnUP; if (adc_key_in < 380) return btnDOWN; if (adc_key_in < 555) return btnLEFT; if (adc_key_in < 790) return btnSELECT; */ return btnNONE; // when all others fail, return this... } void setup() { lcd.begin(16, 2); // start the library lcd.setCursor(0,0); lcd.print("Push the buttons"); // print a simple message } void loop() { lcd.setCursor(9,1); // move cursor to second line "1" and 9 spaces over lcd.print(millis()/1000); // display seconds elapsed since power-up lcd.setCursor(0,1); // move to the begining of the second line lcd_key = read_LCD_buttons(); // read the buttons switch (lcd_key) // depending on which button was pushed, we perform an action { case btnRIGHT: { lcd.print("RIGHT "); break; } case btnLEFT: { lcd.print("LEFT "); break; } case btnUP: { lcd.print("UP "); break; } case btnDOWN: { lcd.print("DOWN "); break; } case btnSELECT: { lcd.print("SELECT"); break; } case btnNONE: { lcd.print("NONE "); break; } } }
جهت سفارش این کالا به این بخش مراجعه کنید.


12 لایک
LinkBack URL
About LinkBacks



پاسخ با نقل قول