Мазмұны:

Arduino Nano үшін LCD COG: 3 қадам
Arduino Nano үшін LCD COG: 3 қадам

Бейне: Arduino Nano үшін LCD COG: 3 қадам

Бейне: Arduino Nano үшін LCD COG: 3 қадам
Бейне: Текстовые LCD дисплей на контроллере HD44780, Уроки Arduino 2024, Қараша
Anonim
Arduino Nano үшін LCD COG
Arduino Nano үшін LCD COG

Бұл нұсқаулық COG LCD -ді Arduino Nano -мен қалай қолдану керектігін сипаттайды.

COG СК дисплейлері арзан, бірақ интерфейсі сәл қиын. (COG «Chip On Glass» дегенді білдіреді.) Мен қолданатын UC1701 драйвер чипі бар. Ол үшін Arduino-ның тек 4 түйреуі қажет: SPI-сағат, SPI-деректер, чипті таңдау және пәрмен/деректер.

UC1701 SPI шинасымен басқарылады және 3,3 В кернеуде жұмыс істейді.

Мен оны Arduino Nano -мен қалай қолдануға болатынын түсіндіремін. Ол сондай -ақ Arduino Mini немесе Uno -мен жұмыс істеуі керек - мен оны жақын арада сынап көремін.

Бұл менің Arduino -дегі алғашқы жобам, мен ондаған жылдар бойы С жазған жоқпын, сондықтан егер мен қателіктер жіберетін болсам, маған хабарлаңыз.

1 -қадам: аппараттық құралдарды құру

Аппараттық құралдарды құру
Аппараттық құралдарды құру
Аппараттық құралдарды құру
Аппараттық құралдарды құру
Аппараттық құралдарды құру
Аппараттық құралдарды құру

UC1701 чипі бар COG СКД сатып алыңыз. Ол параллель интерфейстен гөрі SPI шинасын қолдануы керек. Оның 14 түйреуіштері болады, олар төменде көрсетілгендей аттармен жазылады. (D0, D1, D2 деп белгіленген басқа түйреуіштері бар параллель интерфейсті қаламайсыз …)

Мен сатып алғаным: https://www.ebay.co.uk/itm/132138390168 Немесе eBay -ден «12864 LCD COG» іздеуге болады.

Іргесі 1,27 мм болатын кең құйрығы бар біреуін таңдаңыз - ұсақ түйреуіштерді дәнекерлеу қиын болады. Оның UC1701 чипі бар екеніне көз жеткізіңіз. Ebay бетіндегі алтыншы суретте «CONNECTOR: COG/UC1701» деп жазылғанына назар аударыңыз.

Дисплей мөлдір, оның алдыңғы және артқы жағын білу қиын. Менің суреттерімді мұқият оқып шығыңыз. 1 және 14 түйреуіштердің қайда орналасқанына назар аударыңыз - олар құйрықта белгіленген.

Иілгіш құйрықты дәнекерлеу өте оңай, бірақ оған адаптер қажет, сондықтан оны нанға қосуға болады. Мен сатып алдым: https://www.ebay.co.uk/itm/132166865767 Немесе eBay -ден «Smd SSOP28 DIP28 адаптері» бойынша іздеуге болады.

Адаптер бір жағында 28 істікшелі SOP чипін немесе екінші жағында 28 істікшелі SSOP чипін алады. SOP чипінде түйреуіштің аралығы 0,05 дюйм (1,27 мм) бар, ол СКД құйрығымен бірдей.

Сондай -ақ, сізге бірнеше түйреуіш түйреуіштер қажет болады. Мен Arduino немесе басқа модульді сатып алған кезде, ол қажет болғаннан көп тақырып түйреуіштерімен бірге келеді, сондықтан сізде қазірдің өзінде бар шығар. Әйтпесе, eBay -ден «2.54 мм үстіңгі түйреуіштер» іздеңіз.

Тақырыптың 14 дәнекері адаптерге бекітіледі. Оларды аяғына дейін итермеңіз - егер адаптердің артқы жағы тегіс болса, жақсы. Ілмектерді тесіктерге тым алыстатпау үшін оны орындыққа тегіс қойыңыз. Ілмектер тақтаның SOP жағында орналасқанына көз жеткізіңіз (яғни үлкен чип).

Құйрықтың жастықшалары терезеде орналасқан. Олардың екі жағын дәнекермен бекітіңіз. Адаптердің жастықшаларын қалыпқа салыңыз. Адаптердің құйрығын орнында ұстаңыз, содан кейін әр төсемді дәнекерлегішпен ұстаңыз (сізге өте жақсы ұш қажет).

Кернеуді жеңілдету үшін адаптердің тесіктерінен жіпті байлаңыз. (Мен «трансформаторлық сымды» қолдандым).

Егер сіз оны дұрыс емес жолмен дәнекерлесеңіз, құйрықты дәнекерлеуге тырыспаңыз. Түйреуіштерді бір -бірлеп шығарып, тақтаның екінші жағына жылжытыңыз. (Иә, мен бұл қатені жіберіп, құйрықты қайта дәнекерледім, сондықтан фотода біраз әбігерлік бар.)

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

Arduino -ға қосылу
Arduino -ға қосылу
Arduino -ға қосылу
Arduino -ға қосылу

Бұл бөлімде Arduino Nano -ға қалай қосылуға болатыны түсіндірілген. Бұл Mini немесе Uno үшін өте ұқсас болады, бірақ мен оны әлі сынап көрмедім.

Электр схемасын зерттеңіз.

USB портына қосылған Arduino Nano 5В кернеуде жұмыс істейді. СКД 3.3В кернеуде жұмыс істейді. Сондықтан сіз СКД -ны нано 3V3 істікшесінен қуаттап, әр басқару түйреуішіндегі кернеуді 5В -тан 3.3В -қа дейін төмендетуіңіз керек.

СКД түйінінің шығысы:

  • 1 CS
  • 2 RST
  • 3 CD
  • 4
  • 5 CLK
  • 6 SDA
  • 7 3V3
  • 8 0 Вт
  • 9 VB0+
  • 10 VB0-
  • 11
  • 12
  • 13
  • 14

CS-бұл чипті таңдау. UC1701 чипін таңдау (қосу) үшін төмен тартылады. (CS CS0 немесе En немесе ұқсас болуы мүмкін.)

RST - қалпына келтіру. Чипті қалпына келтіру үшін ол төмен тартылады. (RST қалпына келтіру деп аталуы мүмкін.)

CD - бұл мәліметтер/командалар. Ол SPI арқылы микросхемаға пәрмендерді жіберу кезінде төмен тартылады. Деректерді жіберу кезінде бұл жоғары. (CD A0 деп аталуы мүмкін.)

CLK және SDA - бұл SPI шиналары. (SDA SPI-деректер деп аталуы мүмкін. CLK SCL немесе SPI-Clock болуы мүмкін.)

VB0+ және VB0- UC1701 ішкі зарядтау сорғысымен қолданылады. Зарядтау сорғысы СКД -ге қажет тақ кернеулерді шығарады. VB0+ және VB0- арасындағы 100n конденсаторды қосыңыз. UC1701 құжаттамасы 2uF ұсынады, бірақ мен осы СКД -мен айырмашылықты көре алмадым.

Егер сіздің СКД VB1+ және VB1 түйреуіштері болса, олардың арасына 100n конденсаторды қосыңыз. (Егер сіздің СКД -де VLCD түйреуіші болса, VLCD мен Gnd арасындағы 100n конденсаторды қосуға тырысуға болады. Бұл менің СКД -мен еш айырмашылығы жоқ.)

СКД -ны наноға келесі түрде қосыңыз:

  • 1 CS = D10 *
  • 2 RST = D6 *
  • 3 CD = D7 *
  • 5 CLK = D13 *
  • 6 SDA = D11 *
  • 7 3V3 = 3V3
  • 8 0В = Gnd

(«*» - кернеуді төмендету үшін потенциалды бөлгішті пайдалану дегенді білдіреді. Егер Arduino 3V3 -те тәуелсіз қоректену көзінен жұмыс істесе, сізге резистор қажет болмайды.)

3.3В нано шығарады және СКД үшін жеткілікті токты қамтамасыз ете алады. (Дисплей шамамен 250uA құрайды.)

5V сонымен қатар нано шығарады және оны артқы жарығын қосу үшін пайдалануға болады. 100 Ом резистормен артқы жарыққа ток шектеңіз.

Егер Nano -да түйреуіштер жетіспесе, сіз RST -ті 3V3 -ке қосуға болады - онда сіз D6 -ды басқа нәрсе үшін пайдалана аласыз. U1701 бағдарламалық жасақтамада SPI пәрмені бойынша қалпына келтірілуі мүмкін. Мен бұған ешқашан қиындық көрген емеспін, бірақ егер сіз өзіңіздің схемаңызды шулы ортада қолдансаңыз, аппараттық құралдарды қалпына келтіруді қолданған дұрыс болар.

3 -қадам: Бағдарламалық қамтамасыз ету

Бағдарламалық қамтамасыз ету
Бағдарламалық қамтамасыз ету

Теория бойынша, UC1701 U8g2 кітапханасынан (немесе Ucglib немесе қол жетімді басқа кітапханалардан) басқаруға болады. Мен оны іске қосу үшін бірнеше күн күресіп, сәтсіздікке ұшырадым. U8g2 кітапханасы - бұл құбыжық, себебі ол көптеген чиптерді басқара алады және кодты орындау өте қиын. Мен бас тарттым және өзімнің шағын кітапханамды жаздым. Ол Arduino -да әлдеқайда аз орын алады (шамамен 3400 байт плюс қаріптер).

Сіз менің кітапханамды осы жерден жүктей аласыз (осы беттегі Жүктеу түймесі). Үлгі эскизі мен пайдаланушы нұсқаулығы қоса берілген. Https://www.arduino.cc/kz/Guide/Libraries веб -беті кітапхананы импорттауды сипаттайды; «.zip кітапханасын импорттау» бөліміне өтіңіз.

СКД көмегімен инициализациялаңыз

UC1701Begin ();

UC1701Begin түйреуіштерді өзгерту немесе RST түйреуішін елемеу үшін параметрлерді қабылдай алады. Кітапхана тек SPI аппараттық құралдарын пайдаланады (SPI бағдарламалық қамтамасыз етілмеген). Дисплейді x және y осьтерінде айналдыруға болады. Егер сіз СКД -ны басқа бағытта орнатқыңыз келсе, бұл пайдалы.

U8g2 кітапханасынан бірнеше процедуралар көшірілді:

  • DrawLine
  • DrawPixel
  • DrawHLine
  • DrawVLine
  • DrawBox
  • DrawFrame
  • DrawCircle
  • DrawDisc
  • DrawFilledEllipse
  • DrawEllipse
  • DrawTriangle
  • UC1701 SetCursor
  • UC1701ClearDisplay

Кейбір процедуралар сәл өзгеше:

  • DrawChar жарамсыз (uint8_t c, қаріп сөзі);
  • DrawString жарамсыз (char * s, қаріп сөзі);
  • DrawInt жарамсыз (int i, қаріп сөзі);

Жолды салу процедуралары қаріп индексінен өтеді. Қаріптер Arduino флэш -жадында жарияланады, сондықтан олар қымбат SRAM -ды алмайды. Үш қаріп ұсынылады (кіші, орташа және үлкен). Олар флеш -жадымен ғана байланысады және оны пайдаланады (әрқайсысы шамамен 500-2000 байт).

«Түс» U8g2 кітапханасынан өзгеше өңделеді. СКД тазартылған кезде оның түсі күңгірт болады. Егер MakeMark (жаһандық айнымалы) ақиқат болса, сурет ақ түспен орындалады. Егер MakeMark жалған болса, сурет қараңғыда жасалады.

Кейбір процедуралар UC1701 -ге тән:

SetInverted ақ-қарадан гөрі ақ-қара түске сурет салады.

void SetInverted (bool inv);

UC1701 жарықтығы мен контрастын келесідей орнатады:

  • жарамсыз SetContrast (uint8_t мәні); // ұсынылған - 14
  • жарамсыз SetResistor (uint8_t мәні); // ұсынылған - 7

Олар бірігіп қанағаттанарлықсыз жұмыс жасайды.

SetEnabled СКД өшіреді:

void SetEnabled (bool en);

Ұйықтау кезінде дисплей 4uA қабылдайды. Сондай -ақ, артқы жарығын өшіру керек - оны нано түйреуішінен шығарыңыз. Қайта қосқаннан кейін UC1701 қалпына келтіріледі; дисплей тазаланады және Контраст пен Резистор әдепкі мәндеріне қайтарылады.

Қорытындылай келе, COG дисплейлері арзан және лайықты мөлшерде. Оларды Arduino -ға қосу оңай.

Ұсынылған: