Բովանդակություն:
- Քայլ 1: Սկսելու համար
- Քայլ 2: Օգտագործելով 12 թվանշանի ստեղնաշար
- Քայլ 3: Օգտագործելով 16 թվանշանի ստեղնաշար
- Քայլ 4. Նախագծի օրինակ - PIN մուտքի համակարգ
Video: Arduino- ի հետ թվային ստեղնաշարերի օգտագործումը. 4 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:48
Թվային ստեղնաշարերը կարող են պարզ վերջնական օգտագործողի այլընտրանք ապահովել ձեր նախագծերի տարբեր ինտերֆեյսերի համար: Կամ, եթե ձեզ շատ կոճակներ են պետք, դրանք կարող են ձեզ շատ ժամանակ խնայել շինարարության հարցում: Մենք կանցնենք դրանց միացման միջոցով ՝ օգտագործելով Arduino գրադարանը, այնուհետև կավարտենք օգտակար օրինակով ուրվագծով:
Քայլ 1: Սկսելու համար
Անկախ նրանից, թե որտեղից եք ձեռք բերում ձեր ստեղնաշարերը, համոզվեք, որ կարող եք ձեռք բերել տվյալների թերթիկը, քանի որ դա ավելի կհեշտացնի կյանքը դրանք միացնելիս: Օրինակ `այս քայլի պատկերը:
Տվյալների թերթիկը կարևոր է, քանի որ այն ձեզ կասի, թե ստեղնաշարի որ կապերն կամ միակցիչները տողերի և սյուների համար են: Եթե չունեք տվյալների թերթիկ, ապա ձեզ հարկավոր է ձեռքով որոշել, թե որ կոնտակտներն են տողերի և սյուների համար:
Դա կարելի է անել ՝ օգտագործելով բազմաչափի (ազդանշանի) շարունակականության գործառույթը: Սկսեք ՝ մեկ զոնդ տեղադրելով 1 -ին կապում, մյուսը ՝ 2 -րդ կապում և սեղմեք ստեղները մեկ առ մեկ: Նշում կատարեք, երբ կոճակն ավարտի շրջանը, այնուհետև անցեք հաջորդ քորոցին: Շուտով կիմանաք, թե որն է որը: Օրինակ, ստեղնաշարի օրինակին 1 և 5 կոճակները նախատեսված են «1 ″» կոճակի համար, 2 և 5 «4 for» և այլն…
Այս պահին խնդրում ենք ներբեռնել և տեղադրել Arduino ստեղնաշարի գրադարանը: Այժմ մենք ցույց կտանք, թե ինչպես օգտագործել երկու ստեղնաշարը պարզ օրինակներում:
Քայլ 2: Օգտագործելով 12 թվանշանի ստեղնաշար
Displayուցադրման համար մենք կօգտագործենք փոքր սև ստեղնաշարը, Arduino Uno- համատեղելի և LCD ՝ I2C ինտերֆեյսով: Եթե LCD չունեք, դրա փոխարեն միշտ կարող եք տեքստը ուղարկել սերիական մոնիտոր:
Միացրեք LCD- ը, այնուհետև ստեղնաշարը միացրեք Arduino- ին հետևյալ եղանակով. Ստեղնաշարի տող 1 Arduino թվային 5 Keypad տող 2 Arduino թվային 4 Keypad տող 3 Arduino թվային 3 Keypad տող 4 Arduino թվային 2 Keypad սյունակ 1 Arduino թվային 8 Keypad սյունակ 2 դեպի Arduino digital 7Keypad սյունակ 3 -ից Arduino digital 6 Եթե ձեր ստեղնաշարը տարբերվում է մերից, ուշադրություն դարձրեք ուրվագծի տողերին ՝
// ստեղնաշարի տիպի սահմանում
Քանի որ դուք պետք է փոխեք զանգվածների շարքերում տողերի PIN [ROWS] և colPins [COLS]: Մուտքագրում եք ստեղնաշարի տողերին և սյունակներին համապատասխանաբար թվային կապի համարներ:
Ավելին, զանգվածի բանալիները պահում են LCD- ում ցուցադրվող արժեքները, երբ սեղմվում է որոշակի կոճակ: Դուք կարող եք տեսնել, որ մենք այն համապատասխանեցրել ենք օգտագործված ֆիզիկական ստեղնաշարին, սակայն կարող եք այն փոխել այն, ինչ ձեզ հարկավոր է: Բայց առայժմ մուտքագրեք և վերբեռնեք հետևյալ ուրվագիծը, երբ գոհ կլինեք տողի/կապի համարի հատկացումներից.
/ * Թվային ստեղնաշար և I2C LCD https://tronixstuff.com Օգտագործում է Arduino- ի համար ստեղնաշարի գրադարան https://www.arduino.cc/playground/Code/Keypad ՝ Մարկ Սթենլիի, Ալեքսանդր Բրևիգի */
#ներառել «Ստեղնախումբ.հ»
#ներառել «Wire.h» // I2C LCD- ի համար #ներառել «LiquidCrystal_I2C.h» // I2C ավտոբուսի LCD մոդուլի համար // https://www.dfrobot.com/wiki/index.php/I2C/TWI_LCD1602_Module_(SKU: _DFR0063) LiquidCrystal_I2C LCD (0x27, 16, 2); // LCD հասցեն սահմանել 0x27 ՝ 16 նշանի և 2 տողի ցուցադրման համար
// ստեղնաշարի տիպի սահմանում
const բայթ ROWS = 4; // չորս տող const բայթ COLS = 3; // երեք սյունակ նշելու ստեղներ [ROWS] [COLS] = {{'1', '2', '3'}, {'4', '5', '6'}, {'7', '8', '9'}, {'*', '0', '#'}};
բայթ rowPins [ROWS] = {
5, 4, 3, 2}; // միանալ ստեղնաշարի բայթ colPins- ի տողերի pinouts- ին [COLS] = {8, 7, 6}; // միանալ ստեղնաշարի սյունակներին
int հաշվարկ = 0;
Ստեղնաշարի ստեղնաշար = Ստեղնախումբ (makeKeymap (ստեղներ), rowPins, colPins, ROWS, COLS);
դատարկ կարգավորում ()
{lcd.init (); // նախաստորագրել lcd lcd.backlight (); // միացնել LCD լուսարձակը}
դատարկ շրջան ()
{char key = keypad.getKey (); եթե (բանալի! = NO_KEY) {lcd.print (բանալի); հաշվել ++; եթե (հաշվել == 17) {lcd.clear (); հաշվել = 0; }}}
Իսկ էսքիզի արդյունքները ցուցադրվում են տեսանյութում: Այսպիսով, այժմ դուք կարող եք տեսնել, թե ինչպես կարող են կոճակների սեղմումները թարգմանվել տվյալների մեջ ՝ ուրվագծում օգտագործելու համար: Այժմ մենք կկրկնենք այս ցուցադրումը ավելի մեծ ստեղնաշարով:
Քայլ 3: Օգտագործելով 16 թվանշանի ստեղնաշար
Մենք կօգտագործենք ավելի մեծ 4 × 4 ստեղնաշար, Arduino Uno- համատեղելի և Akafugu- ից I2C LCD- ի փոփոխման համար ցուցադրման նպատակով: Կրկին, եթե LCD չունեք, դրա փոխարեն միշտ կարող եք տեքստը ուղարկել սերիական մոնիտոր: Միացրեք LCD- ը և միացրեք ստեղնաշարը Arduino- ին հետևյալ եղանակով.
- Ստեղնաշարի տող 1 (ութ կապ) Arduino թվային 5 -ին
- Ստեղնաշարի տող 2 (փին 1) դեպի Arduino digital 4
- Ստեղնաշարի տող 3 (կապ 2) Arduino թվային 3 -ին
- Ստեղնաշարի տող 4 (փին 4) դեպի Arduino թվային 2
- Ստեղնաշարի սյունակ 1 (կապ 3) Arduino թվային 9 -ին
- Ստեղնաշարի սյունակ 2 (փին 5) դեպի Arduino digital 8
- Ստեղնաշարի սյունակ 3 (փին 6) դեպի Arduino digital 7
- Ստեղնաշարի սյունակ 4 (փին 7) դեպի Arduino թվային 6
Հիմա ուրվագծի վերաբերյալ. Նկատի ունեցեք, թե ինչպես ենք մենք տեղավորվել ավելի մեծ թվային ստեղնաշարի համար. Զանգվածի նշման ստեղների լրացուցիչ սյունակ , զանգվածի colPins- ում լրացուցիչ քորոց և բայթ COLS = 4:
/ * Թվային ստեղնաշար և I2C LCD https://tronixstuff.com Օգտագործում է Arduino- ի համար ստեղնաշարի գրադարան https://www.arduino.cc/playground/Code/Keypad ՝ Մարկ Սթենլիի, Ալեքսանդր Բրևիգի */
#ներառել «Ստեղնախումբ.հ»
#ներառել «Wire.h» // I2C LCD- ի համար #ներառել «TWILiquidCrystal.h» // https://store.akafugu.jp/products/26 LiquidCrystal LCD (12, 11, 5, 4, 3, 2);
const բայթ ROWS = 4; // չորս տող
const բայթ COLS = 4; // չորս սյունակ նշելու ստեղներ [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; բայթ rowPins [ROWS] = {5, 4, 3, 2}; // միանալ ստեղնաշարի բայթ colPins- ի տողերի pinouts- ին [COLS] = {9, 8, 7, 6}; // միանալ ստեղնաշարի int count = 0 սյունակներին;
Ստեղնաշարի ստեղնաշար = Ստեղնախումբ (makeKeymap (ստեղներ), rowPins, colPins, ROWS, COLS);
դատարկ կարգավորում ()
{Serial.begin (9600); lcd. սկսել (16, 2); lcd.print («Ստեղնաշարի փորձարկում»); ուշացում (1000); lcd. հստակ (); }
դատարկ շրջան ()
{char key = keypad.getKey (); if (բանալի! = NO_KEY) {lcd.print (բանալի); Serial.print (բանալին); հաշվել ++; եթե (հաշվել == 17) {lcd.clear (); հաշվել = 0; }}}
Եվ կրկին տեսանյութի վերևում կարող եք տեսնել էսքիզների արդյունքները:
Այժմ օրինակելի նախագծի համար, որը, հավանաբար, թվային ստեղնաշարի ամենապահանջված օգտագործումն է…
Քայլ 4. Նախագծի օրինակ - PIN մուտքի համակարգ
Թվային ստեղնաշարի համար առավել պահանջված օգտագործումը, կարծես, «PIN» ոճով ծրագիր է, որտեղ Arduino- ին հանձնարարված է ինչ-որ բան անել ՝ հիմնվելով ստեղնաշարի մեջ մուտքագրված ճիշտ թվի վրա: Հետևյալ ուրվագիծը օգտագործում է նախորդ ուրվագծի համար նկարագրված սարքավորումները և իրականացնում է վեցանիշ PIN մուտքագրման համակարգ:
Տեղի ունեցող գործողությունները կարող են տեղադրվել correctPIN () և սխալ PIN () գործառույթներում: Իսկ PIN- ը սահմանվում է զանգվածի char PIN- ում [6]: Մի փոքր լրացուցիչ աշխատանքով կարող եք ստեղծել նաև ձեր սեփական PIN- փոփոխման գործառույթը:
// PIN անջատիչ 16 թվանշանային թվային ստեղնաշարով // https://tronixstuff.com #include "Keypad.h" #include #include LiquidCrystal LCD (12, 11, 5, 4, 3, 2);
const բայթ ROWS = 4; // չորս տող
const բայթ COLS = 4; // չորս սյունակ նշելու ստեղներ [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; բայթ rowPins [ROWS] = {5, 4, 3, 2}; // միանալ ստեղնաշարի բայթ colPins- ի տողերի pinouts- ին [COLS] = {9, 8, 7, 6}; // միանալ ստեղնաշարի սյունակներին
Ստեղնաշարի ստեղնաշար = Ստեղնախումբ (makeKeymap (ստեղներ), rowPins, colPins, ROWS, COLS);
նշանի PIN [6] = {
'1', '2', 'A', 'D', '5', '6'}; // մեր գաղտնի (!) թիվը char փորձ [6] = {'0', '0', '0', '0', '0', '0'}; // օգտագործվում է համեմատության համար int z = 0;
դատարկ կարգավորում ()
{Serial.begin (9600); lcd. սկսել (16, 2); lcd.print («PIN կողպեք»); ուշացում (1000); lcd. հստակ (); lcd.print («Մուտքագրեք PIN …»); }
void correctPIN () // դա արեք, եթե ճիշտ PIN- ը մուտքագրված է
{lcd.print (" * Corիշտ PIN *"); ուշացում (1000); lcd. հստակ (); lcd.print («Մուտքագրեք PIN …»); }
void falsePIN () // դա արեք, եթե սխալ PIN է մուտքագրվել
{lcd.print (" * Փորձեք նորից *"); ուշացում (1000); lcd. հստակ (); lcd.print («Մուտքագրեք PIN …»); }
անվավեր ստուգման PIN ()
{int ճիշտ = 0; int i; համար (i = 0; i <6; i ++) {
եթե (փորձ == PIN )
{ճիշտ ++; }} if (ճիշտ == 6) {correctPIN (); } else {սխալ PIN (); }
համար (int zz = 0; zz <6; zz ++) {փորձ [zz] = '0'; }}
դատարկ կարդալ Keypad ()
{char key = keypad.getKey (); եթե (բանալի! = NO_KEY) {փորձ [z] = բանալին; z ++; անջատիչ (բանալին) {case '*': z = 0; ընդմիջում; գործ '#': z = 0; ուշացում (100); // լրացուցիչ դեբունսի համար lcd.clear (); checkPIN (); ընդմիջում; }}}
դատարկ շրջան ()
{readKeypad (); }
Նախագիծը ցուցադրվում է տեսանյութում:
Այսպիսով, այժմ դուք հնարավորություն ունեք տասներկու և տասնվեց կոճակ ստեղնաշար օգտագործել ձեր Arduino համակարգերի հետ: Համոզված եմ, որ մոտ ապագայում օգտակար և հետաքրքիր բան կգտնեք ՝ օգտագործելով ստեղնաշարերը:
Այս գրառումը ձեզ է ներկայացնում pmdway.com- ը `ամեն ինչ արտադրողների և էլեկտրոնիկայի սիրահարների համար, անվճար առաքում ամբողջ աշխարհով:
Խորհուրդ ենք տալիս:
Թվային դարպասի լարման չափման սխեմայի օգտագործումը `7 քայլ
Թվային դարպասի լարման չափման սխեմայի օգտագործումը. Թվային սխեմաներն, ընդհանուր առմամբ, օգտագործում են 5 վոլտ մատակարարում: TTL շարքի 5v -2,7 վոլտից (թվային ինտեգրված չիպի տեսակ) թվային լարումները համարվում են բարձր և ունեն 1 արժեք: Թվային լարման 0-0.5 ձևը համարվում են ցածր և ունեն
Մատնահետքի ցուցիչի օգտագործումը ժամանակին մասնակցելու համար ՝ XAMP լուծման հետ համատեղ. 6 քայլ (նկարներով)
Մատնահետքի ցուցիչի օգտագործումը ՝ XAMP լուծման հետ համատեղ ժամանակի մասնակցության համար. Դպրոցական նախագծի համար մենք լուծում էինք փնտրում, թե ինչպես հետևել աշակերտների հաճախելիությանը: Մեր ուսանողներից շատերն են ուշ ժամանում: Հոգնեցուցիչ աշխատանք է նրանց ներկայությունը ստուգելը: Մյուս կողմից, շատ քննարկումներ կան, քանի որ ուսանողները հաճախ կասեն
ESP8266- ի օգտագործումը Arduino- ի և Blynk- ի հետ. 4 քայլ
ESP8266- ի օգտագործումը Arduino- ի և Blynk- ի հետ. Միացրեք ձեր Arduino Mega- ն blynk հավելվածին ՝ օգտագործելով espp8266 վահանը
ԻՆՉՊԵՍ ԿԱՐՈ ԵՆ ՀԵՏ ՀԵՏ ՀԵՏ չորության չորացման սենսոր `4 քայլ
ՈՐՊԵՍ ԿԱՐՈ ԵՆՔ ՀԵՏ ՀԵՏ ՀԱՎԱՔԱՈ ՍԵՆՍՈՐ. Ողջույն, այս ուսանելի ծրագրում ես ձեզ ցույց կտամ, թե ինչպես պատրաստել մի պարզ «ՀՈ DRՅԱՆ ՉՈՐՈ SԹՅԱՆ ՍԵՆՍՈՐ»: Սա իմ առաջին ուսանելի ներողությունն է իմ ծիծաղելի անգլերենի համար: Հողի չորությունը որոշվում է led ցուցիչով: led լույսը wi
Պղնձե ժապավենի օգտագործումը թվային ընտրության պահոց ստեղծելու համար. 4 քայլ
Օգտագործելով պղնձե ժապավենը `թվային ընտրության պահոց ստեղծելու համար. Սա մասամբ կիսում եմ այս տեխնիկան, մասամբ` սովորում եմ, թե ինչպես օգտագործել հրահանգները: Եթե տեխնիկայի կամ Instructables- ի իմ փաստաթղթերի հետ կապված խնդիրներ կան, խնդրում եմ ինձ տեղյակ պահեք մեկնաբանություններում - շնորհակալություն: Ինձ երկար տող էր պետք