РК-екран: все, що вам потрібно знати

РК-екран

Una Рішенням може стати РК-екран для тих проектів, в яких вам потрібно відображати інформацію без необхідності залежати від постійно підключеного комп’ютера. Тобто в проекті Arduino / Raspberry Pi ви можете використовувати послідовний порт для передачі інформації, яка відображається на екрані, для отримання показань датчиків, показу графіку, облікових записів тощо. Але якщо ваш проект постійно працює або далеко від того місця, де можна мати комп’ютер, РК-екран - це ваше порятунок.

Наприклад, уявіть, що ви встановлюєте автоматизовану зрошувальну систему і хотіли б перевірити показники вологості та температури, коли вирушаєте до свого городу чи городу. Потрібно взяти комп'ютер туди, щоб підключити плату Arduino до ПК, - це не практичне рішення. У цьому випадку ви можете змінити свій код так, щоб сказано інформація відображається на РК-екрані і навіть додати кілька клавіш або кнопок, щоб мати можливість відображати різну інформацію.

Що таке РК-панель?

Рідкокристалічний дисплей або LCD (рідкокристалічний дисплей) Це свого роду тонка, плоска панель, яка може відображати зображення. Кожна панель складається з певної кількості кольорових або монохромних пікселів, які розміщуються перед джерелом світла. Їх споживання низьке, саме тому вони ідеально підходять для цього типу саморобних проектів з малоенергетичною електронікою.

Кожен піксель на РК-екрані складається з шару молекул, вирівняних між двома прозорими електродами, та двох поляризаційних фільтрів. Між поляризаційних фільтрів є рідкокристалічний дисплей, звідси і його назва, і перешкоджає тому, щоб світло, що проходить через перший фільтр, перекривалось другим.

Крім того, якщо ви помітили, коли торкаєтесь одного з цих екранів зображення деформується і при натисканні з’являється якась чорна пляма, тобто тому, що ти тиснеш на рідкий кристал, і робити це не доцільно ... Можливо, в кінцевому підсумку кольори екрану нижчої якості, нерівномірний розподіл освітлення або навіть мертві пікселі (чорні плями або ділянки на екрані, які не зникають).

РК-екрани для Arduino та Raspberry Pi

РК-екран, такий як модулі, які існують для електроніки або для Arduino, як правило, має кілька стовпців для відображення буквено-цифрових символів або символів та один або два рядки для відображення інформації. Це робить їх набагато цікавішими, ніж семисегментний дисплей, який повинен з'єднати кілька штифтів, щоб мати можливість відображати лише одне число, символ або букву. Якщо ви хочете показати більше, вам слід розмістити кілька дисплеїв.

Натомість на одному РК-екрані ви можете відображати набагато більше інформації. Але ви повинні добре знати розпірку модулів цього типу, щоб правильно їх з’єднати. Я рекомендую вам завжди бачити технічний паспорт виробника та конкретної моделі що у вас є, оскільки вони можуть відрізнятися.

Наприклад, Ви можете придбати цей у Adafruit на Amazon, який є одним з найпопулярніших серед клавіатури та містить можливість відображення до 16 символів у кожному з двох його рядків. А є навіть 20 × 4, або щось більш просунуте іБагатодюймовий кольоровий для відображення більш складних зображень.

Для РК-екрану Adafruit 16 × 2 ви можете побачити цю таблицю...

Для ардуїно можливо, такий простіший, як той, краще РК-екран 16x2 без клавіатури. Якщо подивитися на цю дошку, вона має 16 шпильок на звороті. Якщо взяти дошку, перевернути її догори дном і подивитися на її шпильки зліва направо, у вас буде розпиновка:

  • Контакт 16: GND для підсвічування
  • Контакт 15: Vcc для підсвічування
  • Контакт 7-14: 8-бітний (наступні 8 контактів) для передачі інформації, яка відображатиметься на екрані
  • Контакт 6: синхронізація читання та запису
  • Штифт 5. R / W (запис і читання даних та команд)
  • Контакт 4: RS (селектор між командами та даними)
  • Контакт 3: контроль контрасту
  • Контакт 2: Vcc 5 В для живлення
  • Контакт 1: GND (0v) для живлення

Пам'ятайте, що коли ви ставите його в правильне положення, штифти перевертаються ...

Інтеграція з Arduino

Схема підключення 16x2 РК до Arduino Uno

в підключіть його до arduino Це не надто складно, вам просто потрібно подумати про включення резистора 220 Ом для регулювання вхідної напруги для потужності екрану та потенціометра для модуляції контрасту екрану. Потім підключіть кожен із контактів до плати Arduino відповідним чином, і все готово. Ви можете подивитися на образ Фрітцінга ...

Як ти бачиш, потенціометр буде через який він буде подаватися РК-екран і контрастність також регулюються. Тому він буде пов'язаний як з GND, так і з Vcc дисплея, а також з лінією управління підсвічуванням та контролем контрасту. Можливо, це найскладніше, тоді справа в підключенні решти контактів до входів / виходів, які ви збираєтеся використовувати у своєму проекті.

Програмування за допомогою Arduino IDE

Для програмування ви повинні взяти до уваги деякі особливості, Майте на увазі, що ви повинні не тільки знати, як надсилати дані, але і переміщати їх, добре розміщувати на екрані тощо. І ви також повинні використовувати бібліотеку під назвою LiquidCrystal.h, якщо ваш РК-екран має сумісний чіпсет Hitachi HD44780. У вас є приклад коду тут:

#include <LiquidCrystal.h>

// Definimos las constantes
#define COLS 16 // Aqui va el num de columnas del LCD, 16 en nuestro caso
#define ROWS 2 // Aqui las filas x2
#define VELOCIDAD 200 // Velocidad a la que se movera el texto

// Indicamos los pines de la interfaz donde hayas conectado el LCD
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

// Para el texto que se muestra
String texto_fila = "Ejemplo LCD";

void setup() {
  // Configura el monitor serie
  Serial.begin(9600);

  // Configurde filas y columnas
  lcd.begin(COLS, ROWS);
}

void loop() {

  // Tamaño del texto a mostrar
  int tam_texto=texto_fila.length();

  // Indicamos que la entrada de texto se hace por la izquierda
  for(int i=tam_texto; i>0 ; i--)
  {
    String texto = texto_fila.substring(i-1);

    // Limpia la pantalla para poder mostrar informacion diferente
    lcd.clear();

    //Situar el cursor en el lugar adecuado, en este caso al inicio
    lcd.setCursor(0, 0);

    // Escribimos el texto "Ejemplo LCD"
    lcd.print(texto);

    // Esperara la cantidad de milisegundos especificada, en este caso 200
    delay(VELOCIDAD);
  }

  // Desplazar el texto a la izquierda en primera fila
  for(int i=1; i<=16;i++) { 
    lcd.clear();
    lcd.setCursor(i, 0); 
    lcd.print(texto_fila); 
    delay(VELOCIDAD); } 
  // Desplazar el texto a izquierda en la segunda fila 
    for(int i=16;i>=1;i--)
  {
    lcd.clear();
    lcd.setCursor(i, 1);
    lcd.print(texto_fila);
    delay(VELOCIDAD);
  }
  for(int i=1; i<=tam_texto ; i++)
  {
    String texto = texto_fila.substring(i-1);
    lcd.clear();
    lcd.setCursor(0, 1);
    lcd.print(texto);
    delay(VELOCIDAD);
  }
}

Більше інформації - Посібник з програмування Arduino (безкоштовний PDF)


Будьте першим, щоб коментувати

Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: Мігель Анхель Гатон
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.