Користење на 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
Објаснување на кодот
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] Жива демонстрација
// 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
-
eBay
-
AliExpressPurchase Digispark Attiny85 from AliExpresss.click.aliexpress.com
Resources & references
-
ExternalATtiny88 datasheet (PDF)ww1.microchip.com
Files📁
Other files
-
Digistump DriversDriver package for Digistump boards, including the Digispark. Contains USB drivers required to program Digistump development boards from the Arduino IDE.
Digistump.Drivers.zip