Текущее время: 28 мар 2024, 12:03

Калининград & ХОББИ

Занятие любимым хобби - это путь к счастливой жизни!

Урок 12. Подключение LCD KeyPad шилда

Обучение с нуля, шаг за шагом.
Аватар пользователя
 
Сообщений: 799
Зарегистрирован: 27 мар 2013, 22:12

Урок 12. Подключение LCD KeyPad шилда

Сообщение -=dp=- » 20 мар 2018, 22:14

Урок 12. Подключение LCD KeyPad шилда

Для данного практического занятия нам понадобятся:
1 - плата контроллера Ардуино УНО
2 - плата расширения LCD KeyPad шилд
3 - кабель microUSB > USB


Подключение сводится в соединении шилда с платой контроллера Ардуино УНО.

arduino_uno.jpg
Подключение LCD KeyPad шилда


lcd_keypad_shield.jpg
Подключение LCD KeyPad шилда



Аватар пользователя
 
Сообщений: 799
Зарегистрирован: 27 мар 2013, 22:12

Re: Урок 12. Подключение LCD KeyPad шилда

Сообщение -=dp=- » 20 мар 2018, 22:21

Далее загружаем архивы с библиотеками LiquidCrystal.zip, Adafruit_Circuit_Playground.zip, Adafruit_Sensor.zip

LiquidCrystal.zip
Подключение LCD KeyPad шилда
(18.58 KiB) Скачиваний: 723

Adafruit_Circuit_Playground.zip
Подключение LCD KeyPad шилда
(125.12 KiB) Скачиваний: 699

Adafruit_Sensor.zip
Подключение LCD KeyPad шилда
(6.59 KiB) Скачиваний: 714


Распаковываем их и копируем распакованные папки с библиотеками в папку libraries программы Arduino IDE.

Затем запускаем среду разработки Arduino IDE и копируем туда вот этот тестовый скетч:

Код: выделить все
#include <LiquidCrystal.h>

LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

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);
  if (adc_key_in > 1000) return btnNONE;
  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 < 600)  return btnLEFT;
  if (adc_key_in < 920)  return btnSELECT;
  return btnNONE;
}

void setup() {
  lcd.begin(16, 2);
  lcd.setCursor(0,0);
  lcd.print("www.forklg.ru");
}

void loop() {
  lcd.setCursor(9, 1);
  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("         ");
      break;
    }
  }
}



Данный скетч наглядно демонстрирует работу LCD KeyPad шилда.
В нем реализовано отображение текстовой информации, вывод текста в верхней строке, реализован счетчик с отображением увеличивающегося значения в нижней строке справа, а так же, реализована индикация нажатий клавиш влево, вправо, вверх, вниз, выбор. ;)
То есть, есть все необходимые примеры для начала работы с данным шилдом. :idea:



Аватар пользователя
 
Сообщений: 799
Зарегистрирован: 27 мар 2013, 22:12

Re: Урок 12. Подключение LCD KeyPad шилда

Сообщение -=dp=- » 21 мар 2018, 15:24

Пример игры Змейка на Ардуино и LCD KeyPad шилде

Изображение

Ссылка на скетч viewtopic.php?f=98&t=1367



Аватар пользователя
 
Сообщений: 799
Зарегистрирован: 27 мар 2013, 22:12

Re: Урок 12. Подключение LCD KeyPad шилда

Сообщение -=dp=- » 21 мар 2018, 15:40

Пример игры Бегущий человек на Ардуино и LCD KeyPad шилде

Изображение

Ссылка на скетч viewtopic.php?f=98&t=1366




Вернуться в Обучение Ардуино

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4