
Mündəricat:
2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-23 12:56

Bu təlimatda, Arduino Uno ilə işləyən bir klaviatura ilə bir mikro-servoya nəzarət edəcək bir layihə hazırlayacağıq.
İstifadə olunan materiallar:
Arduino Uno
Çörək lövhəsi
4x4 klaviatura
Mikro Servo
Addım 1: Klaviaturanı bağlayın


Etməyiniz lazım olan ilk şey, Arduino -dan çörək taxtanıza elektrik dəmir yolu və topraklama rayı çəkməkdir
- 5V pinini elektrik rayına qoşun (qırmızı)
- Topraklama pinini (GND) topraklama rayına bağlayın (mavi)
İndi çörək taxtası gücə sahibdir və əsaslandırılmışdır, komponentlərimizi bağlamağa başlaya bilərik.
Klaviaturanı bağlamaq asandır, ancaq klaviatura və arduino üzərindəki sancaqlara diqqət yetirməlisiniz. Diqqətimizi kodumuza yönəltdiyimiz zaman faydalı olacaq.
Telləri istifadə edərkən soldan başlamağı unutmayın!
- İlk pin 13 -ə gedir
- İkinci pin 12 -ə gedir
- Üçüncü pin 11 -ə gedir
- Dördüncü pin 10 -a gedir
- Beşinci pin 9
- Altıncı Pin 8 -ə
- Yeddinci Pin 7 -yə
- Səkkizinci Pin 6
Klaviaturanı bağlayarkən rəqəmsal pwm pinini açıq saxlamağı unutmayın. Mikro servo üçün bizə lazım olacaq
Kodu əldə etməzdən əvvəl Klaviatura Kitabxanasını quraşdırdığınızdan əmin olun. Bunu eskizinizdə tapa bilərsiniz, sonra eskiz sekmesine kitabxana daxildir. Klaviaturanı onsuz istifadə edə bilməyəcəksiniz.
İndi koda keçək və klaviaturanın işlədiyinə və iştirak etdiyi dəyərləri verdiyinə əmin olaq
Sürətli Qeydlər: Klaviaturanı yoxlamaq üçün if ifadəsinə sahib olduğunuzdan əmin olun, əks halda işləməyəcək. Gecikmələrdən də ehtiyatlı olun, klaviaturadan qeyd olunan düymələri qarışdıracaqlar
#daxil edin
const bayt satırları = 4; // klaviatura dolu olduğundan dörd sıra
const bayt sütunları = 4; // dörd sütun, yuxarıdakı kimidir
char düymələri [satır] [sütunlar] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C '}, {'*',' 0 ','#',' D '}};
bayt sıraP [satırlar] = {13, 12, 11, 10}; // klaviaturanın sətir sancaqları
bayt sütunlarıP [sütunlar] = {9, 8, 7, 6}; // klaviaturanın sütun sancaqları
Klaviatura yastığı = Klaviatura (makeKeymap (düymələr), rowP, sütunP, satır, sütun); // klaviatura yaradın
boş quraşdırma () {
Serial.begin (9600); }
boşluq döngəsi () {
char düyməsini basıldı = pad.getKey (); // (düyməni basdıqda) // klaviaturada hansı düymənin basıldığını göstərin {Serial.println (buttonPressed); }}
Addım 2: Mikro Servo əlavə edin


İndi servo motoru əlavə edək. Bunu cari layihəmizə əlavə etmək çox asandır, çünki mikro serverdə yalnız üç tel var.
- Qəhvəyi tel çörək taxtasındakı topraklama rayına gedir
- Qırmızı güc rayına gedir
- Portağal Arduino -da Pin 3 -ə gedir. Unutmayın ki, mikro serverin Arduinoda PWM pininin olması lazımdır. Bu, TIMER2 istifadə edən servoya bağlıdır
İndi mikro servonun sağa bağlandığından və hərəkət etdiyindən əmin olaq
#daxil edin "daxil edin" Servo.h"
const bayt satırları = 4; // klaviatura dolu olduğundan dörd sıra
const bayt sütunları = 4; // dörd sütun, yuxarıdakı kimidir
char düymələri [satır] [sütunlar] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C '}, {'*',' 0 ','#',' D '}};
bayt sıraP [satırlar] = {13, 12, 11, 10}; // klaviaturanın sətir sancaqları
bayt sütunlarıP [sütunlar] = {9, 8, 7, 6}; // klaviaturanın sütun sancaqları
Klaviatura yastığı = Klaviatura (makeKeymap (düymələr), rowP, sütunlarP, satırlar, sütunlar); // klaviatura yaradın
Servo cərəyanıServo; // servoya nəzarət etmək üçün servo obyekti yaradın
// əksər lövhələrdə on iki servo obyekt yaradıla bilər
int pos = 0; // servo mövqeyini saxlamaq üçün dəyişən
boş quraşdırma () {
Serial.begin (9600); currentServo.attach (3); // 9 nömrəli servo servo obyektə yapışdırır
}
boşluq döngəsi () {
char düyməsini basıldı = pad.getKey (); // (düyməni basdıqda) // klaviaturada hansı düyməni basıldığını göstərin {Serial.println (buttonPressed); }
currentServo.write (95);
}
Addım 3: Servo üzərindəki klaviaturanı istifadə etmək üçün kodu dəyişdirin
Kodumuzu dəyişdirəcəyimizi bilirik ki, klaviaturada müəyyən bir düyməni basdığımız zaman servo müəyyən bir mövqeyə keçir. Önəmli olan bir şey. 0 üçün servo mövqeyi qəribə idi. Davamlı fırlanma servom olduğundan, 0 -a yaxınlaşanda servo sadəcə fırlanmağa başladı. Kod daxil etdiyim sayı, bu baş vermədən gedə biləcəyim qədər az idi. Hər halda, mənim son kodum budur:
#daxil edin #daxil edin
const bayt satırları = 4; // klaviatura dolu olduğundan dörd sıra
const bayt sütunları = 4; // dörd sütun, yuxarıdakı kimidir
char düymələri [satır] [sütunlar] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C '}, {'*',' 0 ','#',' D '}};
bayt sıraP [satırlar] = {13, 12, 11, 10}; // klaviaturanın sətir sancaqları
bayt sütunlarıP [sütunlar] = {9, 8, 7, 6}; // klaviaturanın sütun sancaqları
Klaviatura yastığı = Klaviatura (makeKeymap (düymələr), rowP, sütunP, satır, sütun); // klaviatura yaradın
Servo myServo; //
boş quraşdırma () {
Serial.begin (9600); myServo.attach (5); // pin 9 -dakı servonu servo obyektə bağlayır}
boşluq döngəsi () {
char düyməsi = pad.getKey (); // əgər (key == '0') {myServo.write (11); Serial.println ("0"); gecikmə (15); } if (key == '1') {myServo.write (12); Serial.println ("1"); gecikmə (15); } if (key == '2') {myServo.write (24); Serial.println ("2"); gecikmə (15); } if (key == '3') {myServo.write (36); Serial.println ("3"); gecikmə (15); }
əgər (açar == '4')
{myServo.write (48); Serial.println ("4"); gecikmə (15); }
əgər (açar == '5')
{myServo.write (60); Serial.println ("5"); gecikmə (15); }
əgər (açar == '6')
{myServo.write (72); Serial.println ("6"); gecikmə (15); }
əgər (açar == '7')
{myServo.write (84); Serial.println ("7"); gecikmə (15); }
əgər (açar == '8')
{myServo.write (96); Serial.println ("8"); gecikmə (15); }
əgər (açar == '9')
{myServo.write (108); Serial.println ("9"); gecikmə (15); }
əgər (açar == '*')
{myServo.write (120); Serial.println ("*"); gecikmə (15); }
əgər (açar == '#')
{myServo.write (132); Serial.println ("#"); gecikmə (15); }
əgər (açar == 'A')
{myServo.write (146); Serial.println ("A"); gecikmə (15); }
əgər (açar == 'B')
{myServo.write (158); Serial.println ("B"); gecikmə (15); }
əgər (açar == 'C')
{myServo.write (170); Serial.println ("C"); gecikmə (15); }
əgər (açar == 'D')
{myServo.write (180); Serial.println ("D"); gecikmə (15); }}
Tövsiyə:
ESP32 və Character LCD ilə Layad Circuits Alfasayısal Klaviatura: 4 Addım

ESP32 və Character LCD ilə Layad Circuits Alfasayısal Klaviatura: Bu məqalə, ESP32 -ə məlumat daxil etmək üçün alfasayısal klaviatura modulu və 16x2 I2C xarakterli LCD modulunun istifadəsini nümayiş etdirir. Bu üsul, ESP32-ə Wi-Fi etimadnaməsini və digər məlumatları daxil etmək və almaq üçün istifadə edilə bilər
LCD Klaviatura Qalxanı ilə DIY Zəngli Saat Necə Hazırlanır: 5 addım

LCD Klaviatura Qalxanı ilə DIY Zəngli Saat Necə Hazırlanır: Hamıya Salam! Bu təlimatda Arduino lövhəsindən istifadə edərək Zəngli saatın necə hazırlanacağını sizə göstərəcəyəm. Bu saatı qurmaq üçün Arduino UNO, LCD klaviatura Shield, 5V Buzzer və Jumper Wires istifadə etdim. Ekranda saatı görə bilərsiniz və vaxtı təyin edə bilərsiniz
Arduino ilə Klaviatura Arası. [Unikal metod]: 7 addım (şəkillərlə)
![Arduino ilə Klaviatura Arası. [Unikal metod]: 7 addım (şəkillərlə) Arduino ilə Klaviatura Arası. [Unikal metod]: 7 addım (şəkillərlə)](https://i.howwhatproduce.com/images/008/image-22226-j.webp)
Arduino ilə Klaviatura Arası. [Unikal Metod]: Salam, mənim ilk təlimatçılığa xoş gəldiniz! :) Bu təlimatlarda arduino ilə klaviatura ilə əlaqə qurmaq üçün möhtəşəm bir kitabxana - 'Klaviatura Kitabxanası' daxil olmaqla 'Şifrə kitabxanası' bölüşmək istərdim. Bu kitabxana, əldə etdiyimiz ən yaxşı xüsusiyyətləri ehtiva edir
ESP32 ilə PWM - Arduino IDE ilə ESP 32 -də PWM ilə LED Karartma: 6 addım

ESP32 ilə PWM | Arduino IDE ilə ESP 32 -də PWM ilə LED Karartma: Bu təlimatlarda Arduino IDE istifadə edərək ESP32 ilə PWM siqnallarının necə yaradılacağını görəcəyik. PWM əsasən hər hansı bir MCU -dan analoq çıxışı yaratmaq üçün istifadə olunur və bu analog çıxış 0V ilə 3.3V arasında ola bilər (esp32 vəziyyətində) & dan
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