Шилд расширения для Arduino с LCD-дисплеем LCD1602 и набором кнопок


Соответсвие занятых выводов платы контроллера


ВыводФункция
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-канальный

Модуль предназначен для коммутации нагрузок с переменным напряжением питания 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п

Терминальный разъемный коннектор угловой 2п

Разъемный двухпроводной коннектор для пайки на печатную платуПровода подводятся параллельно плате и ..

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

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

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

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

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

Надписи на корпусе могут отличаться от указанных на картинке, но суть остается неизменной.Цифровой л..

Линейный подшипник 8мм

Линейный подшипник 8мм

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

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

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

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