Мазмұны:

СКД дисплейі мен Arduino Uno бар бақылау тақтасы: 9 қадам
СКД дисплейі мен Arduino Uno бар бақылау тақтасы: 9 қадам

Бейне: СКД дисплейі мен Arduino Uno бар бақылау тақтасы: 9 қадам

Бейне: СКД дисплейі мен Arduino Uno бар бақылау тақтасы: 9 қадам
Бейне: MKS sGen L V2.0 - Basics 2024, Қараша
Anonim
Image
Image
СКД дисплейі мен Arduino Uno бар бақылау тақтасының пернетақтасы
СКД дисплейі мен Arduino Uno бар бақылау тақтасының пернетақтасы
СКД дисплейі мен Arduino Uno бар бақылау тақтасының пернетақтасы
СКД дисплейі мен Arduino Uno бар бақылау тақтасының пернетақтасы

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

Матрицалық пернетақта да, бұл дисплей де ESP8266 және ESP32 жұмыс істейтінін есте ұстаған жөн.

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

Дисплей Arduino -ға UART арқылы қосылады, ол құрылғыны қуаттандырады.

Демонстрацияда біз пернетақтада терілген парольдің дұрыстығын тексеретін тізбекті көрсетеміз.

Бейнеде қолданылған және осында қол жетімді PDF файлында бізде қолданылатын чиптің толық түйіні бар.

1 -қадам: Сериялық дисплей

Сериялық дисплей
Сериялық дисплей
Сериялық дисплей
Сериялық дисплей

Бұл TXRX көмегімен RS болып табылатын UART -пен байланысатын сериялық дисплей. Ол I2C нұсқаларында да бар, бірақ басқа модельдер алдағы жиналыс үшін қалады. Бұл жағдайда бұл дисплей UART by RS арқылы жұмыс істейді.

2 -қадам: матрицалық пернетақта

Матрицалық пернетақта
Матрицалық пернетақта

Біз қолданатын матрицалық пернетақтаның мысалы - фотосурет және ол оң жақта. Бізде оның қалай жұмыс істейтінін көрсететін диаграмма бар. Іс жүзінде ол тек 4х4 жолдан тұрады. Осылайша, ол сымдардың ең аз мөлшерін пайдаланады; әр жол мен бағанға бір сым, осылайша барлығы сегіз сым болады.

Ол қуат қажет емес, себебі ол келесідей жұмыс істейді: 7 басылған кезде пернетақта 7 -ді алып, сызық пен бағанға қосылады, бұл алгоритмді автоматты түрде сканерлеу арқылы сәйкестендіруге мүмкіндік береді.

Бұл жинақта нүктелік матрицадан тұратын кез келген 4х4 пернетақта жұмыс істейтінін есте ұстаған жөн.

3 -қадам: құрастыру

Ассамблея
Ассамблея

Жалпы схемада біз сегіз сымды тікелей Arduino порттарына қосамыз, себебі пернетақтада қуат жоқ. Дисплейде RS 232 сигналы, оң және теріс қуаты бар. Артқы жарық әлі де бар, ол да қосылған (BKL арқылы анықталған).

4 -қадам: бастапқы код

Бұл жобаның бастапқы кодында сериялық және пернетақтаны қосу керек. Оның RX_PIN және TX_PIN жиынтығы бар, ол сериялық бағдарламалық қамтамасыз ету үшін қажет, сонымен қатар INVERTED 1. Бұл астына логикалық инверсиясы бар кірісті қолданатын сигналды күшейту үшін қойылды.

// библиотеканың жауаптары СКД дисплейі #қамтиды // библиотеканың жауаптары басылғаннан кейін басып шығарылады #ешнәрсе қосылмайды // SoftwareSerial -дің жарамдылығын анықтамайды #RX_PIN 255 -ті анықтаңыз СКД дисплейі #define TX_PIN 3 // Rx e Tx, in LTE lógica dos pinos, ratt e Tx, LOW como HIGH жоғары және керісінше #анықтау INVERTED 1

5 -қадам: Командаларды көрсету

Командаларды көрсету
Командаларды көрсету

Маңызды: Бұл дисплейде оған жолды қою жеткіліксіз. Сізге басқару таңбаларын жіберу қажет. PDF -те осы дисплейдің нұсқаулығы бар сайттың сілтемесі бар. Бірақ егер сізде басқа брендтің сериялық дисплейі болса, бұған қатысты олардың бақылау кодтарын қарау жақсы. Бұл модельде, мысалы, біз белгілі бір басқару элементін жібергенде (мысалы, бұл дисплейге арналған ақпарат), біз байланыс орнатуға мүмкіндік беретін 254 нөмірлі префиксті жіберуіміз керек.

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

// comando para limpar to display a telcon do displayconst char limparTela = {254, 1}; // конфигурацияның ресми емес нұсқасы/ * 254, 254 - 254, 254, 254, 253, 1 конфигурациясы немесе 254, 13 конфигурациясы, олар 254, 13 деңгейлі нұсқауларға негізделген//char char configInicial = {254, 254, 254, 1, 254, 253, 1, 254, 13};

6 -қадам: Пернетақтаның жұмысы

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

Біз анықтайтын басқа нәрселер - бұл пернетақтаның ARRAY жағдайда 4 -жол және 4 -баған. Бізде әлі де Arduino түйреуіштері мен бағананың түйреуіштері бар. Бізде әлі де таңба, түйреуіш, жол және баған параметрлері бар customKeypad пернетақта құрастырушысы бар.

const байт LINHAS = 4; // линолар байт COLUNAS = 4; // бір күндік тәжірибе // симболды анықтау SIMBOLOS [LINHAS] [COLUNAS] = {{'A', '1', '2', '3'}, { 'B', '4', '5', '6'}, {'C', '7', '8', '9'}, {'D', 'c', '0', 'e '}}; байт PINOS_LINHA [LINHAS] = {8, 9, 10, 11}; // pinos que indicam ретінде байт PINOS_COLUNA [COLUNAS] = {4, 5, 6, 7}; // түйіндер бір -бірімен байланысқан кезде // пернелер тіркесімі, жауаптар мен пернелер тіркесімі пернетақта customKeypad = пернетақта (makeKeymap (SIMBOLOS), PINOS_LINHA, PINOS_COLUNA, LINHAS, COLUNAS);

7 -қадам: Құпия сөзді орнату

Бұл бөлімде біз парольді анықтаймыз, содан кейін бос жол болып табылатын құпия сөзді енгізу қажет. Төменде біз SoftwareSerial данасын қоямыз.

// әр түрлі жолдар сенсорлы жол ретінде SENHA_ESPERADA = «1234ABCD»; SENHA_DIGITADA жолы = «»; // SoftwareSerial пара -лық комунисарлық комментарийі o Сериялық SoftwareSerial арқылы көрсету DisplaySerial = SoftwareSerial (RX_PIN, TX_PIN, INVERTED);

8 -қадам: Орнату

Орнатуға келетін болсақ, мұнда displaySerial.begin (2, 400), бұл шамамен жылдамдық. Біздің жағдайда бұл байт жіберу үшін жеткілікті. Осыдан кейін 700 миллисекунд күту бар. Біз DisplaySerial.print (initialConfig) бастапқы конфигурациядан 10 миллисекундқа жаңа кідіріспен қосамыз және біз іске қосу функциясына өтеміз. Бастау функциясында displaySerial.print («құпия сөз:») қойылады.

void setup () {Serial.begin (2400); // comunicação com көрсетудің сериялық нұсқасы // 2400 displaySerial.begin (2400) беру жылдамдығының маңыздылығы; // дисплей кідірісінің жылдамдығы (700); // DisplaySerial.print (configInicial) бейнесін конфигурациялауды орнатыңыз; кешіктіру (10); иницио (); } // функцияларға жауап беру үшін сіз сандық есепке алуды шеше аласыз // сенсорлық саясатты салыстыру үшін, егер сіз бұл ақпаратты көрсетсеңіз. void inicio () {displaySerial.print («Senha:»); }

9 -қадам: ілмек

Циклда біз customKey = customKeypad.getKey () жасаймыз, ал тізбекте Switch командасын енгіземіз.

// CustomKey = customKeypad.getKey () командаларын басу керек; // егер (customKey) {Serial.println (customKey); ауысу (customKey) { /… /}}

Ілмек қосқышы 1 -бөлім

Switch командасының ішінде: ол басылған кезде басып шығарылатын кілттердің мүмкіндіктер тізімін көрсетеді және парольді көбейтеді: customKey қабылдайды және енгізілген парольді біріктіреді. Содан кейін displaySerial.print (customKey) негізгі мазмұнды көрсетеді.

switch (customKey) {// caso alguma das teclas instimíveis foi pressionada case 'A' case: 'B' case: case 'C' case 'D' case '0' case '1' case 'case' 2 'case '3': case '4': case '5': case '6': case '7': case '8': case '9': // national símbolo a sha que estamos digitando SENHA_DIGITADA+= customKey; Serial.println (SENHA_DIGITADA); // DisplaySerial.print (customKey) басу арқылы байланыс орнатыңыз; үзіліс;

Ілмек қосқышы 2 -бөлім

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

// «C '» жағдайын тазалау үшін CLEAR: // әр түрлі жағдайда SENHA_DIGITADA = «»; // chama o comando para limpar a tela displaySerial.print (limparTela); // конфигурацияның мәнін анықтау (); үзіліс;

Ілмек қосқышы 3 -бөлім

Тағы бір мүмкіндік - егер сіз E әрпін терсеңіз. Бұл жағдайда енгізілген пароль дұрыс немесе қате болса, экран тазартылады және талданады. Содан кейін біз 2 секундқа жаңа кідіріс береміз, экранды тазартып, пароль айнымалы мәнін қалпына келтіріп, басына ораламыз.

// ENTER пернесін басу керек, «e» жағдайында девемос салыстырылады: // теледидар дисплейіSerial.print (limparTela); // ESPERADA if a senha digitada foi igual a ESPERADA if (SENHA_ESPERADA == SENHA_DIGITADA) {Serial.println («Senha Correta!»); // сенса correta displaySerial.print («Senha Correta !!!»); } // caso senha esteja errada else {Serial.println («Senha Incorreta!»); // сенсацияның жоқтығы displaySerial.print («Senha Incorreta!»); } // 2 -ші күннің соңғы нұсқасы - бұл кешіктіру (2000 ж.); displaySerial.print (limparTela);

Ұсынылған: