Мазмұны:
- 1 -қадам: Жұмысты бастау
- 2 -қадам: 12 цифрлық пернетақтаны пайдалану
- 3 -қадам: 16 цифрлық пернетақтаны пайдалану
- 4 -қадам: Мысал жоба - PIN -ге қол жеткізу жүйесі
Бейне: Arduino көмегімен сандық пернетақталарды қолдану: 4 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:24
Сандық пернетақта сіздің жобаларыңыз үшін әр түрлі интерфейстерге қарапайым соңғы пайдаланушы баламасын ұсына алады. Немесе сізге көптеген түймелер қажет болса, олар құрылысқа қатысты көп уақытты үнемдей алады. Біз оларды Arduino кітапханасын пайдаланып қосамыз, содан кейін пайдалы мысалмен аяқтаймыз.
1 -қадам: Жұмысты бастау
Пернетақтаны қайдан алғаныңызға қарамастан, деректер парағын алуға болатындығына көз жеткізіңіз - бұл оларды қосу кезінде өмірді жеңілдетеді. Мысалы - бұл қадамдағы сурет.
Мәліметтер парағы маңызды, себебі ол жолдар мен бағандарға пернетақтадағы түйреуіштер мен қосқыштардың қайсысы екенін айтады. Егер сізде деректер парағы жоқ болса - жолдар мен бағандарға қандай контактілер болатынын қолмен анықтау қажет болады.
Мұны мультиметрдің (үзіліс) үздіксіздік функциясы арқылы жасауға болады. Бір зондты 1 істікке, екінші зондты 2 түйреуішке қойып, пернелерді бірінен соң бірін бастаңыз. Түйме тізбекті аяқтаған кезде жазып алыңыз, содан кейін келесі түйреуішке өтіңіз. Көп ұзамай сіз қайсысы екенін білетін боласыз. Мысалы, 1 және 5 пернетақталы түйреуіштер «1 ″», 2 және 5 «4 ″ және т.
Осы кезде Arduino кітапханасының пернетақтасын жүктеп, орнатыңыз. Енді біз қарапайым мысалдарда екі пернетақтаны қалай қолдану керектігін көрсетеміз.
2 -қадам: 12 цифрлық пернетақтаны пайдалану
Біз көрсету үшін кішкентай қара пернетақтаны, Arduino Uno үйлесімді және I2C интерфейсі бар СКД қолданамыз. Егер сізде СКД болмаса, сіз әрқашан мәтінді сериялық мониторға жібере аласыз.
СКД -ны қосыңыз, содан кейін пернетақтаны Arduino -ға келесі жолмен қосыңыз: 1 -ші пернетақта Arduino цифрлық 5 -ке 2 -ші қатарға Arduino цифрлық 4 -ке 3 -ші қатарға Arduino цифрлық 3 -ке 3 -ші қатарға 4 -ке Arduino цифрлық 2 -ге арналған пернетақтаға 1 -ге Arduino цифрлық 8 -ші пернетақтаға 2 -бағанға Arduino digital 7Kadpad 3 бағаны Arduino цифрлық 6 -ға дейін. Егер сіздің пернетақта біздікінен өзгеше болса, эскиздегі жолдарға назар аударыңыз:
// пернетақта түрінің анықтамасы
RowPins [ROWS] және colPins [COLS] массивтеріндегі сандарды өзгерту қажет болғандықтан. Сіз сәйкесінше пернетақтаның жолдары мен бағандарына қосылған сандық пин нөмірлерін енгізесіз.
Сонымен қатар, массив пернелері белгілі бір түйме басылған кезде СКД -де көрсетілетін мәндерді сақтайды. Сіз оны физикалық пернетақтамен сәйкестендіргенімізді көре аласыз, бірақ сіз оны қалағаныңызша өзгерте аласыз. Әзірге жол/пин нөмірлерінің бөлінуіне көңіліңіз толған соң келесі эскизді енгізіңіз және жүктеңіз:
/ * Сандық пернетақта мен I2C СКД https://tronixstuff.com Arduino үшін пернетақта кітапханасын пайдаланады https://www.arduino.cc/playground/Code/Keypad by Mark Stanley, Alexander Brevig */
#«Keypad.h» қосыңыз
#«Wire.h» // I2C СК үшін #қосу «LiquidCrystal_I2C.h» // I2C шинасының СКД модулі үшін // https://www.dfrobot.com/wiki/index.php/I2C/TWI_LCD1602_Module_(SKU: _DFR0063) LiquidCrystal_I2C LCD (0x27, 16, 2); // 16 таңба мен 2 жолды дисплей үшін СКД мекенжайын 0x27 етіп орнатыңыз
// пернетақта түрінің анықтамасы
const байт ROWS = 4; // төрт жолды const байт COLS = 3; // үш бағаннан тұратын char пернелері [ROWS] [COLS] = {{'1', '2', '3'}, {'4', '5', '6'}, {'7', '8', '9'}, {'*', '0', '#'}};
байт rowPins [ROWS] = {
5, 4, 3, 2}; // colPins байт пернетақтасының жол түйіндеріне қосылу [COLS] = {8, 7, 6}; // пернетақтаның бағаналық түйіндеріне қосылыңыз
int count = 0;
Пернетақта пернетақтасы = Пернетақта (makeKeymap (пернелер), rowPins, colPins, ROWS, COLS);
жарамсыз орнату ()
{lcd.init (); // lcd lcd.backlight () инициализациялау; // СКД артқы жарығын қосу}
бос цикл ()
{char key = keypad.getKey (); if (key! = NO_KEY) {lcd.print (key); санау ++; if (count == 17) {lcd.clear (); санау = 0; }}}
Ал эскиздің нәтижесі бейнеде көрсетілген. Енді сіз түймені басуды эскизде пайдалану үшін деректерге қалай аударуға болатынын көре аласыз. Енді біз бұл демонстрацияны үлкен пернетақтамен қайталаймыз.
3 -қадам: 16 цифрлық пернетақтаны пайдалану
Біз 4 × 4 өлшемді үлкенірек пернетақтаны қолданамыз, Arduino Uno үйлесімді және I2C LCD дисплейін өзгерту үшін Akafugu дисплейі үшін. Тағы да, егер сізде СКД болмаса, сіз әрқашан мәтінді сериялық мониторға жібере аласыз. СКД -ны қосыңыз, содан кейін пернетақтаны Arduino -ға келесі жолмен қосыңыз:
- Пернетақта 1 -жол (сегізінші түйреуіш) Arduino сандық 5 -ке
- 2 -ші пернетақта жолы (1 -түйреуіш) Arduino Digital 4 -ке
- 3 -ші пернетақта жолы (2 -түйреуіш) Arduino Digital 3 -ке
- 4 -ші пернетақта жолы (түйреуіш 4) Arduino сандық 2 -ге
- 1 -ші пернетақта бағанасы (түйреуіш 3) Arduino Digital 9 -ға
- 2 -ші пернетақта бағанасы (түйреуіш 5) Arduino digital 8 -ге
- 3 -ші пернетақта бағанасы (6 -түйреуіш) Arduino Digital 7 -ге
- 4 -ші пернетақта бағанасы (түйреуіш 7) Arduino Digital 6 -ға
Енді эскизге - біз үлкен сандық пернетақтаны қалай орналастырғанымызға назар аударыңыз: char пернелерінің массивіндегі қосымша баған colPins жиегіндегі қосымша түйін және COLS = 4 байты.
/ * Сандық пернетақта мен I2C СКД https://tronixstuff.com Arduino үшін пернетақта кітапханасын пайдаланады https://www.arduino.cc/playground/Code/Keypad by Mark Stanley, Alexander Brevig */
#«Keypad.h» қосыңыз
#қосу «Wire.h» // I2C СК үшін #include «TWILiquidCrystal.h» // https://store.akafugu.jp/products/26 LiquidCrystal lcd (12, 11, 5, 4, 3, 2);
const байт ROWS = 4; // төрт қатар
COLS const байт = 4; // төрт бағаннан тұратын char пернелері [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; байт rowPins [ROWS] = {5, 4, 3, 2}; // colPins байт пернетақтасының жол түйіндеріне қосылу [COLS] = {9, 8, 7, 6}; // int count = 0 пернетақтасының бағаналық түйіндеріне қосылу;
Пернетақта пернетақтасы = Пернетақта (makeKeymap (пернелер), rowPins, colPins, ROWS, COLS);
жарамсыз орнату ()
{Serial.begin (9600); lcd.begin (16, 2); lcd.print («Пернетақта сынағы!»); кешіктіру (1000); lcd.clear (); }
бос цикл ()
{char key = keypad.getKey (); if (key! = NO_KEY) {lcd.print (key); Serial.print (кілт); санау ++; if (count == 17) {lcd.clear (); санау = 0; }}}
Тағы да бейнеден жоғарыдағы эскиздің нәтижесін көре аласыз.
Енді мысал үшін, сандық пернетақтаның ең көп сұранысы болуы мүмкін …
4 -қадам: Мысал жоба - PIN -ге қол жеткізу жүйесі
Сандық пернетақта үшін ең көп сұраныс «PIN» стиліндегі қосымша болып көрінеді, мұнда Arduino пернетақтаға дұрыс нөмірге сәйкес бірдеңе жасауға нұсқау береді. Келесі эскиз алдыңғы эскизге сипатталған жабдықты пайдаланады және алты таңбалы PIN енгізу жүйесін енгізеді.
Орындалатын әрекеттерді correctPIN () және қате PIN () функцияларына енгізуге болады. Ал PIN коды [6] массивінде орнатылады. Кішкене қосымша жұмыс кезінде сіз өзіңіздің PIN-кодты өзгерту функциясын жасай аласыз.
// 16 таңбалы сандық пернетақтасы бар PIN қосқышы // https://tronixstuff.com #include «Keypad.h» #include #include LiquidCrystal lcd (12, 11, 5, 4, 3, 2);
const байт ROWS = 4; // төрт қатар
COLS const байт = 4; // төрт бағаннан тұратын char пернелері [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; байт rowPins [ROWS] = {5, 4, 3, 2}; // colPins байт пернетақтасының жол шеттеріне қосылу [COLS] = {9, 8, 7, 6}; // пернетақтаның бағаналық түйреуіштеріне қосылыңыз
Пернетақта пернетақтасы = Пернетақта (makeKeymap (пернелер), rowPins, colPins, ROWS, COLS);
PIN коды [6] = {
'1', '2', 'A', 'D', '5', '6'}; // біздің құпия (!) сандық әрекеті [6] = {'0', '0', '0', '0', '0', '0'}; // салыстыру үшін қолданылады int z = 0;
жарамсыз орнату ()
{Serial.begin (9600); lcd.begin (16, 2); lcd.print («PIN құлпы»); кешіктіру (1000); lcd.clear (); lcd.print («PIN кодын енгізіңіз …»); }
void correctPIN () // егер PIN коды дұрыс енгізілсе, мұны істеңіз
{lcd.print (« * Дұрыс PIN *»); кешіктіру (1000); lcd.clear (); lcd.print («PIN кодын енгізіңіз …»); }
void wrongPIN () // егер PIN коды дұрыс енгізілмесе, мұны істеңіз
{lcd.print (« * Қайталап көріңіз *»); кешіктіру (1000); lcd.clear (); lcd.print («PIN кодын енгізіңіз …»); }
жарамсыз checkPIN ()
{int дуруст = 0; int i; үшін (i = 0; i <6; i ++) {
егер ( == PIN кодын сынап көріңіз)
{дұрыс ++; }} if (дұрыс == 6) {correctPIN (); } басқа {қатеPIN (); }
for (int zz = 0; zz <6; zz ++) {әрекет [zz] = '0'; }}
жарамсыз оқу Keypad ()
{char key = keypad.getKey (); if (key! = NO_KEY) {try [z] = key; z ++; қосқыш (кілт) {регистр '' ': z = 0; үзіліс; жағдай '#': z = 0; кешіктіру (100); // қосымша шығыс үшін lcd.clear (); checkPIN (); үзіліс; }}}
бос цикл ()
{readKeypad (); }
Жоба бейнеде көрсетілген.
Енді сізде Arduino жүйелерімен он екі және он алты батырмалы пернетақталарды пайдалану мүмкіндігі бар. Жақын арада сіз пернетақтаны қолдана отырып, пайдалы және қызықты нәрсе табатыныңызға сенімдімін.
Бұл хабарламаны pmdway.com сізге жеткізеді - бұл өндірушілер мен электроникаға әуесқойлар үшін, бүкіл әлем бойынша ақысыз жеткізу.
Ұсынылған:
Arduino көмегімен Led Strip көмегімен аналогтық сағат пен сандық сағатты қалай жасауға болады: 3 қадам
Arduino көмегімен Led Strip көмегімен аналогтық сағат пен сандық сағатты қалай жасауға болады: Бүгін біз аналогты сағатты жасайтын боламыз. Led Strip және MAX7219 нүктелік модулі бар Arduino цифрлық сағаты жергілікті уақыт белдеуімен уақытты түзетеді. Аналогтық сағат ұзағырақ жарықдиодты жолақты қолдана алады, сондықтан оны суретші болу үшін қабырғаға іліп қоюға болады
Пернетақталарды қолдану арқылы Premiere Pro -де аудио өңдеу: 5 қадам
Пернетақталарды қолдана отырып, Premiere Pro -де дыбысты өңдеу: Бұл нұсқаулық дыбыстарды бір -біріне жабыстыру және оларды жақсырақ араластыру үшін дыбыс деңгейін өзгерту үшін болсын, Premiere Pro -да дыбысты басқаруға арналған нұсқаулық ретінде жасалған, немесе бір тректі қайта өңдеуге арналған. жақсы сәйкес келеді
Сандық қақпаның кернеуін өлшеу үшін схеманы қолдану: 7 қадам
Цифрлық қақпаның кернеуін өлшеу үшін тізбекті қолдану: Сандық тізбектер әдетте 5 вольтты қоректендіруді пайдаланады, TTL сериясындағы 5 -2,7 вольтты (цифрлық интегралды микросхеманың түрі) цифрлық кернеулер жоғары болып саналады және олардың мәні 1. цифрлық кернеулер. 0-0.5 формасы төмен деп саналады және
GY511 модулін Arduino көмегімен қалай қолдану керек [Сандық компас жасаңыз]: 11 қадам
GY511 модулін Arduino -мен қалай қолдану керек [Сандық компас жасаңыз]: Шолу Кейбір электроника жобаларында біз географиялық орналасуды кез келген уақытта білуіміз керек және соған сәйкес нақты операция жасауымыз керек. Бұл оқулықта сіз LSM303DLHC GY-511 компас модулін Arduino көмегімен цифрлық компалар жасау үшін қолдануды үйренесіз
Raspberry Pi GPIO схемалары: ADC жоқ LDR аналогты сенсорды қолдану (аналогты сандық түрлендіргіш): 4 қадам
Raspberry Pi GPIO схемалары: ADC жоқ LDR аналогты сенсорды қолдану (аналогты сандық түрлендіргіш): алдыңғы нұсқаулықтарда біз сізге Raspberry Pi GPIO түйреуіштерін светодиодтар мен қосқыштарға қалай байланыстыруға болатынын және GPIO түйреуіштері қалай жоғары болатынын көрсеттік. немесе төмен. Егер сіз Raspberry Pi -ді аналогты сенсормен қолданғыңыз келсе ше? Егер біз