Проводка жк экрана DFRobot

lcd

Мне нужна помощь в подключении экрана ЖК-клавиатуры DFRobot к моему Arduino Uno. Я планирую сделать текстовое приключение на Arduino, если это поможет.

, 👍0

Обсуждение

Ты имеешь в виду эту? http://www.dfrobot.com/index.php?route=product/product&product_id=51#.VWeKJ-o9rRY Это щит - вы просто подключите его. С какой частью этого вам нужна помощь?, @Majenko

Ты имеешь в виду, что я просто подключаю щит и подключаю его к компьютеру?, @Collin Fitch

Также да это щит, @Collin Fitch

https://learn.sparkfun.com/tutorials/arduino-shields, @Majenko

Так это в основном подключи и играй? Я ничего не делаю кроме жидкокристаллического дисплея, @Collin Fitch

Это подключи и программируй. Самое интересное - написать программу., @Majenko


1 ответ


0

Решение найдено здесь: http://www.dfrobot.com/wiki/index.php/LCD_KeyPad_Shield_For_Arduino_SKU:_DFR0009

В этом примере будет проверена ЖК-панель и кнопки.Когда вы нажмете кнопку на щите, на экране появится соответствующая надпись. Подключение: Подключите ЖК-клавиатуру к UNO(или другим контроллерам).

/*************************************************************************************

  Марк Брэмуэлл, июль 2010

  Эта программа проверит ЖК-панель и кнопки.Когда вы нажимаете кнопку на экране,
  на экране появится соответствующий.

  **Подключение: Подключите ЖК-клавиатуру к UNO(или другим контроллерам).**

**************************************************************************************/

#include <LiquidCrystal.h>

LiquidCrystal lcd(8, 9, 4, 5, 6, 7);           // выберите контакты, используемые на LCD панели

// определите некоторые значения, используемые панелью и кнопками
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(){               // читать кнопки
    adc_key_in = analogRead(0);       // считывает значение с датчика 

    // мои кнопки при чтении сосредоточены на этих значках: 0, 144, 329, 504, 741
    // мы добавляем примерно 50 к этим значениям и проверяем, близки ли мы к ним
    // Мы делаем это 1-м вариантом из соображений скорости, так как это будет наиболее вероятный результат

    if (adc_key_in > 1000) return btnNONE; 

    // Для версии V1.1 мы используем этот порог
    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;  

   // Для версии 1.0 прокомментируйте другой порог и используйте следующий:
   /*
     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;                // когда все остальные потерпят неудачу, верните это.
}

void setup(){
   lcd.begin(16, 2);               // запустить библиотеку
   lcd.setCursor(0,0);             // установите положение курсора ЖК
   lcd.print("Push the buttons");  // выведите простое сообщение на ЖК-дисплей
}

void loop(){
   lcd.setCursor(9,1);             // переместите курсор во вторую строку "1" и 9 пробелов над
   lcd.print(millis()/1000);       // отображение секунд, прошедших с момента включения питания

   lcd.setCursor(0,1);             // перейти к началу второй строки
   lcd_key = read_LCD_buttons();   // считывание кнопок

   switch (lcd_key){               // в зависимости от того, какая кнопка была нажата, мы выполняем действие

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

,