Агуулгын хүснэгт:

Нэг LCD шугамыг гүйлгэх: 4 алхам (зурагтай)
Нэг LCD шугамыг гүйлгэх: 4 алхам (зурагтай)

Видео: Нэг LCD шугамыг гүйлгэх: 4 алхам (зурагтай)

Видео: Нэг LCD шугамыг гүйлгэх: 4 алхам (зурагтай)
Видео: PS3 #2: Ressurecting the impossable! | EPIC rollercoaster repair that nearly broke me. 2024, Арваннэгдүгээр
Anonim
Image
Image

Шингэн болор номын сан нь scrollDisplayLeft () ба scrollDisplayRight () гэсэн хоёр ашигтай функцтэй. Эдгээр функцууд нь дэлгэцийг бүхэлд нь гүйлгэдэг. Өөрөөр хэлбэл, тэд хоёуланг нь 1602 LCD дээр, дөрвөн мөрийг 2004 оны LCD дээр гүйлгэж харуулдаг. Бидэнд ихэвчлэн хэрэгтэй зүйл бол дэлгэцийг бүхэлд нь гүйлгэхийн оронд эдгээр дэлгэц дээр нэг мөр гүйлгэх чадвар юм.

Энэхүү зааварчилгаа нь scrollInFromRight (текстийг харуулах мөр, гүйлгэх мөр) болон scrollInFromLeft (текстийг харуулах мөр, гүйлгэх мөр) гэсэн хоёр нэмэлт функцээр хангадаг. LCD дэлгэц рүү гүйлгэх эдгээр хоёр функц нь миний өмнөх Instructable -ээс scrollLineRight (текстийг харуулах мөр, гүйлгэх мөр) болон scrollLineLeft (текстийг харуулах мөр, гүйлгэх мөр) гэсэн хоёр функцтэй хослуулсан болно. Дэлгэц дээрх мөрүүдийг гүйлгэх функцууд нь LCD дэлгэц дээр текстийг хэрхэн үзүүлэх, хэрхэн устгахыг хянах хэд хэдэн хүчирхэг аргуудыг бидэнд өгдөг.

Алхам 1: Шаардлагатай зүйл

Холбогдож байна
Холбогдож байна

- 1602 эсвэл 2004 оны бие даасан LCD дэлгэц эсвэл LCD бамбай

- 2004 оны LCD дэлгэцийг ашиглах талаар доорх тэмдэглэлийг үзнэ үү

- Arduino UNO R3 буюу клон

- Arduino -г компьютерт холбох USB кабель

- Хагас хэмжээтэй, 400 тэнцсэн цэг, талхны самбар

- Arduino IDE

- Туршилтын платформ (заавал биш, гэхдээ тустай)

Шаардлагатай зүйл бол 1602 эсвэл 2004 оны LCD дэлгэц юм [хэрэв 2004 оныг ашиглаж байгаа бол одоо 20 тэмдэгт x 4 мөр ашиглаж байгаа гэдгээ харуулахын тулд lcd.begin () функцийг өөрчлөх замаар баруун тийш гүйлгэх нь асуудалгүй болно. дэлгэц. [2004 оны дэлгэцийг ашиглан зүүн тийш гүйлгэхийн тулд crollInFromLeft () функцийг дахин бичих шаардлагатай болно. LCD -ээс гадна танд Arduino -ийг компьютерт холбох Arduino UNO эсвэл clone, Arduino IDE, USB кабель хэрэгтэй болно.

Энд үзүүлсэн бие даасан LCD -ийн оронд LCD бамбай ашиглаж болно. Хэрэв тийм бол доорх зурган дээрх LCD -ийн зүү хуваарилалтыг өөрчлөх шаардлагатай болно.

- Бие даасан 1602 LCD дэлгэцийн хувьд би зураг зурахдаа дараах зүү даалгавруудыг ашигласан болно.

// LiquidCrystal (rs, идэвхжүүлэх, d4, d5, d6, d7)

LiquidCrystal lcd (12, 11, 5, 4, 3, 2);

мөн LiquidCrystal.h -ийн Шингэн болор номын санг багтаасан болно.

- LCD бамбайны хувьд би зураг зурахдаа дараах зүү даалгавруудыг ашигладаг бөгөөд LiquidCrystal.h Liquid Crystal номын санг оруулсан болно.

// LiquidCrystal (rs, идэвхжүүлэх, d4, d5, d6, d7)

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

Аль ч чиглэл нь кодыг энд ажиллуулах болно, өөрөөр хэлбэл LCD бамбай эсвэл бие даасан LCD. Энэхүү зааварчилгаанд 1602 бие даасан LCD дэлгэцийг ашигласан боловч өөр өөр зүү хийх үүргийг харгалзан үзвэл 1602 бамбайг ашиглаж болно.

Би "туршилтын платформ" ашиглан Arduino UNO-г хагас хэмжээтэй, 400 тэнцэх цэг, талхны самбартай холбосон. (Миний өмнөх зааварчилгааг үзнэ үү, "Arduino UNO R3 -ийн туршилтын платформ, үүнийг хэрхэн ашиглах талаар бэлтгэх"). Гэсэн хэдий ч туршилтын платформ шаардлагагүй боловч миний хувьд энэ нь LCD -ийг НҮБ -тай холбох ажлыг илүү хялбар, хурдан болгодог.

LCD -ийг НҮБ -д холбоход миний өгсөн даалгаврыг дээрээс харж болно.

Алхам 2: Холбох

LCD нь талхны самбар дээр залгагддаг бөгөөд дараа нь залгах утсыг талхны самбараас Arduino дээрх зохих тээглүүрт холбодог (хэрэв миний ашигладаг холболтын талаар асуулт байвал 2 -р алхамыг үзнэ үү).

Би энэ төслийн хувьд бамбай гэхээсээ илүү бие даасан LCD дэлгэцийг илүүд үзсэн бөгөөд энэ нь надад илүү сэтгэл хангалуун байсан бөгөөд надад ямар зүү байгааг хялбархан харах боломжийг олгосон юм. Энэ нь халиваар тохируулах ёстой бамбайгийн потенциометр биш харин бариултай потенциометрийг ашиглах боломжийг надад олгодог.

Бие даасан LCD дэлгэц нь тусдаа 10 к омын потенциометрийг ашиглахыг шаарддаг. Дээр дурдсанчлан, би арчигчаа гурав дахь LCD зүүтэй холбосон бариултай товчлуур ашигласан (LCD тээглүүрийг та руу харсан баруун талаас тоолно). Потенциометрийг LCD дэлгэцийн тодосгогч байдлыг хянахад ашигладаг. Холболтууд нь 1602, 2004 оныхтой ижил байна. Гэхдээ бидний LCD дэлгэц нь 16 -аас өөрчлөгдсөн болохыг харуулахын тулд зураг дээр lcd.begin (16, 2) гэсэн тодотголыг lcd.begin (20, 4) болгож өөрчлөх шаардлагатай байна. тэмдэгтийг хоёр мөрөөр харуулах ба 20 мөрийг дөрвөн мөрөөр нэг мөр болгоно.

Хавсаргасан гэрэл зургуудыг үзэхэд туршилтын платформ, 10к потенциометр зэрэг миний ашиглаж байсан холболт харагдаж байна.

Алхам 3: Ноорог

Ноорог
Ноорог
Ноорог
Ноорог
Ноорог
Ноорог

Arduino IDE дээр хавсаргасан тоймыг оруулна уу. Зааварчилдаг сайт нь ихэвчлэн тэмдэгтүүдээс их ба түүнээс бага тэмдэгтүүдийг хооронд нь устгадаг гэдгийг санаарай. Тиймээс, LiquidCrystal.h текстийг оруулаад LiquidCrystal.h гэсэн үгийг тэмдэгтээс их ба түүнээс бага хэмжээгээр оруулаарай.

// Тэмдэгтүүдийг LCD дэлгэц рүү гүйлгэхийн тулд ноорог зурна уу

#include // Энд юу хэрэгтэй байгаа тухай текст доторх тэмдэглэлийг үзнэ үү, өөрөөр хэлбэл LiquidCrystal.h

// тэмдэгээс их ба түүнээс бага

// Энэ сайт нь ихэвчлэн тэмдэгтээс их ба түүнээс бага тэмдэг, тэдгээрийн хоорондох текстийг устгадаг

// LiquidCrystal (rs, идэвхжүүлэх, d4, d5, d6, d7)

LiquidCrystal lcd (12, 11, 5, 4, 3, 2);

// lcd -ийг LiquidCrystal объект болгон зарлах

int i = 0;

int j = 0;

int k = 0;

int delayTime2 = 350; // Ээлжийн хоорондох саатал

void scrollInFromRight (int line, char str1 ) {

// Бичсэн Р. Жордан Крейндлер 2016 оны 6 -р сар

i = strlen (str1);

for (j = 16; j> = 0; j--) {

lcd.setCursor (0, мөр);

for (k = 0; k <= 15; k ++) {

lcd.print (""); // Цэвэр мөр

}

lcd.setCursor (j, шугам);

lcd.хэвлэх (str1);

саатал (delayTime2);

}

}

void scrollInFromLeft (int line, char str1 ) {

// Бичсэн Р. Жордан Крейндлер 2016 оны 6 -р сар

i = 40 - strlen (str1);

мөр = мөр - 1;

for (j = i; j <= i+16; j ++) {

for (k = 0; k <= 15; k ++) {

lcd.print (""); // Цэвэр мөр

}

lcd.setCursor (j, шугам);

lcd.хэвлэх (str1);

саатал (delayTime2);

}

}

хүчингүй тохиргоо () {

Цуваа эхлэх (9600);

Serial.println ("Туршилтыг эхлүүлж байна …");

lcd.begin (16, 2);

lcd.clear ();

lcd.print ("Зөвхөн туршилт");

}

void loop () {

lcd.clear ();

scrollInFromRight (0, "Баруун талаас Line1");

scrollInFromRight (1, "Баруун талаас Line2");

lcd.clear ();

scrollInFromLeft (0, "Зүүн талаас Line1");

scrollInFromLeft (1, "Зүүн талаас Line2");

lcd.clear ();

scrollInFromRight (0, "Баруун талаас Line1");

scrollInFromLeft (1, "Зүүн талаас Line2");

lcd.clear ();

}

LCD дэлгэц рүү гүйлгэх шугамыг удирдахын тулд scrollInFromRight (текстийг харуулах мөр, гүйлгэх мөр) ба scrollInFromLeft (текстийг харуулах мөр, гүйлгэх мөр) гэсэн хоёр функцийг ноорог дээрээ шилжүүлж болно. Эдгээр функцууд нь шинэ текстийг дэлгэц рүү шилжүүлэх гайхалтай арга юм.

"Ганц LCD шугамыг зүүн эсвэл баруун тийш гүйлгэх, яаж хийх вэ" гэсэн зааварт багтсан ноорог дээрх хоёр функцтэй хослуулсан тохиолдолд дөрвөн функц нь текстийг LCD дэлгэц дээр гүйлгэх, унтраах гоёмсог аргуудыг өгдөг. Эдгээр функцууд нь текстийг нэг мөрөөр гүйлгэх боломжийг олгодог бөгөөд scrollDisplayLeft () болон scrollDisplayRight () функцүүдийн адил дэлгэцийг бүхэлд нь гүйлгэх шаардлагагүй болно.

Энэхүү гүйлгэх чадвар нь дэлгэцийг ихэвчлэн харуулах чадвартай шугамыг илүү урт хугацаанд харуулах боломжийг олгодог. Өөрөөр хэлбэл, 1602 дэлгэцийн хувьд бид нэг мөрөнд 16 тэмдэгтээр хязгаарлагдахгүй (хэдийгээр нэг удаад зөвхөн 16 харуулах болно), 2004 онд нэг мөрөнд 20 тэмдэгтээр хязгаарлагдахгүй.

Үүний хажуугаар та гүйлтийн хоорондох дэлгэцийн хугацааг өөрийн хэрэгцээнд нийцүүлэн тохируулахыг хүсч магадгүй юм.

Алхам 4: Дараа нь

Энэ бол бүх зүйл юм. Эдгээр функцууд болон миний өмнөх зааварчилгааны хоёр функцийг LCD ашиглан текстийг харуулсан зураг дээр нэмж болно. Өмнө дурьдсанчлан, урт шугам ашиглах чадвар нь гүйлгэх замаар ашиглах боломжтой давуу тал юм.

Хэрэв та надтай ямар нэгэн асуулт эсвэл нэмэлт мэдээлэл авахыг хүсвэл, эсвэл танилцуулсан чиглэлээр мэдлэгээ өргөжүүлэхийг хүсч байвал надтай [email protected] хаягаар холбоо барьж болно. (надтай холбогдохын тулд хоёр дахь 'i' -г 'e' гэж орлуулна уу.

Зөвлөмж болгож буй: