Агуулгын хүснэгт:
- Алхам 1: Эхлэх
- Алхам 2: 12 оронтой товчлуур ашиглах
- Алхам 3: 16 оронтой тоон товчлуур ашиглах
- Алхам 4: Жишээ төсөл - PIN хандалтын систем
Видео: Тоон товчлуурыг Arduino ашиглан ашиглах: 4 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:02
Тоон товчлуурууд нь таны төслүүдийн янз бүрийн интерфэйсийн эцсийн хэрэглэгчийн энгийн хувилбарыг өгөх боломжтой. Эсвэл танд маш олон товчлуур хэрэгтэй бол барилгын ажилд маш их цаг хэмнэх болно. Бид Arduino номын санг ашиглан тэдгээрийг холбож, дараа нь ашигтай жишээг зурж дуусгах болно.
Алхам 1: Эхлэх
Та товчлуураа хаанаас авахаас үл хамааран мэдээллийн хуудсыг авах боломжтой эсэхийг шалгаарай, учир нь энэ нь утсыг холбоход амьдралыг хөнгөвчлөх болно. Жишээлбэл - энэ алхам дээрх зураг.
Мэдээллийн хуудас нь чухал бөгөөд энэ нь товчлуур дээрх аль зүү эсвэл холбогч нь мөр, баганад хамааралтай болохыг танд хэлэх болно. Хэрэв танд мэдээллийн хуудас байхгүй бол мөр, баганад ямар холбоо барихыг гараар тодорхойлох шаардлагатай болно.
Үүнийг мултиметр (дуугаралт) тасралтгүй ажиллах функцийг ашиглан хийж болно. 1 датчикийг 1 -р зүү дээр, нөгөө датчикийг 2 -р зүү дээр байрлуулаад товчлууруудыг нэг нэгээр нь дар. Товчлуур хэзээ хэлхээг дуусгаж байгааг тэмдэглээд дараа нь дараагийн зүү рүү шилжинэ үү. Аль нь болохыг та удахгүй мэдэх болно. Жишээлбэл, товчлуурын товчлууруудын 1 ба 5 -р товчлуурууд нь "1 ″, 2 ба 5" 4 ″ гэх мэт.
Энэ үед Arduino номын сангийн товчлуурыг татаж аваад суулгана уу. Одоо бид хоёр товчлуурыг хэрхэн ашиглахыг энгийн жишээн дээр харуулах болно.
Алхам 2: 12 оронтой товчлуур ашиглах
Бид дэлгэцийн зориулалтаар жижиг хар товчлуур, Arduino Uno нийцтэй, I2C интерфэйстэй LCD дэлгэцийг ашиглах болно. Хэрэв танд LCD байхгүй бол та текстийг үргэлж сериал монитор руу илгээж болно.
LCD дэлгэцээ утсаар холбоод дараа нь товчлуурыг Arduino руу дараах байдлаар холбоно уу: Товчлуурын 1 -р мөрийг Arduino дижитал 5 -р товчлуурын 2 -р эгнээнд Arduino дижитал 4 -тэй 3 -р мөрөнд Arduino дижитал 3 -тэй товчлуурын 4 -р мөрөнд Arduino дижитал 2 -тэй товчлуур баганад 1 -ийг Arduino дижитал 8 товчлуурт 2 -р багана руу холбоно уу. Arduino дижитал 7Keypad багана 3 -аас Arduino дижитал 6 хүртэл Хэрэв таны товчлуур биднийхээс өөр бол ноорог дээрх мөрүүдийг анхаарч үзээрэй.
// товчлуурын төрөл тодорхойлолт
RowPins [ROWS] ба colPins [COLS] массивуудын тоог өөрчлөх шаардлагатай болно. Та товчлуурын мөр, баганад холбогдсон дижитал зүү дугаарыг оруулна уу.
Цаашилбал, массив товчлуурууд нь тодорхой товчлуур дарагдсан үед LCD дэлгэц дээр гарч буй утгыг хадгалдаг. Бид үүнийг ашигласан физик товчлууртай таарч байгааг харж болно, гэхдээ та үүнийг өөрт хэрэгтэй болгон өөрчилж болно. Гэхдээ одоогоор мөр/зүү дугаарын хуваарилалтад сэтгэл хангалуун байгаа бол дараах тоймыг оруулаад байршуулна уу.
/ * Тоон товчлуур ба I2C LCD https://tronixstuff.com нь Arduino -д зориулсан товчлуурын санг ашигладаг https://www.arduino.cc/playground/Code/Keypad by Mark Stanley, Alexander Brevig */
#"Keypad.h" -ийг оруулна уу
#I2C LCD -д зориулсан "Wire.h" // оруулах #I2C автобусны LCD модульд "LiquidCrystal_I2C.h" // оруулах // https://www.dfrobot.com/wiki/index.php/I2C/TWI_LCD1602_Module_(SKU: _DFR0063) LiquidCrystal_I2C lcd (0x27, 16, 2); // 16 тэмдэгт, 2 мөр дэлгэцийн хувьд LCD хаягийг 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 тоо = 0;
Товчлуурын товчлуур = Товчлуур (makeKeymap (түлхүүрүүд), rowPins, colPins, ROWS, COLS);
хүчингүй тохиргоо ()
{lcd.init (); // lcd lcd.backlight -ийг эхлүүлэх (); // LCD арын гэрлийг асаах}
хоосон давталт ()
{char түлхүүр = keypad.getKey (); if (key! = NO_KEY) {lcd.print (key); тоолох ++; if (count == 17) {lcd.clear (); тоолох = 0; }}}
Ноорог зургийн үр дүнг видеонд үзүүлэв. Тиймээс одоо та товчлуурыг дарахад ноорог ашиглахын тулд өгөгдөл болгон хэрхэн хөрвүүлж болохыг харж болно. Бид одоо энэ жагсаалтыг том товчлуураар давтах болно.
Алхам 3: 16 оронтой тоон товчлуур ашиглах
Бид 4 × 4 хэмжээтэй том хэмжээтэй Arduino Uno нийцтэй товчлуурыг ашиглаж, дэлгэцийн зориулалтаар Akafugu-аас I2C LCD-ийг өөрчлөх болно. Дахин хэлэхэд хэрэв танд LCD байхгүй бол та текстийг үргэлж сериал монитор руу илгээж болно. LCD утсыг холбоод дараа нь товчлуурыг Arduino руу дараах байдлаар холбоно уу.
- Товчлуурын 1 -р мөр (найман зүү) Arduino дижитал 5 руу
- Товчлуурын 2 -р мөр (1 -р зүү) Arduino дижитал 4 рүү
- Товчлуурын 3 -р мөр (2 -р зүү) Arduino дижитал 3 руу
- Товчлуурын 4 -р мөр (4 -р зүү) Arduino дижитал 2 руу
- Товчлуурын багана 1 (зүү 3) Arduino дижитал 9 рүү
- Товчлуурын багана 2 (5 -р зүү) Arduino дижитал 8 руу
- Товчлуурын багана 3 (зүү 6) Arduino дижитал 7 руу
- Товчлуурын багана 4 (зүү 7) Arduino дижитал 6 руу
Ноорогын хувьд бид том тоон товчлуурыг хэрхэн яаж байрлуулсан болохыг анхаарч үзээрэй: массив дахь нэмэлт багана colPins массив дахь нэмэлт зүү ба COLS = 4 байт.
/ * Тоон товчлуур ба I2C LCD https://tronixstuff.com нь Arduino -д зориулсан товчлуурын санг ашигладаг https://www.arduino.cc/playground/Code/Keypad by Mark Stanley, Alexander Brevig */
#"Keypad.h" -ийг оруулна уу
#оруулах "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 [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 түлхүүр = keypad.getKey (); if (key! = NO_KEY) {lcd.print (key); Цуваа.хэвлэх (түлхүүр); тоолох ++; if (count == 17) {lcd.clear (); тоолох = 0; }}}
Дээрх зургийн үр дүнг видеоноос дахин харж болно.
Одоо жишээ төслийн хувьд тоон товчлуурын хамгийн их хүссэн хэрэглээ байж магадгүй …
Алхам 4: Жишээ төсөл - PIN хандалтын систем
Тоон товчлуурын хувьд хамгийн их эрэлттэй хэрэглээ бол "PIN" загварын аппликейшн юм шиг санагддаг бөгөөд Arduino-г товчлуур дээр оруулсан зөв дугаар дээр үндэслэн ямар нэгэн зүйл хийхийг зааж өгдөг. Дараах ноорог нь өмнөх ноорог дээр тайлбарласан техник хангамжийг ашигладаг бөгөөд зургаан оронтой ПИН оруулах системийг хэрэгжүүлдэг.
Болох ёстой үйлдлүүдийг correctPIN () ба бурууPIN () функцүүдэд оруулж болно. ПИН кодыг char PIN [6] массивт тохируулсан болно. Бага зэрэг нэмэлт ажил хийснээр та PIN кодыг өөрчлөх функцийг өөрөө үүсгэж болно.
// 16 оронтой тоон товчлуур бүхий PIN шилжүүлэгч // 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 [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.begin (16, 2); lcd.print ("PIN түгжээ"); саатал (1000); lcd.clear (); lcd.print ("ПИН оруулна уу …"); }
void correctPIN () // зөв ПИН оруулсан бол үүнийг хий
{lcd.print (" * Зөв ПИН *"); саатал (1000); lcd.clear (); lcd.print ("ПИН оруулна уу …"); }
буруу хүчингүйPIN () // буруу ПИН оруулсан бол үүнийг хий
{lcd.print (" * Дахин оролдох *"); саатал (1000); lcd.clear (); lcd.print ("ПИН оруулна уу …"); }
хүчингүй checkPIN ()
{int зөв = 0; int i; for (i = 0; i <6; i ++) {
хэрэв (оролдлого == ПИН )
{зөв ++; }} if (зөв == 6) {зөвPIN (); } өөр {бурууPIN (); }
for (int zz = 0; zz <6; zz ++) {оролдлого [zz] = '0'; }}
хүчингүй унших товчлуур ()
{char түлхүүр = keypad.getKey (); if (key! = NO_KEY) {оролдлого [z] = түлхүүр; z ++; switch (key) {case '*': z = 0; завсарлага; тохиолдол '#': z = 0; саатал (100); // нэмэлт дебунгийн хувьд lcd.clear (); checkPIN (); завсарлага; }}}
хоосон давталт ()
{уншсан товчлуур (); }
Төслийг видеонд үзүүлэв.
Тиймээс одоо та Arduino системтэйгээ арван хоёр, арван зургаан товчлууртай товчлуурыг ашиглах боломжтой боллоо. Та ойрын ирээдүйд товчлууруудыг ашиглан хэрэгтэй, сонирхолтой зүйлийг гаргаж ирнэ гэдэгт итгэлтэй байна.
Энэхүү бичлэгийг pmdway.com танд хүргэж байна - үйлдвэрлэгчид болон цахилгаан бараа сонирхогчдод зориулагдсан бүх зүйл, дэлхий даяар үнэгүй хүргэлт.
Зөвлөмж болгож буй:
CircuitPython ашиглан 4х4 хэмжээтэй товчлуурыг ашиглах: 4 алхам
CircuitPython -той 4х4 хэмжээтэй товчлуурыг ашиглах: Энэхүү хямд үнэтэй товчлуур нь таны CircuitPython төслүүдэд тоон оруулах энгийн аргыг санал болгодог. Би үүнийг Adafruit ItsyBitsy M0 экспресс дээр ашиглах гэж байна. Танд хэрэгтэй болно: Товчлуур - минийх 4x4ItsyBitsy M0 Express эсвэл түүнтэй адилтгах самбарMu Editor -ийг суулгасан болно
Visuino LED гэх мэт зүйлсийг удирдахын тулд товчлуурыг хэрхэн ашиглах вэ: 6 алхам
Visuino товчлуурыг LED гэх мэт зүйлсийг хянахын тулд оролт болгон хэрхэн ашиглах талаар: Энэхүү гарын авлагад бид энгийн товчлуур болон Visuino ашиглан LED -ийг асаах, унтраах талаар сурах болно
AVR микроконтроллер. LED товчлуурыг ашиглан унтраана уу. Датах товчлуурыг дарах: 4 алхам
AVR микроконтроллер. LED товчлуурыг ашиглан унтраана уу. Товчлуурыг тайлах. Энэ хэсэгт бид ATMega328PU програмын C кодыг хэрхэн хийх талаар товчлуурын унтраалгын дагуу гурван LED -ийн статусыг хэрхэн өөрчлөх талаар сурах болно. Түүнчлэн, бид "Switch Bounce" гэсэн асуудлын шийдлийг судалж үзсэн. Уламжлал ёсоор бид
Arduino дахь цэс ба товчлуурыг хэрхэн ашиглах вэ: 10 алхам (зурагтай)
Arduino дахь цэс, товчлуурыг хэрхэн ашиглах талаар: Миний Arduino 101 хичээлд Tinkercad дээр орчноо хэрхэн тохируулах талаар зааж өгөх болно. Би Tinkercad -ийг ашигладаг, учир нь энэ нь оюутнуудад хэлхээ бий болгох олон ур чадварыг харуулах боломжийг олгодог нэлээд хүчирхэг онлайн платформ юм. Та чөлөөтэй
CloudX M633 -ийг асаах, унтраах товчлуурыг ашиглах: 3 алхам
CloudX M633 -ийг асаах, унтраах товчийг ашиглах: < img src = " https: //www.instructables.com/files/deriv/FLC/57B2…"/> Та товчлуурыг дарахад LED -ийг асаахын тулд CloudX M633 -ийг ашиглаж болно гэдгийг та мэдэх үү? Энэ төсөл дээр LED -ийг асаах, унтраах товчлуурыг хэрхэн ашиглахыг танд үзүүлэх болно. хаана