arduinopedia.com - LCD KeyPad Shield ukUnt Arduino SKU: DFR0009 D1Robot
Ini adalah LCD Keypad Shield yang sangat populer untuk papan Arduino. Ini termasuk layar LCD 2×16 dan 6 tombol push sesaat. Pin 4, 5, 6, 7, 8, 9 dan 10 digunakan untuk antarmuka dengan LCD. Pin Analog 0digunakan untuk membaca tombol push. LCD Shield ini mendukung penyesuaian kontras dan fungsi on / off backlit. Ini juga memperluas pin analog agar memudahkan membaca dan display sensor analog.
LCD Keypad Shield dikembangkan untuk board Arduino, untuk menyediakan antarmuka yang mudah digunakan yang memungkinkan pengguna mengakses menu, membuat pilihan, dll. Ini terdiri dari LCD warna biru 1602 berwarna biru. Tombol terdiri dari 5 tombol – pilih, atas, kanan, bawah dan kiri. Untuk menyimpan pin IO digital, antarmuka keypad hanya menggunakan satu saluran ADC. Nilai kunci dibaca melalui pembagi tegangan 5 tahap.
Spesifikasi :
- Tegangan Operasi: 5V
- 5 tombol Push untuk memasok panel kontrol menu kustom
- Tombol RST untuk mengatur ulang program arduino
- Mengintegrasikan potensiometer untuk menyesuaikan lampu latar
- Tersedia pin I / O
- Expanded Analog Pinout dengan konfigurasi DFRobot standar untuk perpanjangan sensor cepat
- Dimensi: 80 x 58 mm
Pinout :
Penjelasan Perpustakaan :
Penjelasan Fungsi:
LiquidCrystal(rs, enable, d4, d5, d6, d7)
Membuat variabel tipe LiquidCrystal. Layar dapat dikontrol menggunakan 4 atau 8 jalur data. Jika yang pertama, hilangkan nomor pin untuk d0 ke d3 dan biarkan garis tersebut tidak terhubung. Pin RW dapat dihubungkan ke ground dan bukannya dihubungkan ke pin pada Arduino; jika demikian, hilangkan dari parameter fungsi ini. sebagai contoh:
lcd.begin(cols, rows)
Menginisialisasi antarmuka ke layar LCD, dan menentukan dimensi (lebar dan tinggi) layar. begin() perlu dipanggil sebelum perintah library LCD lainnya. Sebagai contoh:
lcd.setCursor(col,row)
Tetapkan lokasi di mana teks berikutnya ditulis ke LCD akan ditampilkan. sebagai contoh:
lcd.print(data)
Mencetak teks ke contoh LCD.for:
lcd.write(data)
Tulis karakter ke LCD.
contoh program :
/************************************************************************************* Mark Bramwell, July 2010 This program will test the LCD panel and the buttons.When you push the button on the shield, the screen will show the corresponding one. Connection: Plug the LCD Keypad to the UNO(or other controllers) **************************************************************************************/ #include <LiquidCrystal.h> LiquidCrystal lcd(8, 9, 4, 5, 6, 7); // select the pins used on the LCD panel // 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 int read_LCD_buttons(){ // read the 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 // We make this the 1st option for speed reasons since it will be the most likely result if (adc_key_in > 1000) return btnNONE; // 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); // set the LCD cursor position lcd.print("Push the buttons"); // print a simple message on the LCD } 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:{ // push button "RIGHT" and show the word on the screen lcd.print("RIGHT "); break; } case btnLEFT:{ lcd.print("LEFT "); // push button "LEFT" and show the word on the screen break; } case btnUP:{ lcd.print("UP "); // push button "UP" and show the word on the screen break; } case btnDOWN:{ lcd.print("DOWN "); // push button "DOWN" and show the word on the screen break; } case btnSELECT:{ lcd.print("SELECT"); // push button "SELECT" and show the word on the screen break; } case btnNONE:{ lcd.print("NONE "); // No action will show "None" on the screen break; } } }
Contoh 2
Contoh ini menunjukkan bahwa membaca input analog pada pin 1, mencetak hasilnya ke LCD. Program ini mengambil sensor temperture LM35 misalnya.
Koneksi:
Pasang keypad LCD ke UNO (atau pengendali lainnya)
Sensor suhu: S (biru) - A1 ()
Catatan: A0 telah ditempati.
VCC (merah) - VCC
GND (hitam) - GND
Kode :
/******************************************************* Description: Reads an analog input on pin 1, prints the result to the LCD. This program takes the temperture sensor LM35 for example. Connection: Plug the LCD Keypad to the UNO(or other controllers) Temperture sensor: S(blue) -- A1() Note: A0 has been occupied. VCC(red) -- VCC GND(black) -- GND ********************************************************/ #include <LiquidCrystal.h> LiquidCrystal lcd(8, 9, 4, 5, 6, 7); // select the pins used on the LCD panel unsigned long tepTimer ; void setup(){ lcd.begin(16, 2); // start the library } void loop(){ lcd.setCursor(0, 0); // set the LCD cursor position int val; // variable to store the value coming from the analog pin double data; // variable to store the temperature value coming from the conversion formula val=analogRead(1); // read the analog in value: data = (double) val * (5/10.24); // temperature conversion formula if(millis() - tepTimer > 500){ // output a temperature value per 500ms tepTimer = millis(); // print the results to the lcd lcd.print("T: "); lcd.print(data); lcd.print("C"); } }
Hasilnya akan terlihat seperti ini :
No comments:
Post a Comment