Мазмұны:
- 1 -қадам: Сериялық дисплей
- 2 -қадам: матрицалық пернетақта
- 3 -қадам: құрастыру
- 4 -қадам: бастапқы код
- 5 -қадам: Командаларды көрсету
- 6 -қадам: Пернетақтаның жұмысы
- 7 -қадам: Құпия сөзді орнату
- 8 -қадам: Орнату
- 9 -қадам: ілмек
Бейне: СКД дисплейі мен Arduino Uno бар бақылау тақтасы: 9 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:26
Бұл матрицалық пернетақта, СКД дисплейімен және 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);
Ұсынылған:
СКД -мен 8051 мен IR сенсоры бар келушілердің есептегіші: 3 қадам
СКД -мен 8051 мен IR сенсорын пайдаланатын келушілердің есептегіші: Құрметті достар, мен келушілердің есептегішін 8051 және IR сенсорының көмегімен қалай жасау керектігін түсіндірдім және оны СКД -де көрсеттім. 8051 - бұл бүкіл әлемде коммерциялық қосымшалар мен хобби жасау үшін қолданылатын ең танымал микроконтроллердің бірі. Мен визаны жасадым
Bluetooth басқарылатын Messenger СКД -- 16x2 СКД -- Hc05 -- Қарапайым -- Сымсыз хабарландыру тақтасы: 8 қадам
Bluetooth басқарылатын Messenger СКД || 16x2 СКД || Hc05 || Қарапайым || Сымсыз хабарландыру тақтасы: …………………………. Басқа бейнелер үшін менің YouTube каналыма ТІРКЕЛІҢІЗ …… ………………………………… Хабарландыру тақтасы адамдарды жаңа ақпаратпен жаңарту үшін қолданылады немесе егер сіз хабарламаны бөлмеде немесе жартылай жібергіңіз келсе
СКД дисплейі I2C / IIC - SPI СКД I2C СК дисплейіне түрлендіру: 5 қадам
СКД дисплейі I2C / IIC | SPI СКД дисплейін I2C СК дисплейіне түрлендіріңіз: LCD дисплейін пайдалану үшін тым көп қосылым қажет, сондықтан мен i2c lcd -ді спи -LCD -ге түрлендіретін модуль таптым
Arduino мен TFT дисплейі арқылы нақты уақытты қалай жасауға болады - 3,5 дюймдік TFT дисплейі бар Arduino Mega RTC: 4 қадам
Arduino мен TFT дисплейі көмегімен нақты уақытты қалай жасауға болады | 3,5 дюймдік TFT дисплейі бар Arduino Mega RTC: Менің Youtube каналыма кіріңіз. Кіріспе:- Бұл жазбада мен 3,5 дюймдік TFT сенсорлы СКД, Arduino Mega көмегімен «Нақты уақыттағы сағат» жасаймын. 2560 және DS3231 RTC модулі… .Бастамас бұрын… бейнесін менің YouTube каналымнан қараңыз .. Ескерту:- Егер сіз Arduin қолдансаңыз
I2c СКД дисплейі бар Arduino және ESP8266: 9 қадам
I2c СКД дисплейі бар Arduino және ESP8266: Біздің негізгі мақсатымыз - 2x16 немесе 20x4 СКД дисплейі үшін сериялық i2c модулінің жұмысын көрсету. Бұл модульдің көмегімен біз тек екі түйреуішті (SDA және SCL) қолдана отырып, жоғарыда көрсетілген дисплейлерді басқара аламыз. Бұл қарым -қатынасты өте қарапайым етеді және