Mündəricat:
- Addım 1: Başlayın
- Addım 2: 12 Rəqəmli Klaviatura istifadə edin
- Addım 3: 16 Rəqəmli Klaviatura istifadə edin
- Addım 4: Nümunə Layihə - PIN Giriş Sistemi
Video: Arduino ilə Sayısal Klaviatura İstifadəsi: 4 Addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:46
Rəqəmsal klaviatura, layihələriniz üçün müxtəlif interfeyslər üçün sadə bir son istifadəçi alternativi təmin edə bilər. Və ya çoxlu düymələrə ehtiyacınız varsa, tikinti ilə əlaqədar çox vaxtınıza qənaət edə bilərlər. Arduino kitabxanasından istifadə edərək onları birləşdirərək işləyəcəyik və sonra faydalı bir nümunə eskizlə bitirəcəyik.
Addım 1: Başlayın
Klaviaturalarınızı haradan əldə etməyinizdən asılı olmayaraq, məlumat vərəqini əldə edə biləcəyinizə əmin olun - çünki bu, onları bağlayarkən həyatı asanlaşdıracaq. Məsələn - bu addımdakı görüntü.
Məlumat vərəqi vacibdir, çünki klaviaturadakı satırlar və sütunlar üçün hansı pinlərin və ya bağlayıcıların olduğunu sizə xəbər verəcəkdir. Məlumat vərəqiniz yoxdursa - satır və sütunlar üçün hansı kontaktların olduğunu əl ilə təyin etməlisiniz.
Bu, bir multimetrenin (buzzer) davamlılıq funksiyasından istifadə etməklə edilə bilər. Bir probu pin 1 -ə, digər probu 2 -ci pinə qoyaraq başlayın və düymələri bir -bir basın. Bir düymənin dövrəni tamamladığını qeyd edin, sonra növbəti pinə keçin. Tezliklə hansının olduğunu biləcəksiniz. Məsələn, klaviatura pinləri 1 və 5 "1 ″, 2 və 5" 4 ″ və s.
Bu nöqtədə klaviatura Arduino kitabxanasını yükləyin və quraşdırın. İndi hər iki klaviaturanı necə istifadə edəcəyimizi sadə nümunələrdə göstərəcəyik.
Addım 2: 12 Rəqəmli Klaviatura istifadə edin
Kiçik qara klaviatura, Arduino Uno ilə uyğunluq və ekran üçün I2C interfeysli bir LCD istifadə edəcəyik. LCD yoxdursa, hər zaman mətni serial monitora göndərə bilərsiniz.
LCD -ni bağlayın və sonra klaviaturanı Arduino'ya aşağıdakı şəkildə bağlayın: Klaviatura sırası 1 Arduino rəqəmsal 5 Klaviatura sırası 2 Arduino rəqəmsal 4 Klaviatura sırası 3 Arduino rəqəmsal 3 Klaviatura sırası 4 Arduino rəqəmsal 2 Klaviatura sütunu 1 Arduino rəqəmsal 8 Klaviatura sütunu 2 Arduino digital 7Keypad sütunu 3 Arduino rəqəmsal 6 -ya uyğun olaraq klaviaturanız bizimkindən fərqlidirsə, eskizdəki sətirlərə diqqət yetirin:
// klaviatura növü tərifi
Satırdakı pinləri [ROWS] və colPins'i [COLS] dəyişdirmək lazım olduğu üçün. Klaviaturanın sıralarına və sütunlarına bağlı olaraq rəqəmsal pin nömrələrini daxil edirsiniz.
Bundan əlavə, sıra düymələri müəyyən bir düyməyə basıldıqda LCD -də göstərilən dəyərləri saxlayır. İstifadə etdiyimiz fiziki klaviatura ilə uyğunlaşdırdığımızı görə bilərsiniz, ancaq ehtiyacınız olan hər şeyi dəyişdirə bilərsiniz. Ancaq hələlik, satır/pin nömrəsi ayırmalarından razı qaldıqdan sonra aşağıdakı eskizi daxil edin və yükləyin:
/ * Rəqəmsal klaviatura və I2C LCD https://tronixstuff.com Arduino üçün Keypad kitabxanasından istifadə edir https://www.arduino.cc/playground/Code/Keypad by Mark Stanley, Alexander Brevig */
#"Keypad.h" daxil edin
#I2C LCD üçün "Wire.h" // daxil edin #I2C avtobus LCD modulu üçün "LiquidCrystal_I2C.h" // daxil edin // https://www.dfrobot.com/wiki/index.php/I2C/TWI_LCD1602_Module_(SKU: _DFR0063) LiquidCrystal_I2C lcd (0x27, 16, 2); // 16 simvol və 2 sətirli ekran üçün LCD ünvanını 0x27 olaraq təyin edin
// klaviatura növü tərifi
const bayt ROWS = 4; // dörd satır const bayt COLS = 3; // üç sütun char düymələri [ROWS] [COLS] = {{'1', '2', '3'}, {'4', '5', '6'}, {'7', '8', '9'}, {'*', '0', '#'}};
bayt rowPins [ROWS] = {
5, 4, 3, 2}; // klaviatura bayt colPins [pinləri] satır pinouts qoşulmaq [COLS] = {8, 7, 6}; // klaviaturanın sütun pinoutlarına qoşulun
int sayı = 0;
Klaviatura klaviaturası = Klaviatura (makeKeymap (düymələr), rowPins, colPins, ROWS, COLS);
boş quraşdırma ()
{lcd.init (); // lcd lcd.backlight () işə salın; // LCD arxa işığı yandırın}
boşluq döngəsi ()
{char key = keypad.getKey (); if (key! = NO_KEY) {lcd.print (key); saymaq ++; əgər (say == 17) {lcd.clear (); say = 0; }}}
Və eskizin nəticələri videoda göstərilir. Beləliklə, indi bir eskizdə istifadə etmək üçün düymələrin necə məlumatlara çevrilə biləcəyini görə bilərsiniz. İndi bu nümayişi daha böyük klaviatura ilə təkrarlayacağıq.
Addım 3: 16 Rəqəmli Klaviatura istifadə edin
Arduino Uno ilə uyğun olan daha böyük 4 × 4 klaviatura istifadə edəcəyik və ekran məqsədləri üçün Akafugu-dan I2C LCD-dən istifadə edəcəyik. Yenə də LCD -niz yoxdursa, həmişə mətni serial monitora göndərə bilərsiniz. LCD -ni bağlayın və sonra klaviaturanı Arduino -ya aşağıdakı şəkildə bağlayın:
- Klaviatura sırası 1 (səkkiz pin) Arduino digital 5 -ə
- Klaviatura sırası 2 (pin 1) Arduino digital 4 -ə
- Klaviatura sırası 3 (pin 2) Arduino digital 3 -ə
- Klaviatura sırası 4 (pin 4) Arduino digital 2 -ə
- Klaviatura sütunu 1 (pin 3) Arduino digital 9 -a
- Klaviatura sütunu 2 (pin 5) Arduino digital 8 -ə
- Klaviatura sütunu 3 (pin 6) Arduino digital 7 -ə
- Klaviatura sütunu 4 (pin 7) Arduino digital 6 -ya
İndi eskiz üçün - daha böyük rəqəmsal klaviatura üçün necə yerləşdirdiyimizə diqqət yetirin: dizidəki əlavə sütun char düymələri colPins massivindəki əlavə pin və bayt COLS = 4.
/ * Rəqəmsal klaviatura və I2C LCD https://tronixstuff.com Arduino üçün Keypad kitabxanasından istifadə edir https://www.arduino.cc/playground/Code/Keypad by Mark Stanley, Alexander Brevig */
#"Keypad.h" daxil edin
#daxil "Wire.h" // I2C LCD üçün #include "TWILiquidCrystal.h" // https://store.akafugu.jp/products/26 LiquidCrystal lcd (12, 11, 5, 4, 3, 2);
const bayt ROWS = 4; // dörd sıra
const baytı COLS = 4; // dörd sütun char düymələri [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; bayt rowPins [ROWS] = {5, 4, 3, 2}; // klaviatura baytı colPins [pinləri] satır pinouts qoşulmaq [COLS] = {9, 8, 7, 6}; // klaviatura sütun pinoutlarına qoşulun int count = 0;
Klaviatura klaviaturası = Klaviatura (makeKeymap (düymələr), rowPins, colPins, ROWS, COLS);
boş quraşdırma ()
{Serial.begin (9600); lcd.begin (16, 2); lcd.print ("Klaviatura sınağı!"); gecikmə (1000); lcd.clear (); }
boşluq döngəsi ()
{char key = keypad.getKey (); if (key! = NO_KEY) {lcd.print (key); Serial. çap (açar); saymaq ++; əgər (say == 17) {lcd.clear (); say = 0; }}}
Və yenə də yuxarıdakı eskizin nəticələrini videoda görə bilərsiniz.
İndi nümunə bir layihə üçün, ehtimal ki, rəqəmsal klaviaturanın ən çox tələb olunan istifadəsi …
Addım 4: Nümunə Layihə - PIN Giriş Sistemi
Rəqəmsal klaviatura üçün ən çox tələb olunan istifadə, "PIN" üslublu bir tətbiq kimi görünür, burada Arduino-ya klaviatura daxil edilmiş düzgün nömrəyə əsaslanaraq bir şey etməyi tapşırır. Aşağıdakı eskiz əvvəlki eskiz üçün təsvir olunan aparatdan istifadə edir və altı rəqəmli PİN giriş sistemini tətbiq edir.
Baş veriləcək hərəkətlər, doğruPIN () və səhvPIN () funksiyalarına daxil edilə bilər. Və PİN dizi char PIN -də [6] təyin olunur. Bir az əlavə işlə öz PIN dəyişdirmə funksiyanızı da yarada bilərsiniz.
// 16 rəqəmli rəqəmsal klaviatura ilə PIN açarı // https://tronixstuff.com #include "Keypad.h" #include #include LiquidCrystal lcd (12, 11, 5, 4, 3, 2);
const bayt ROWS = 4; // dörd sıra
const baytı COLS = 4; // dörd sütun char düymələri [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; bayt rowPins [ROWS] = {5, 4, 3, 2}; // klaviatura bayt colPins [pinləri] satır pinouts qoşulmaq [COLS] = {9, 8, 7, 6}; // klaviaturanın sütun pinoutlarına qoşulun
Klaviatura klaviaturası = Klaviatura (makeKeymap (düymələr), rowPins, colPins, ROWS, COLS);
simvol PIN [6] = {
'1', '2', 'A', 'D', '5', '6'}; // gizli (!) sayı char cəhdimiz [6] = {'0', '0', '0', '0', '0', '0'}; // müqayisə üçün istifadə olunur int z = 0;
boş quraşdırma ()
{Serial.begin (9600); lcd.begin (16, 2); lcd.print ("PIN Kilidi"); gecikmə (1000); lcd.clear (); lcd.print ("PIN daxil edin …"); }
void correctPIN () // düzgün PIN daxil edildikdə bunu edin
{lcd.print (" * Düzgün PIN *"); gecikmə (1000); lcd.clear (); lcd.print ("PIN daxil edin …"); }
void wrongPIN () // səhv PİN daxil edildikdə bunu edin
{lcd.print (" * Yenidən cəhd edin" "); gecikmə (1000); lcd.clear (); lcd.print ("PIN daxil edin …"); }
etibarsız checkPIN ()
{int düzgün = 0; int i; üçün (i = 0; i <6; i ++) {
əgər (cəhd edin == PIN )
{düzgün ++; }} əgər (düzgün == 6) {doğruPIN (); } başqa {yanlışPIN (); }
for (int zz = 0; zz <6; zz ++) {cəhdi [zz] = '0'; }}
oxumaq düymələri boşdur ()
{char key = keypad.getKey (); əgər (açar! = YOX_KEY) {cəhd [z] = açar; z ++; switch (key) {case '*': z = 0; fasilə; hal '#': z = 0; gecikmə (100); // əlavə çıxarmaq üçün lcd.clear (); checkPIN (); fasilə; }}}
boşluq döngəsi ()
{oxu düymələri (); }
Layihə videoda nümayiş olunur.
Beləliklə, indi Arduino sistemlərinizlə on iki və on altı düyməli klaviatura istifadə edə bilərsiniz. Əminəm ki, yaxın gələcəkdə klaviatura istifadə edərək faydalı və maraqlı bir şeylə qarşılaşacaqsınız.
Bu yazı pmdway.com tərəfindən sizə təqdim olunur - istehsalçılar və elektronika həvəskarları üçün hər şey, bütün dünyada pulsuz çatdırılma.
Tövsiyə:
Mifare Ultralight C -nin Arduino -da RC522 ilə istifadəsi: 3 addım
Arduino -da RC522 ilə Mifare Ultralight C -nin istifadəsi: Kart sahiblərini müəyyən etmək və ya bir şey etməyə icazə vermək (qapını açmaq və s.) Üçün RFID texnologiyasından istifadə etmək olduqca yaygın bir yanaşmadır. DIY tətbiqi halında RC522 modulu olduqca ucuz olduğu üçün geniş istifadə olunur və bu modul üçün çoxlu kod mövcuddur
Arduino ilə İnfraqırmızı Sensorun İstifadəsi: 8 Addım (Şəkillərlə birlikdə)
İnfraqırmızı Sensorun Arduino ilə İstifadəsi: İnfraqırmızı (aka IR) sensoru nədir? İQ sensoru, standartlarla müəyyən edilmiş müəyyən tezlik aralığında İQ siqnallarını tarayan və çıxış pinindəki elektrik siqnallarına çevirən elektron cihazdır (adətən siqnal pimi adlanır). . IR siqnalı
Arduino ilə LCD Ekranın istifadəsi: 5 addım
Arduino ilə LCD Ekranın İstifadəsi: Bu Təlimatlar dərsində, mətnlərin göstərilməsi və Arduino istifadə edərək 16 ilə 2 LCD -də göstərilməsi nümayiş olunur. Başlayaq və ümid edirəm zövq alacaqsınız
Arduino Klaviatura İstifadəsi Demosu (HID) və Qarşısının Alınması: 4 Adım (Şəkillərlə birlikdə)
Arduino Klaviatura İstismar Demosu (HID) və Qarşısının Alınması: Bu layihədə HID (humain interface cihazı) istifadə edərək mümkün bir USB hücumunu simulyasiya etmək üçün bir arduino leonardo istifadə edəcəyik. Bu təlimatı hakerlərə kömək etmək üçün deyil, sizə bəzi təhlükələri göstərmək və özünüzü onlardan necə qorumaq üçün yaratdım
8051 ilə Klaviatura Arayüzü və 7 Segmentdə Klaviatura Nömrələrini Göstərmək: 4 Addım (Şəkillərlə)
8051 ilə Klaviatura Arayüzü və 7 Segmentdə Klaviatura Nömrələrini Göstərmək: Bu dərslikdə 8051 ilə klaviaturanı necə birləşdirə biləcəyimizi və klaviatura nömrələrini 7 seqmentli ekranda necə göstərəcəyimizi izah edəcəyəm