Мазмұны:

Nokia 5110 Lcd -тегі Arduino мәзірі айналмалы кодер көмегімен: 6 қадам (суреттермен)
Nokia 5110 Lcd -тегі Arduino мәзірі айналмалы кодер көмегімен: 6 қадам (суреттермен)

Бейне: Nokia 5110 Lcd -тегі Arduino мәзірі айналмалы кодер көмегімен: 6 қадам (суреттермен)

Бейне: Nokia 5110 Lcd -тегі Arduino мәзірі айналмалы кодер көмегімен: 6 қадам (суреттермен)
Бейне: NOKIA 5110. Работа с графическим дисплеем 2024, Қараша
Anonim
Image
Image
Nokia 5110 Lcd құрылғысында Arduino мәзірі айналмалы кодер көмегімен
Nokia 5110 Lcd құрылғысында Arduino мәзірі айналмалы кодер көмегімен

Құрметті достар, басқа оқулыққа қош келдіңіздер! Бұл видеода біз Nokia 5110 әйгілі LCD дисплейі үшін өз мәзірімізді қалай құруға болатынын білеміз, бұл біздің жобаларды пайдаланушыларға ыңғайлы және қабілетті ету үшін. Бастайық!

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

Енді бұл жобаны қалай құруға болатынын қарастырайық.

1 -қадам: барлық бөлшектерді алыңыз

Барлық бөлшектерді алыңыз
Барлық бөлшектерді алыңыз

Бұл жобаны құру үшін келесі бөліктер қажет:

  • Arduino Uno ▶
  • Nokia 5110 LCD дисплейі ▶
  • Айналмалы кодер ▶
  • Кішкене нан тақтасы ▶
  • Кейбір сымдар ▶
  • Power Bank ▶

Жобаның құны өте төмен, ол 10 доллардан төмен. Мен қолданатын барлық бөліктерге сілтемелерді төмендегі бейненің сипаттамасынан таба аласыз.

2 -қадам: Nokia 5110 LCD дисплейі

Image
Image
Жобаны құру
Жобаны құру

Nokia 5110 - бұл менің Arduino жобаларымның сүйікті дисплейі.

Nokia 5110 - бұл бастапқыда ұялы телефон экраны ретінде жасалған негізгі графикалық СКД экраны. Ол төмен қуатты CMOS СКД контроллері/драйвері болып табылатын PCD8544 контроллерін пайдаланады. Осының арқасында бұл дисплей қуатты әсер етеді. Ол қосылған кезде тек 0,4 мА пайдаланады, бірақ артқы жарық өшірулі. Ұйқы режимінде ол 0,06 мА -дан аз пайдаланады! Бұл дисплей менің сүйікті болуымның бір себебі. PCD8544 микроконтроллерлерге сериялық шина интерфейсі арқылы қосылады. Бұл дисплейді Arduino -мен қолдануды жеңілдетеді. Сізге тек 8 сымды қосу қажет.

Мен Nokia 5110 LCD дисплейін Arduino -мен қалай қолдану туралы егжей -тегжейлі оқулықты дайындадым. Мен бұл бейнені нұсқаулыққа тіркедім, ол дисплей туралы пайдалы ақпарат береді, сондықтан оны мұқият қарауға шақырамын. Дисплейдің бағасы шамамен 4 доллар.

Сіз оны мына жерден ала аласыз: ▶

3 -қадам: Айналмалы кодер

Image
Image

Айналмалы кодер-білік кодері деп те аталады-біліктің немесе осьтің бұрыштық орнын немесе қозғалысын аналогтық немесе цифрлық кодқа түрлендіретін электр механикалық құрылғы. Ротационды кодерлер біліктің шексіз айналуын қажет ететін көптеген қосымшаларда қолданылады, соның ішінде өнеркәсіптік басқару элементтері, робототехника, арнайы мақсаттағы фотографиялық линзалар, компьютерді енгізу құрылғылары (оптмеханикалық тышқандар мен трек добы сияқты), басқарылатын кернеу реометрлері және радарлы платформалар.

Біз бұл жобада қолданатын айналмалы кодер - бұл өте арзан кодер. Ол сонымен қатар ендірілген түйме бар және оны жұмыс істеу үшін бізге тек 5 сымды қосу керек. Мен айналмалы кодерді пайдалану туралы егжей -тегжейлі оқулықты дайындадым. Сіз бұл бейнені осы жерден таба аласыз.

Бұл айналмалы кодердің құны өте төмен. Ол шамамен 1,5 доллар тұрады.

Сіз оны мына жерден ала аласыз ▶

4 -қадам: Жобаны құру

Image
Image
Жобаны құру
Жобаны құру
Жобаны құру
Жобаны құру

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

Мен дисплейді осындай кішкене тақтаға қойдым. Алдымен дисплейді қосамыз. Дисплейдің бірінші түйреуіші - Arduino Uno цифрлық түйреуішіне 3, екінші істікшеге цифрлық түйреуге 4, үшінші түйреуге цифрлық істікке 5, төртінші түйрегішке цифрлық істікке 11 және бесінші цифрлыққа ауысады. түйреуіш 13. Келесі түйреуіш Vcc. Біз Vcc -ті нан тақтасының оң рельсіне, ал тақтаның оң рельсін Arduino -ның 3,3 В шығысына қосамыз. Келесі түйін - дисплейдің артқы жарығы. Біз оны бағдарламалық қамтамасыз ету арқылы басқарғымыз келетіндіктен, оны сандық 7 -пинге қосамыз. Соңғы түйін - GND. Біз GND -ді нан тақтасының теріс рельсіне, ал теріс тақтаның теріс релесін Arduino GND -ге қосамыз.

Енді бізге айналмалы кодерді қосу ғана қалады. Бірінші түйреуіш GND болып табылады және біз оны тақтаның теріс рельсіне қосамыз. Келесі түйреуіш Vcc болып табылады және біз оны тақтаның оң рельсіне қосамыз. Келесі түйреуіш - бұл SW және біз оны 2 -ші аналогтық істікшеге қосамыз. Келесі түйін DT деп аталады және біз оны 1 -ші аналогтық түйреуге қосамыз. Соңында CLK түйрегіші 0 аналогтық түйреуішке қосылады. Бұл жобаның схемасын мына жерден табуға болады. төмендегі бейненің сипаттамасы.

Енді біз жобаны іске қосуға дайынбыз. Көріп отырғаныңыздай, жоба жақсы жұмыс істейді, ал мәзір күткендей жұмыс істейді! Тамаша, енді жобаның бағдарламалық жасақтамасын көрейік.

5 -қадам: Жобаның коды

Жобаның кодексі
Жобаның кодексі

Бұл жобада біз 4 кітапхананы қолданамыз. Біз дисплей үшін екі кітапхананы, ал айналмалы кодер үшін екі кітапхананы қолданамыз.

  1. Adafruit GFX:
  2. Nokia 5110:
  3. Кодтаушы кітапханасы:
  4. TimerOne кітапханасы:

Алдымен біз drawMenu функциясын қарастырамыз. Бұл функция дисплейде Мәзірді құруға жауап береді. Бұл функция әр миллисекунд сайын аталады, сондықтан мәзірде өзгеріс болса, бұл функция экрандағы мәзірді жаңартуға жауап береді.

int menuitem = 1; int кадр = 1; int бет = 1; int lastMenuItem = 1;

Сонымен қатар 3 өте маңызды жаһандық айнымалылар бар, айнымалы бет, айнымалы меню мен айнымалы кадр. Айнымалы бет экранда қандай UI экраны көрсетілетінін еске түсіреді. Сонымен, егер бет айнымалысы 1 болса, біз негізгі UI экранында, ал егер айнымалы 2 болса, біз қайталама интерфейс экранында боламыз, онда біз айнымалы мәнді орнатамыз. Мәзір элементі таңдалған мәзір элементін еске түсіреді. Сонымен, егер оның мәні 1 болса, мәзірдің бірінші пункті таңдалады, сондықтан drawMenu функциясы бұл мәзір элементін ақ әріптермен қара етіп салу керек. Егер мәзір элементі 2 болса, мәзірдің екінші элементі таңдалады және т.б. Кадрлық айнымалы, экранда мәзірдің қай бөлігі көрсетілетінін еске түсіреді. Біз жасаған мәзір 6 элементтен тұрады және біз олардың бір уақытта тек 3 -ін көрсете алатындықтан, экранда қандай элементтер көрсетілетінін білуіміз керек. Frame айнымалысы бізге дәл осылай айтады. Егер кадр айнымалысы 1 мәніне ие болса, біз мәзірдің алғашқы үш тармағын көрсетеміз, егер ол 2 болса, біз 2, 3, 4 элементтерді және т.б.

Мен кодты өзгертуді мүмкіндігінше жеңілдетуге тырыстым, сондықтан мәзір элементтерінің аттарын ұстайтын кейбір жаһандық айнымалылар құрдым. Осылайша, сіз өзіңіздің мәзіріңізді кодты іздемей -ақ оңай жасай аласыз.

String menuItem1 = «Contrast»; String menuItem2 = «Volume»; String menuItem3 = «Тіл»; String menuItem4 = «Қиындық»; String menuItem5 = «Light: ON»; String menuItem6 = «Қалпына келтіру»;

логикалық артқы жарық = ақиқат;

int контраст = 60; int көлемі = 50;

Жол тілі [3] = {«EN», «ES», «EL»};

int selectedLanguage = 0;

Жолдың қиындығы [2] = {«EASY», «HARD»};

int selectedDifficulty = 0;

Алдымен біз кодқа қажет барлық жаһандық айнымалыларды инициализациялаймыз. Содан кейін біз дисплейді инициализациялаймыз. Цикл функциясында алдымен экрандағы мәзірді салу үшін drawMenu функциясын шақырамыз. Содан кейін біз айналмалы кодерден мәнді оқимыз және түйменің басылғанын тексереміз. Мысалы, егер біз негізгі интерфейс экранында болсақ және мәзірдің бірінші пункті таңдалса, егер айналмалы кодердің мәні жоғарыласа, менюдің айнымалы мәні жоғарылайды, ал келесі циклде drawMenu функциясы мәзірдің екінші элементін таңдалғандай салады. Егер біз енді айналмалы кодердің батырмасын басатын болсақ, біз екінші бетке өтеміз, онда біз айнымалы мәнді орнатамыз. Айналмалы кодерді қолдана отырып, біз айнымалы мәнді көбейте немесе төмендете аламыз. Егер біз түймені бассақ, менюдің негізгі бетіне қайтамыз, ал бет айнымалысы төмендейді.

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

6 -қадам: Жобаны тексеру

Жобаны тестілеу
Жобаны тестілеу

Егер біз кодты жүктесек, онда жоба күткендей жұмыс істейтінін көреміз. Біз білікті пайдаланып мәзірді жоғары және төмен жылжытамыз және айналмалы кодер батырмасын басу арқылы кез келген мәзір элементін таңдай аламыз. Бұл қандай керемет!

Енді Nokia 5110 СК дисплейлеріне мәзір құруды білетін болсақ, біз өз жобаларымызға қосымша мүмкіндіктер қосамыз және оларды пайдаланушыларға ыңғайлы ете аламыз. Бүгін біз жасаған қарапайым мәзірді жақсартуға болады. Біз түйменің күйін үнемі тексерудің орнына үзілістерді қолдана аламыз. Осылайша біз жобаның энергия шығынын азайтып, кодты тазартуға болады. Мен жақын арада үзіліс туралы видео дайындаймын, сондықтан күтіңіз. Бұл мәзір жобасы туралы сіздің пікіріңізді білгім келеді. Сіз оны пайдалы деп санайсыз ба және кез келген жобаңызда мәзірді қолдануды жоспарлап отырсыз ба? Өз ойларыңыз бен идеяларыңызды төменге жазыңыз, рахмет!

Ұсынылған: