Шилд розширення для Arduino з LCD-дисплеєм LCD1602 та набором кнопок. Підходить для плат контролерів Arduino UNO та MEGA


Відповідність зайнятих виводів плати контролера


ВивідФункція
A0Кнопки (select, up, right, down та left)
D4DB4
D5DB5
D6DB6
D7DB7
D8RS
D9Enable
D10ШІМ управління яскравістю підсвічування


Приклад програми для тестування LCD-екрану та кнопок модуля

//В прикладі використовується бібліотека LiquidCrystal

#include <LiquidCrystal.h>


// 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;

     }

 }


}

Написати відгук

Примітка: HTML размітка не підтримується! Використовуйте звичайтий текст.
    Погано           Добре

LCD Keypad шилд розширення для Arduino

  • Модель LCD Keypad Shield
  • Наявність Є в наявності
  • 98.44грн.


Нове

Мідний чулок для видалення припою 2мм 1,5м

Мідний чулок для видалення припою 2мм 1,5м

Мідна оплітка - застосовується для залужування доріжок друкованої плати, а також для видалення надли..

Модуль твердотільного реле 4-канальний

Модуль твердотільного реле 4-канальний

Модуль призначений для комутації 4-х навантажень зі змінною напругою живлення 75 ... 264 ВМаксимальн..

Оптопара EL817 SMD

Оптопара EL817 SMD

Оптопара з транзистором на виходіЗастосовується для гальванічної розв'язки дискретного сигналу, а та..

Стабілізатор напруги 5В 2А мікросхема L78S05CV

Стабілізатор напруги 5В 2А мікросхема L78S05CV

Мікросхема стабілізатор напруги L78S05CVЗастосовується для стабілізації пульсуючої напруги в блоках ..

Програматор AVR-контролерів USBASP

Програматор AVR-контролерів USBASP

Програматор для завантаження та відлагодження програм в мікроконтролери компанії ATMEL.Інтерфейс про..

Зсувний регістр 74HC595N

Зсувний регістр 74HC595N

Цю мікросхему використовують для керування світлодіодними гірляндами та символьними індикаторами.Вон..

Світлодіод ультраяскравий 3мм

Світлодіод ультраяскравий 3мм

Над-яскравий світлодіод діаметром 3 ммКорпус прозорий в світлодіодів різного кольору світіння. Тобто..

Вентилятор для Orange PI товщиною 10мм

Вентилятор для Orange PI товщиною 10мм

Вентилятор для охолодження процесора міні-комп'ютера Orange PI або Raspberry PIПрацює дуже тихоЖивле..

Термінальний роз'ємний конектор кутовий 4д

Термінальний роз'ємний конектор кутовий 4д

Роз'ємний 4-дротовий конектор для пайки на друковану платуДроти підводяться паралельно платі та з'єд..

Шестерня для зубчатого ременю на 20 зубців під вісь 5 мм

Шестерня для зубчатого ременю на 20 зубців під вісь 5 мм

Використовується для передачі та редукції обертаючого моменту від двигунаКількість зубців 20 шт.Діам..

Термінальний роз'ємний конектор кутовий 3д

Термінальний роз'ємний конектор кутовий 3д

Роз'ємний трьохдротовий конектор для пайки на друковану платуДроти підводяться паралельно платі та з..

Термінальний роз'ємний конектор кутовий 2д3.81mm

Термінальний роз'ємний конектор кутовий 2д3.81mm

Роз'ємний двохдротовий конектор для пайки на друковану платуДроти підводяться паралельно платі та з'..

Мікроконтролер ATTINY13A

Мікроконтролер ATTINY13A

Мініатюрний економічний AVR 8-бітний мікроконтролер, який можна програмувати як програматором, так і..

Логічний аналізатор 8 каналів

Логічний аналізатор 8 каналів

Надписи на корпусі можуть відрізнятись від наведених на картинці, але сутність приладу незмінна.Цифр..

Лінійний підшипник 8мм

Лінійний підшипник 8мм

Підшипник для лінійного ковзання робочого органу 3D-принтера або CNC за своїми осями.Одягається на ц..

Підшипник для зубчатого ременя GT2 без зубів

Підшипник для зубчатого ременя GT2 без зубів

Підшипник для натяжки зубчатого ременя GT2 6 мм на вісь 5 ммЗастосовується у 3D-принтерах та CNCШири..