Search Code

Користење на LCD со Digispark USB за прикажување текст | Robojax

Користење на LCD со Digispark USB за прикажување текст | Robojax

Овој проект демонстрира како да се поврзе 1602 LCD екран со Digispark микроконтролер за прикажување текстуални пораки. Ова е основна вештина во вградените системи, корисна за креирање прилагодени дисплеи за различни апликации. Малата големина и ниската цена на Digispark го прават идеален за компактни проекти.

Идеи за проекти:

  • Направете едноставен дигитален часовник.
  • Прикажувајте читања од сензори (температура, влажност, итн.).
  • Изградете прилагоден индикатор за статус за поголем проект.
  • Развијте основна игра со повратна информација на екранот.

Хардвер/Компоненти

Проектот користи 1602 LCD екран (16 карактери x 2 линии) (во видеото на 00:21), Digispark микроконтролер (или USB или micro USB верзија – жиците се главно исти, но поврзувањето со компјутерот се разликува (во видеото на 00:34)), и jumper жици. LCD екранот вклучува I2C комуникациски модул (во видеото на 00:56), позадинско осветлување и потенциометар за прилагодување на осветленоста на екранот (во видеото на 01:31).

Водич за поврзување

Поврзувањата се како што следува (во видеото на 02:09):

  • LCD Ground на Digispark Ground
  • LCD VCC на Digispark 5V
  • LCD SDA на Digispark Pin 0
  • LCD SCL на Digispark Pin 1
%%WIRING%%

Објаснување на кодот

Arduino кодот ја користи LiquidCrystal библиотеката. Клучно е да ја одредите I2C адресата на вашиот LCD користејќи го I2C скенерот (во видеото на 03:36). Оваа адреса (обично хексадецимална вредност како 0x3F, 0x27 или 0x38) мора да се внесе во кодот (во видеото на 03:29). Кодот исто така го дефинира бројот на колони (16) и редови (2) на LCD-то (во видеото на 05:57). Функцијата setup() го иницијализира LCD-то и печати почетна порака. Функцијата loop() континуирано го чисти LCD-то, печати „RoboJax“ на првата линија и „Hello World!“ на втората линија (во видеото на 06:54), со пауза од половина секунда помеѓу ажурирањата (во видеото на 07:46).


// ... (друг код е изоставен) ...
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
// ... (друг код е изоставен) ...
//Оваа линија ја поставува I2C адресата на LCD-то
lcd.begin(16, 2); //Оваа линија ги поставува димензиите на LCD-то
// ... (друг код е изоставен) ...

Жив проект/Демонстрација

Видеото демонстрира успешно компилирање и поставување на кодот на Digispark (во видеото на 08:20). LCD-то го прикажува програмираниот текст, потврдувајќи ја функционалноста на колото (во видеото на 08:48).

Поглавја

  • [00:01] Вовед
  • [00:21] Преглед на LCD 1602
  • [01:06] Хардверски поврзувања
  • [02:09] Детали за жиците
  • [02:53] Преглед на кодот
  • [03:27] Наоѓање на I2C адресата
  • [05:04] Поставување на кодот
  • [06:54] Објаснување на кодот: Loop функција
  • [08:20] Жива демонстрација
64-LCD1602 display for Arduino: basic code
Language: C++
// LCD1602 Display for Arduino

// January 21, 2018 14:25 this example will work with a 1602 LCD 
// Code used for YouTube video for RoboJax channel
// Watch the video https://youtu.be/S4ya3Q7uhJs
// Video and other Arduino Tutorials http://robojax.com/learn/library


// January 21, 2018 14:25
// original source https://www.arduino.cc/en/Tutorial/HelloWorld
// include the library code:
#include <LiquidCrystal.h>

// initialize the library by associating any needed LCD interface pin
// with the arduino pin number it is connected to
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

void setup() {
  // RoboJax LCD1602 Test 
  // set up the LCD's number of columns and rows:
  lcd.begin(16, 2);
  // Print a message to the LCD.
  // RoboJax LCD1602 Test 
}

void loop() {
  // RoboJax LCD1602 Test 
    lcd.setCursor(0, 0);
    lcd.print("RoboJax LCD Test");
  // set the cursor to column 0, line 1
  // (note: line 1 is the second row, since counting begins with 0):
  lcd.setCursor(0, 1);
  // print the number of seconds since reset:
  lcd.print("Hello World!");


  delay(500);
  // RoboJax LCD1602 Test 
}

Things you might need

Resources & references

Files📁

Other files

  • Digistump Drivers
    Driver package for Digistump boards, including the Digispark. Contains USB drivers required to program Digistump development boards from the Arduino IDE.
    Digistump.Drivers.zip