Mündəricat:
- Addım 1: Şematik Zaman
- Addım 2: Kodlaşdırma vaxtı
- Addım 3: Bütün bunlar nə deməkdir?
- Addım 4: Problemlərin aradan qaldırılması
- Addım 5: Hər hansı bir sualınız varsa, şərh bölməsində soruşun və Abunə olmağı unutmayın
Video: Klaviatura Servo Kilidi: 5 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:42
Hər kəsə salam, inşallah gününüz xoş keçər. Ümid etmirəmsə, bu dərsliyə və bəzi müalicəvi musiqiyə açıq fikirlə geri dönə bilərsiniz. Proqramlaşdırma çətin ola bilər. Şükürlər olsun ki, bu dərslik çətin deyil, buna görə də (qüdrətli səslə) adlı məşhur bir işi həyata keçirə bilərsiniz: ULTIMATE SERVO KEYPAD LOCK !!! Bu, həqiqətən mənim təqdimatımdır, ümid edirəm bəyənmisiniz. Hər halda yazmaq üçün barmaqlarımızı istiləşdirək. (Sərin bir mahnı: can-can mahnısı (klassik musiqi)).
Təchizat:
-Barmaqlarınız
-Əlləriniz də vacibdir
-Arduino üçün USB kabeli
-İstənilən növ arduino mövcuddur (məndə Arduino Mega var)
- Matrix Keypad (klaviatura - ebay, klaviatura - amazon)
-Mikro və ya standart servo (mikro servo istifadə edirəm)
-* İsteğe bağlı* Breadboard - istənilən növ
-* İsteğe bağlı* Enerji təchizatı (5V)
Addım 1: Şematik Zaman
Yaxşı, əvvəlcə nə etməli? Arduino'yu kompüterə bağlayın. Növbəti düyməni bağlayın. *Qeyd - sancaqları klaviaturadakı son pindən arduinonun ilk rəqəmsal pininə bağlamalısınız. Və bundan sonra sağdan sola gedin*. Klaviatura arduinoda 2-9 sancaqlar var. Servo rəqəmsal siqnal kimi pin 10 -a malikdir. Arduino, klaviatura, servo və 5V əsaslarını da bağlayın. * Həm də unutmayın - servonun ən yaxşı şəkildə xarici bir enerji mənbəyi və ya 5V (divar plug -in) olan bir adapterlə istifadə edildiyini, ancaq yenə də isteğe bağlı olduğunu söyləyə bilərik. Arduinodan servoya tel bağlamaq üçün. Bu sxem yeni başlayanlar üçün kömək etmir, buna görə qısa bir şəkildə izah etməyə icazə verin. Əsasən, son pin 2, birincisi 9, ikisi 8, üçü 7 və s. Soldan sağa gedin 2 2.
Addım 2: Kodlaşdırma vaxtı
Tamam, indi kodlaşdırma hissəsinə keçdik! Əsl sehrin olduğu yer budur! Beləliklə, əvvəlcə klaviatura və servonun sınanması üçün bir test proqramı var. Burada:
//www.elegoo.com//2016.12.9
/* @fayl CustomKeypad.pde
|| @versiya 1.0 || @müəllif Alexander Brevig || @əlaqə saxlayın [email protected] || || @description || | Klaviatura ölçüsünü və açar dəyərlərini dəyişdirdiyini nümayiş etdirir. || # */ # daxil edin
const bayt ROWS = 4; // dörd sıra
const baytı COLS = 4; // dörd sütun // klaviatura düymələrindəki simvolları təyin char hexaKeys [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5 ',' 6 ',' B '}, {' 7 ',' 8 ',' 9 ',' C '}, {'*',' 0 ','#',' D '}}; bayt rowPins [ROWS] = {9, 8, 7, 6}; // klaviatura bayt colPins [pinləri] satır pinouts qoşulmaq [COLS] = {5, 4, 3, 2}; // klaviaturanın sütun pinoutlarına qoşulun
// NewKeypad sinifinin bir nümunəsini işə salın
Klaviatura xüsusiKeypad = Klaviatura (makeKeymap (hexaKeys), rowPins, colPins, ROWS, COLS);
boş quraşdırma () {
Serial.begin (9600); } void loop () {char customKey = customKeypad.getKey (); if (customKey) {Serial.println (customKey); }}
//www.elegoo.com//2016.12.08 #daxil edin
Servo xidməti; // 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 () {
myservo.attach (9); // pin 9 -dakı servonu servo obyektə bağlayır}
boşluq döngəsi () {
for (pos = 0; pos = 0; pos -= 1) {// 180 dərəcədən 0 dərəcəyə qədər gedir myservo.write (pos); // servoya dəyişən 'pos' gecikməsindəki mövqeyə getməsini söyləyin (15); // servonun mövqeyə çatması üçün 15ms gözləyir}}
Budur layihə kodu (sizə qarşı səmimi deyim, çox şey etmədim, sadəcə servo hissəsini əlavə etdim, bütün kodu hazırlayan insanlara təşəkkür edirəm!):
#Şifrə daxil edin.h
#klaviatura daxil edin
/*
|| Matrix Keypad istifadə edərək sadə parol girişi || 4/5/2012 Yeniləmələr Nathan Sobieck: [email protected] || *
/* şifrəni təsdiq etməkdir
//# parol cəhdini sıfırlamaqdır
/////////////////////////////////////////////////////////////////
#daxil edin
//https://www.arduino.cc/playground/uploads/Code/Password.zip #include //https://www.arduino.cc/playground/uploads/Code/Keypad.zip
Şifrə şifrəsi = Şifrə ("1234");
Servo xidməti; // servoya nəzarət etmək üçün servo obyekti yaradın
#servoPin 10 təyin edin
const bayt ROWS = 4; // Dörd sıra
const baytı COLS = 4; // sütunlar // Klaviatura düymələrini təyin edin [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', ' B '}, {' 7 ',' 8 ',' 9 ',' C '}, {'*',' 0 ','#',' D '}};
bayt rowPins [ROWS] = {9, 8, 7, 6}; // Klaviatura ROW0, ROW1, ROW2 və ROW3 -ü bu Arduino sancaqlarına qoşun.
bayt colPins [COLS] = {5, 4, 3, 2,}; // Klaviatura COL0, COL1 və COL2 -ni bu Arduino pinlərinə qoşun.
// Klaviatura yaradın
Klaviatura klaviaturası = Klaviatura (makeKeymap (düymələr), rowPins, colPins, ROWS, COLS);
boş quraşdırma () {
myservo.attach (servoPin); // 9 nömrəli servo servo obyektə yapışdırır
Serial.begin (9600);
keypad.addEventListener (keypadEvent); // bu klaviatura üçün hadisə dinləyicisi əlavə edin
myservo.write (0);
}
boşluq döngəsi () {
klaviatura.getKey ();
}
// bəzi xüsusi hadisələrə diqqət yetirin
void keypadEvent (KeypadEvent eKey) {switch (keypad.getState ()) {case PRESSED: switch (eKey) {case '*': checkPassword (); fasilə; default: password.append (eKey); }}}
etibarsız checkPassword () {
if (password.evaluate () == true) {Serial.println ("Uğur"); // İşləyirsə işə salınması üçün kod əlavə edin
myservo.write (180);
gecikmə (3000);
myservo.write (0);
parol.reset ();
} başqa əgər (password.evaluate () == false) {
Serial.println ("Səhv");
myservo.write (0);
// işləməsə işə salınacaq kod əlavə edin
}
}
Addım 3: Bütün bunlar nə deməkdir?
Yuxarıdakı kod (birincisi) Servoya "süpürmək" və ya sadəcə 0 ilə 180 dərəcə arasında getmək üçün bir siqnal verəcəkdir. Və ya soldan sağa və ya sağdan sola yarım dönmə dövrəsini tamamlayın. Kod haqqında daha ətraflı məlumat istəsəniz sizə deyə bilərəm. Sadəcə soruşun. Zərər yoxdur, sadəcə kiçik bir sual. Buyurun, edə bilərsiniz! Hər halda, ortadakı kod klaviaturanın hər düyməsini sınayır. Və kodun sonuncusu "1234" parolunu yazdığınız zaman klaviatura ilə servo ilə "açılır".
Addım 4: Problemlərin aradan qaldırılması
S: Klaviaturam işləmir.
A: İlk pin 9 olduğunu unutmayın, oradan enin. Arduino'yu kompüterin USB portuna bağladığınızdan və Arduino proqramlaşdırdığınızdan da əmin olun.
S: Servo işləmir.
A: Servo pininin 10 pin olduğunu və ortaq bir yerə ehtiyacınız olduğunu unutmayın, əgər birbaşa Arduinodan bağlanırsınızsa, narıncı pinin (mikro servoda) pin 10, qırmızı pin 5V olduğunu və qəhvəyi pin GND pinidir.
S: Arduino işləmir:
A: Hətta bağladınızmı? Bu şəxsi problem kimi səslənir
Addım 5: Hər hansı bir sualınız varsa, şərh bölməsində soruşun və Abunə olmağı unutmayın
Sağol, dərsimi izlədiyiniz üçün təşəkkürlər. Əyləncəli oldu.
Tövsiyə:
Bir Düymə Servo Asma Kilidi: 3 Addım
Bir Düyməli Servo Süspansiyon Kilidi: Tam süspansiyonlu dağ velosipedləri hamar bir sürüş təmin edir, lakin çox vaxt yoxuşda pedal sürərkən süspansiyonun kilidlənməsi tələb olunur. Əks təqdirdə, süspansiyon pedallar üzərində dayandıqca sıxılır və bu səy sərf olunur. Velosiped istehsalçıları bunu bilir və sübut edir ki
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
Klaviatura ilə Servo Positoning: 3 addım
Klaviatura ilə Servo Positoning: Bu təlimatda, bir Arduino Uno ilə işləyən bir klaviatura ilə bir Mikro Servo idarə edəcək bir layihə hazırlayacağıq. İstifadə olunan materiallar: Arduino UnoBreadboard4x4 KeypadMicro-Servo
Arduino Micro Servo Klaviatura: 3 addım
Arduino Micro Servo Klaviatura: Bu layihə üçün klaviatura vasitəsi ilə üç rəqəmli dəyərə daxil olan mikro servo yaratdım. Kitabxanaların qurulması üçün " Servo.h " və "Keypad.h". Hər ikisi də arduino.exe proqramına quraşdırıla bilər. Material
Klaviatura Qapı Kilidi: 7 Adım (Şəkillərlə birlikdə)
Klaviatura Qapı Kilidi: Arduino UNOBreadboardLCD 1602 ModuluPotentiometr 10K Ω Servo Motor4X4 Membrance Switch ModuluBuzzerGreen LEDRed LEDJumper Wires