Мазмұны:

Жалғыз СКД желісін айналдыру: 4 қадам (суреттермен)
Жалғыз СКД желісін айналдыру: 4 қадам (суреттермен)

Бейне: Жалғыз СКД желісін айналдыру: 4 қадам (суреттермен)

Бейне: Жалғыз СКД желісін айналдыру: 4 қадам (суреттермен)
Бейне: GANTI INI AJA !! PERBAIKI TV LCD LED SHARP MATI TOTAL || FIX SHARP TV TOTALLY OFF 2024, Шілде
Anonim
Image
Image

Сұйық кристалды кітапханада scrollDisplayLeft () және scrollDisplayRight () екі пайдалы функциясы бар. Бұл функциялар бүкіл дисплейді айналдырады. Яғни, олар 1602 СКД -да екі жолды да, 2004 жылғы СКД барлық төрт жолды айналдырады. Бізге жиі қажет нәрсе - бұл бүкіл дисплейді айналдырмай, осы дисплейлерге бір жолды айналдыру мүмкіндігі.

Бұл нұсқаулық қосымша екі функцияны ұсынады: scrollInFromRight (мәтінді көрсететін жол, айналдырылатын жол) және scrollInFromLeft (мәтінді көрсететін жол, айналдырылатын жол). Сұйық кристалды экранға сызықтарды айналдыратын бұл екі функция, мен ұсынған бұрынғы нұсқаулықтан scrollLineRight (мәтінді көрсетуге арналған жол, айналдыру керек жол) және scrollLineLeft (мәтінді көрсетуге арналған жол, айналдырылатын жол). жолдарды экраннан жылжыту функциялары СКД экранында мәтінді қалай ұсынуға немесе алып тастауға болатынын басқарудың бірнеше қуатты әдістерін береді.

1 -қадам: не қажет

Кездесу
Кездесу

- 1602 немесе 2004 ЖК дербес дисплейі немесе СКД қалқаны

- 2004 жылғы СКД дисплейді қолдану туралы төмендегі ескертпеге қараңыз

- Arduino UNO R3 немесе клон

- Arduino -ны компьютерге қосуға арналған USB кабелі

- Жартылай өлшемді, 400 байлау нүктесі, нан тақтасы

- Arduino IDE

- Эксперименттік платформа (міндетті емес, бірақ пайдалы)

Қажетті элементтер - бұл 1602 немесе 2004 СКД экраны [егер 2004 қолданылса, lcd.begin () функциясын өзгерту арқылы оң жақтан жылжу еш қиындықсыз жұмыс істейді, сіз қазір 20 таңбалы x 4 жолын қолданасыз. көрсету. [2004 жылғы дисплей арқылы солға жылжу үшін, crollInFromLeft () функциясының кодын қайта жазу қажет]. СКД -ден басқа сізге Arduino UNO немесе клоны, Arduino IDE және Arduino -ны компьютерге қосу үшін USB кабелі қажет болады.

Мұнда көрсетілген СКД орнына СКД қалқаны қолдануға болады. Егер бұлай болса, төмендегі эскиздегі СКД үшін түйреуіштердің тағайындауларын өзгерту қажет болады.

- 1602 дербес СКД дисплейі үшін мен эскиздерде келесі түйреуіштерді қолдандым:

// LiquidCrystal (rs, қосу, d4, d5, d6, d7)

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

және LiquidCrystal.h Liquid Crystal кітапханасын қамтыды.

- СКД экраны үшін мен эскиздерде келесі түйреуіштерді қолданамын, сонымен қатар LiquidCrystal.h Сұйық кристалды кітапханасын қосамын.

// LiquidCrystal (rs, қосу, d4, d5, d6, d7)

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

Кез келген бағыт кодты осында қолданады, яғни СКД қалқаны немесе дербес СКД. Бұл нұсқаулықта 1602 автономды СКД дисплейі қолданылды, бірақ, егер әр түрлі түйреуіштердің тағайындалуы ескерілсе, 1602 қалқанын қолдануға болады.

Мен Arduino UNO-ны жартылай өлшемді, 400 байлау нүктесіне, нан тақтасына қосу үшін «тәжірибелік платформаны» қолдандым. («Arduino UNO R3 үшін эксперименттік платформа, оны пайдалануға қалай дайындау керек» деген нұсқаулықты қараңыз). Алайда, эксперименталды платформа қажет емес, дегенмен мен үшін бұл СК -ны БҰҰ -ға қосуды әлдеқайда жеңіл әрі жылдам етеді.

СКД -ны БҰҰ -ға қосу үшін қолданған тапсырмаларды жоғарыда көруге болады.

2 -қадам: қосылу

СКД тақтаға қосылады, содан кейін жалғау сымдары нан тақтасынан Arduino -дегі тиісті түйреуіштерге қосылады (егер мен қолданған қосылымдар бойынша сұрақтарыңыз болса, 2 -қадамды қараңыз).

Мен бұл жоба үшін қалқаннан гөрі автономды СКД -ны таңдадым, себебі бұл маған қанағаттандырарлық болды және маған қандай түйреуіштер бар екенін оңай көруге мүмкіндік берді. Бұл сонымен қатар бұрағышпен реттелетін қалқанның потенциометріне емес, тұтқасы бар потенциометрді пайдалануға мүмкіндік береді.

Автономды СКД бөлек 10к Ом потенциометрді қолдануды талап етеді. Жоғарыда айтылғандай, мен тазартқышы үшінші СКД түйреуішіне қосылған тұтқасы бар біреуді қолдандым (СКД түйреуіштері сізге қараған кезде оң жақтан санау). Потенциометр СКД контрастын бақылау үшін қолданылады. Қосылымдар 1602 және 2004 жылдар үшін бірдей. Алайда, lcd.begin (16, 2) мәлімдемесін сызбада lcd.begin (20, 4) деп өзгерту керек, бұл біздің СКД 16 -дан өзгергенін көрсету үшін. екі жолдан тұратын таңба 20 таңбадан төрт жолға дейін.

Қосылған фотосуреттерге шолу мен қолданған қосылымды, соның ішінде эксперименттік платформаны және 10к потенциометрді көрсетеді.

3 -қадам: Эскиз

Эскиз
Эскиз
Эскиз
Эскиз
Эскиз
Эскиз

Қосылған нобайды Arduino IDE -ге енгізіңіз. Нұсқаулық сайт жиі белгілер мен олардың арасындағы үлкенді және кішіні алып тастайтынын есте сақтаңыз. Осылайша, #include LiquidCrystal.h мәтінін енгізіп, LiquidCrystal.h сөздерін таңбадан үлкен және кіші етіп енгізіңіз.

// СКД экранына таңбаларды жылжыту үшін эскиз

#қосу // Мәтіннен мұнда не қажет екенін қараңыз, яғни ішіне 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; // Ауысулар арасындағы кідіріс

жарамсыз scrollInFromRight (int line, char str1 ) {

// Жазған Р. Джордан Крейндлер, маусым 2016 ж

i = strlen (str1);

үшін (j = 16; j> = 0; j--) {

lcd.setCursor (0, жол);

үшін (k = 0; k <= 15; k ++) {

lcd.print («»); // Сызықты тазалау

}

lcd.setCursor (j, жол);

lcd.print (str1);

кешіктіру (delayTime2);

}

}

жарамсыз scrollInFromLeft (int line, char str1 ) {

// Жазған Р. Джордан Крейндлер, маусым 2016 ж

i = 40 - стрлен (str1);

жол = жол - 1;

үшін (j = i; j <= i+16; j ++) {

үшін (k = 0; k <= 15; k ++) {

lcd.print («»); // Сызықты тазалау

}

lcd.setCursor (j, жол);

lcd.print (str1);

кешіктіру (delayTime2);

}

}

жарамсыз орнату () {

Serial.begin (9600);

Serial.println («Бастапқы тест…»);

lcd.begin (16, 2);

lcd.clear ();

lcd.print («Тек тест»);

}

void loop () {

lcd.clear ();

scrollInFromRight (0, «Оң жақтан 1 -жол»);

scrollInFromRight (1, «Оң жақтан 2 -жол»);

lcd.clear ();

scrollInFromLeft (0, «Сол жақтан 1 -жол»);

scrollInFromLeft (1, «Сол жақтан 2 -жол.»);

lcd.clear ();

scrollInFromRight (0, «Оң жақтан 1 -жол»);

scrollInFromLeft (1, «Сол жақтан 2 -жол»);

lcd.clear ();

}

Екі функция: scrollInFromRight (мәтінді көрсететін жол, айналдырылатын жол) және scrollInFromLeft (мәтінді көрсететін жол, айналдырылатын жол) СКД экранына өтетін сызықтарды басқару үшін нобайға жылжытылуы мүмкін. Бұл функциялар экранға жаңа мәтінді жылжытудың тамаша әдісін ұсынады.

Нұсқаулықтағы «Жалғыз СКД желісін солға немесе оңға қарай жылжыту» нұсқаулығындағы екі функциямен біріктірілгенде, төрт функция СКД дисплейіне мәтінді жылжытудың тамаша әдістерін ұсынады. Бұл функциялар мәтінді бір жолға жылжытуға мүмкіндік береді және scrollDisplayLeft () және scrollDisplayRight () функциялары сияқты бүкіл дисплейді айналдыруды қажет етпейді.

Бұл айналдыру мүмкіндігі бізге дисплей әдетте көрсете алатын ұзынырақ сызықтарды ұсынуға мүмкіндік береді. Яғни, 1602 дисплейі үшін біз бір жолға тек 16 таңбамен шектелмейміз (бірақ бір уақытта тек 16 көрсететін болады), ал 2004 жылы біз әр жолға 20 таңбамен шектелмегенбіз.

Сонымен қатар, айналдыру арасындағы көрсету уақытын сіздің қажеттіліктеріңізге сәйкес келтіргіңіз келуі мүмкін.

4 -қадам: Кейін

Бар болғаны осы. Бұл функцияларды және менің алдыңғы нұсқаулығымның екеуін СКД қолданатын және мәтінді көрсететін кез келген нобайға қосуға болады. Жоғарыда айтылғандай, ұзын сызықтарды пайдалану мүмкіндігі - бұл айналдыруды қолдану арқылы мүмкін болатын нақты артықшылық.

Егер сіз маған қандай да бір сұрақтар бойынша немесе қосымша ақпарат алу үшін хабарласқыңыз келсе немесе ұсынылған саладағы білімімді кеңейткіңіз келсе, маған [email protected] электронды поштасы бойынша хабарласа аласыз. (менімен байланысу үшін екінші 'i' белгісін 'e' әрпіне ауыстырыңыз.

Ұсынылған: