Una Рашэнне можа стаць ВК-экранам для тых праектаў, у якіх вам трэба адлюстраваць інфармацыю без неабходнасці залежаць ад пастаянна падлучанага кампутара. Гэта значыць, у праекце Arduino / Raspberry Pi вы можаце выкарыстоўваць паслядоўны порт для перадачы інфармацыі, якая адлюстроўваецца на экране, каб атрымаць паказанні датчыкаў, паказаць графік, рахункі і г.д. Але калі ваш праект пастаянна працуе ці далёка ад таго месца, дзе вы можаце мець камп'ютэр, ВК-экран - ваша выратаванне.
Напрыклад, уявіце, што вы ўсталёўваеце аўтаматызаваную ірыгацыйную сістэму і хацелі б праверыць паказчыкі вільготнасці і тэмпературы, калі ідзяце ў свой агарод або сад. Прымаць камп'ютэр для падлучэння платы Arduino да ПК не з'яўляецца практычным рашэннем. У гэтым выпадку вы можаце змяніць свой код так, каб сказаў інфармацыя адлюстроўваецца на ВК-экране і нават дадаць некалькі клавіш або кнопак, каб мець магчымасць паказваць розную інфармацыю.
Індэкс
Што такое ВК-панэль?
Вадкакрышталічны дысплей альбо LCD (Liquid Crystal Display) Гэта свайго роду тонкая плоская панэль, якая можа адлюстроўваць выявы. Кожная панэль складаецца з пэўнай колькасці каляровых альбо манахромных пікселяў, якія размешчаны перад крыніцай святла. Іх спажыванне нізкае, таму яны ідэальна падыходзяць для гэтага тыпу самаробных праектаў электронікі з невялікай магутнасцю.
Кожны піксель на ВК-экране складаецца з пласта малекул, размешчаных паміж двума празрыстымі электродамі, і двух палярызацыйных фільтраў. Паміж палярызацыйных фільтраў ёсць вадкакрышталічны дысплей, адсюль і яго назва, і перашкаджае святлу, якое праходзіць праз першы фільтр, перакрывацца другім.
Акрамя таго, калі вы заўважылі, пры дакрананні да аднаго з гэтых экранаў малюнак дэфармуецца і пры націсканні з'яўляецца нейкая чорная пляма, гэта значыць таму, што вы аказваеце ціск на вадкі крышталь, і рабіць гэта немэтазгодна ... У выніку вы можаце атрымаць колер экрана больш нізкай якасці, нераўнамернае размеркаванне асвятлення ці нават мёртвыя пікселі (чорныя плямы або вобласці на экране, якія не знікаюць).
ВК-экраны для Arduino і Raspberry Pi
ВК-экран, напрыклад модулі, якія існуюць для электронікі альбо для Arduino, звычайна мае некалькі слупкоў для адлюстравання літарна-лічбавых знакаў альбо сімвалаў і адзін ці два радкі для адлюстравання інфармацыі. Гэта робіць іх значна цікавейшымі, чым сямісегментны дысплей, які павінен быў бы злучыць некалькі штыфтоў, каб мець магчымасць адлюстроўваць толькі адну лічбу, сімвал ці літару. Калі вы хочаце паказаць больш, вам трэба размясціць некалькі дысплеяў.
Замест гэтага на адным ВК-экране вы можаце адлюстраваць значна больш інфармацыі. Але вы павінны добра ведаць распіноўку гэтага тыпу модуляў, каб правільна іх злучыць. Я рэкамендую вам заўсёды бачыць табліца дадзеных канкрэтнага вытворцы і мадэлі што ў вас ёсць, бо яны могуць адрознівацца.
Напрыклад, Вы можаце купіць гэты ў Adafruit на Amazon, які з'яўляецца адным з самых папулярных сярод клавіятуры і змяшчае магчымасць адлюстравання да 16 сімвалаў у кожным з двух радкоў. А ёсць нават 20 × 4, альбо нешта больш прасунутае іШматдюймовы колер для адлюстравання больш складаных малюнкаў.
Для ВК-экрана Adafruit 16 × 2 вы можаце ўбачыць гэтую інфармацыю...
Для ардуіна можа быць, такі больш просты, як той, лепш ВК-экран 16x2 без клавіятуры. Калі вы паглядзіце на гэтую дошку, яна мае 16 кантактаў на задняй панэлі. Калі ўзяць дошку і перавярнуць яе дагары нагамі і паглядзець на яе штыфты злева направа, у вас атрымаецца распіноўка:
- Штыфт 16: GND для падсвятлення
- Выснова 15: Vcc для падсвятлення
- Пін 7-14: 8-бітны (наступныя 8 кантактаў) для перадачы інфармацыі, якая будзе адлюстроўвацца на экране
- Выснова 6: сінхранізацыя чытання і запісу
- Штыфт 5. R / W (запіс і чытанне для дадзеных і каманд)
- Выснова 4: RS (селектар паміж камандамі і дадзенымі)
- Выснова 3: кіраванне кантраснасцю
- Штыфт 2: Vcc 5v для магутнасці
- Штыфт 1: GND (0v) для харчавання
Памятаеце, што калі вы ўсталюеце яго ў правільнае становішча, шпількі памяняюцца ...
Інтэграцыя з Arduino
да падключыце яго да arduino Гэта не занадта складана, вам варта разгледзець пытанне аб уключэнні рэзістара 220 Ом для рэгулявання ўваходнай напругі для магутнасці экрана і потенциометра для мадуляцыі кантрасту экрана. Затым падключыце кожны з кантактаў да платы Arduino належным чынам, і ўсё гатова. Вы можаце паглядзець на выяву Фрыцынга ...
Як вы можаце бачыць, патэнцыяметр будзе праходзіць, праз які ён будзе падавацца таксама будзе наладжаны ВК-экран і кантраснасць. Такім чынам, ён будзе падлучаны як да GND, так і да Vcc дысплея, а таксама да лініі кіравання падсветкай і кантраснасці. Магчыма, гэта самае складанае, тады справа ў падключэнні астатніх кантактаў да ўваходаў / выхадаў, якія вы збіраецеся выкарыстоўваць у сваім праекце.
Праграмаванне з Arduino IDE
Для праграмавання вы павінны ўлічваць некаторыя асаблівасці, Майце на ўвазе, што вы павінны не толькі ведаць, як адпраўляць дадзеныя, але і перамяшчаць іх, добра размяшчаць на экране і г.д. І вы таксама павінны выкарыстоўваць бібліятэку пад назвай LiquidCrystal.h, пакуль ваш ВК-экран мае сумяшчальны чыпсэт Hitachi HD44780. У вас ёсць прыклад кода тут:
#include <LiquidCrystal.h> // Definimos las constantes #define COLS 16 // Aqui va el num de columnas del LCD, 16 en nuestro caso #define ROWS 2 // Aqui las filas x2 #define VELOCIDAD 200 // Velocidad a la que se movera el texto // Indicamos los pines de la interfaz donde hayas conectado el LCD LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // Para el texto que se muestra String texto_fila = "Ejemplo LCD"; void setup() { // Configura el monitor serie Serial.begin(9600); // Configurde filas y columnas lcd.begin(COLS, ROWS); } void loop() { // Tamaño del texto a mostrar int tam_texto=texto_fila.length(); // Indicamos que la entrada de texto se hace por la izquierda for(int i=tam_texto; i>0 ; i--) { String texto = texto_fila.substring(i-1); // Limpia la pantalla para poder mostrar informacion diferente lcd.clear(); //Situar el cursor en el lugar adecuado, en este caso al inicio lcd.setCursor(0, 0); // Escribimos el texto "Ejemplo LCD" lcd.print(texto); // Esperara la cantidad de milisegundos especificada, en este caso 200 delay(VELOCIDAD); } // Desplazar el texto a la izquierda en primera fila for(int i=1; i<=16;i++) { lcd.clear(); lcd.setCursor(i, 0); lcd.print(texto_fila); delay(VELOCIDAD); } // Desplazar el texto a izquierda en la segunda fila for(int i=16;i>=1;i--) { lcd.clear(); lcd.setCursor(i, 1); lcd.print(texto_fila); delay(VELOCIDAD); } for(int i=1; i<=tam_texto ; i++) { String texto = texto_fila.substring(i-1); lcd.clear(); lcd.setCursor(0, 1); lcd.print(texto); delay(VELOCIDAD); } }
Больш інфармацыі - Кіраўніцтва па праграмаванні Arduino (бясплатны PDF)
Будзьце першым, каб каментаваць