Mundarija:
- 1 -qadam: sxematik vaqt
- 2 -qadam: Kodlash vaqti
- 3 -qadam: Bularning barchasi nimani anglatadi?
- 4 -qadam: Muammolarni bartaraf etish
- 5 -qadam: Agar sizda biron bir savol bo'lsa, sharhlar bo'limida so'rang va obuna bo'lishni unutmang
Video: Klaviatura Servo qulfi: 5 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:22
Hammaga salom, kuningiz yaxshi o'tdi degan umiddaman. Agar umid qilmasangiz, siz bu darslik va terapevtik musiqaga ochiq fikr bilan qaytishingiz mumkin. Dasturlash qiyin bo'lishi mumkin. Yaxshiyamki, bu darslik qiyinchilik tug'dirmaydi, shuning uchun siz mashhur ovozni (kuchli ovozda) bajarishingiz mumkin: ULTIMATE SERVO KEYPAD LOCK !!! Bu haqiqatan ham mening kirishim, umid qilamanki sizga yoqdi. Qanday bo'lmasin, yozish uchun barmoqlarimizni isitib olaylik. (Ajoyib qo'shiq: mumkin bo'lgan qo'shiq (klassik musiqa)).
Ta'minot:
-Barmoqlaringiz
-Sizning qo'llaringiz ham muhim
-Arduino uchun USB kabeli
-Arduino -ning har qanday turi mavjud (menda Arduino Mega bor)
Matrix klaviaturasi (klaviatura - ebay, klaviatura - amazon)
-Mikro yoki standart servo (men mikro servo ishlataman)
-* Ixtiyoriy* Non paneli - har qanday turdagi
-* Ixtiyoriy* Quvvat manbai (5V)
1 -qadam: sxematik vaqt
Xo'sh, birinchi navbatda nima qilish kerak? Arduino -ni kompyuterga ulang. Keyingi klaviaturani ulang. *Eslatma - pinlarni klaviaturadagi oxirgi pindan arduino -dagi birinchi raqamli pin sifatida ulashingiz kerak. Va keyin o'ngdan chapga o'ting*. Klaviatura arduino-da 2-9-pinlarga ega. Servo raqamli signal sifatida 10 -pinga ega. Arduino, klaviatura, servo va 5V asoslarini ham bog'lang. * Shuni ham unutmangki, servo tashqi quvvat manbai yoki 5V (devorga ulanadigan) adapter bilan eng yaxshi ishlatiladi, lekin bu ixtiyoriydir. faqat Arduinodan servoga sim ulash uchun. Ushbu sxema yangi boshlanuvchilarga yordam bermaydi, shuning uchun qisqacha tushuntirishga ruxsat bering. Asosan, oxirgi pin 2 va birinchisi 9, ikkitasi 8, uchtasi 7 va boshqalar. Chapdan o'ngga 2 2.
2 -qadam: Kodlash vaqti
Xo'sh, endi biz kodlash qismiga o'tamiz! Bu erda haqiqiy sehr bo'ladi! Shunday qilib, avval klaviatura va servoni sinab ko'rish uchun test dasturi mavjud. Bu yerda:
//www.elegoo.com//2016.12.9
/* @FaylKeypad.pde
|| @version 1.0 || @muallif Aleksandr Brevig || @contact [email protected] || || @ta'rif || | Klaviatura o'lchami va kalit qiymatlarining o'zgarishini ko'rsatadi. || # */ # qo'shing
const bayt ROWS = 4; // to'rt qator
const bayt COLS = 4; // to'rtta ustun // klaviatura tugmalaridagi belgilarni belgilaydi 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 baytlari colPins [COLS] = {5, 4, 3, 2}; // klaviatura ustun ustunlariga ulanish
// NewKeypad sinfining namunasini ishga tushiring
CustomKeypad klaviaturasi = Klaviatura (makeKeymap (hexaKeys), rowPins, colPins, ROWS, COLS);
bo'sh o'rnatish () {
Serial.begin (9600); } void loop () {char customKey = customKeypad.getKey (); if (customKey) {Serial.println (customKey); }}
//www.elegoo.com//2016.12.08 #qo'shing
Xizmat ko'rsatish xizmati; // servoni boshqarish uchun servo ob'ekt yaratish
// ko'pgina taxtalarda o'n ikkita servo ob'ektni yaratish mumkin
int pos = 0; // servo holatini saqlash uchun o'zgaruvchi
bo'sh o'rnatish () {
myservo.attach (9); // servo ob'ektga 9 -pinli servo biriktiriladi}
void loop () {
uchun (pos = 0; pos = 0; pos -= 1) {// 180 darajadan 0 darajagacha boradi myservo.write (pos); // servo o'zgarmaydigan 'pos' kechikishidagi holatga o'tishini ayt (15); // servo holatiga yetguncha 15ms kutadi}}
Mana, loyiha kodi (siz bilan rostini aytsam, men juda ko'p ish qilmaganman, faqat servo qismini qo'shganman, hamma kodni yaratgan odamlarga rahmat aytaman!):
#parolni kiriting.h
#klaviaturani o'z ichiga oladi
/*
|| Matrisli klaviatura yordamida oddiy parol kiritish || 5.04.2012 Yangilanishlar Natan Sobieck: [email protected] || *
/* - parolni tasdiqlash
//# - parolni qayta tiklash urinishi
/////////////////////////////////////////////////////////////////
#qo'shing
//https://www.arduino.cc/playground/uploads/Code/Password.zip #include //https://www.arduino.cc/playground/uploads/Code/Keypad.zip
Parol paroli = Parol ("1234");
Xizmat ko'rsatish xizmati; // servoni boshqarish uchun servo ob'ekt yaratish
#servoPin 10 ni aniqlang
const bayt ROWS = 4; // To'rt qator
const bayt COLS = 4; // ustunlar // Klaviatura xaritasi tugmalarini belgilang [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', ' B '}, {' 7 ',' 8 ',' 9 ',' C '}, {'*',' 0 ','#',' D '}};
bayt rowPins [ROWS] = {9, 8, 7, 6}; // ROW0, ROW1, ROW2 va ROW3 klaviaturasini ushbu Arduino pinlariga ulang.
bayt colPins [COLS] = {5, 4, 3, 2,}; // COL0, COL1 va COL2 klaviaturasini ushbu Arduino pinlariga ulang.
// Klaviaturani yarating
Klaviatura klaviaturasi = Klaviatura (makeKeymap (tugmalar), rowPins, colPins, ROWS, COLS);
bo'sh o'rnatish () {
myservo.attach (servoPin); // servo ob'ektga 9 -pinli servo biriktiriladi
Serial.begin (9600);
keypad.addEventListener (klaviaturaEvent); // ushbu klaviatura uchun voqea tinglovchisini qo'shing
myservo.write (0);
}
void loop () {
klaviatura.getKey ();
}
// ba'zi maxsus voqealarga e'tibor bering
void keypadEvent (KeypadEvent eKey) {switch (keypad.getState ()) {case PRESSED: switch (eKey) {case '*': checkPassword (); tanaffus; standart: password.append (eKey); }}}
bekor checkPassword () {
if (password.evaluate () == true) {Serial.println ("Muvaffaqiyat"); // Agar u ishlayotgan bo'lsa, ishga tushirish uchun kod qo'shing
myservo.write (180);
kechikish (3000);
myservo.write (0);
parol.reset ();
} if if if (password.evaluate () == false) {
Serial.println ("Noto'g'ri");
myservo.write (0);
// ishlamayotgan bo'lsa, ishga tushirish uchun kod qo'shing
}
}
3 -qadam: Bularning barchasi nimani anglatadi?
Yuqoridagi kod (birinchisi) Servoga "supurish" yoki faqat 0 dan 180 darajaga o'tish uchun signal beradi. Yoki chapdan o'ngga yoki o'ngdan chapga yarim aylanani to'ldirish. Agar siz kod haqida ko'proq ma'lumotga ega bo'lishni istasangiz, men sizga ayta olaman. Iltimos, faqat so'rang. Hech qanday zarar yo'q, shunchaki oddiy savol. Qani, qila olasiz! Yaxshiyamki, o'rtadagi kod klaviaturaning har bir tugmachasini tekshiradi. Kodning oxirgi qismi "1234" parolini kiritganingizda, servo bilan "qulfini ochadi", siz taxmin qilganingizdek, klaviatura.
4 -qadam: Muammolarni bartaraf etish
Savol: Mening klaviaturam ishlamayapti.
Javob: Esda tutingki, birinchi pin - 9, u erdan pastga tushing. Bundan tashqari, arduino -ni kompyuterning USB portiga ulab, Arduino -ni dasturlashingizga ishonch hosil qiling.
Savol: Servo ishlamayapti.
Javob: Shuni esda tutingki, servo pin 10 -pinli va sizga umumiy nuqta kerak, agar siz Arduino -dan to'g'ridan -to'g'ri ulansangiz, apelsinli pin (mikro servoda) 10 -pin, qizil pin 5V va jigarrang pin - GND pin.
Savol: Arduino ishlamayapti:
Javob: Siz hatto uladingizmi? Bu shaxsiy muammoga o'xshaydi
5 -qadam: Agar sizda biron bir savol bo'lsa, sharhlar bo'limida so'rang va obuna bo'lishni unutmang
Xayr, mening darsligimni ko'rganingiz uchun tashakkur. Bu qiziqarli bo'ldi.
Tavsiya:
RFID uy qurilishi eshik qulfi: 4 qadam
RFID uy qurilishi eshik qulfi: RFID eshik qulfi - bu kundalik hayotingizda foydalanishingiz mumkin bo'lgan amaliy qurilma. Kalit kartani skanerlashda siz eshik qulfini ochishingiz mumkin. Men loyihani ushbu veb-saytdan o'zgartirdim: https://atceiling.blogspot.com/2017/05/arduino-rfid.html?m=1Yo
Rfid va Blynk taymerining qulfini ochish bilan tugun Mcu hind avtomobilining markaziy qulfi: 9 qadam
Rfid va Blynk taymer qulfini ochish bilan tugunli Mcu hind avtomobilining markaziy qulfi: Bugun men sizga hind uslubidagi avtomashinani to'liq avtomatik avtomatlashtirilgan rfid tagli blynk wifi boshqaruvi va vaqtni qulfini ochishni ko'rsataman. U ham oddiy markaziy qulfning barcha xususiyatlariga ega. markaziy qulf ONLINE FAOLIYATNI TARMOQ QILISHNI TALAB ETADI
Tnikercad -da parol bilan himoyalangan eshik qulfi: 4 qadam
Tnikercad-da parol bilan himoyalangan eshik qulfi: Ushbu loyiha uchun biz klaviaturadan kirishni olamiz, uni burchak pozitsiyasi sifatida ishlaymiz va 3-raqamli burchakka asoslangan servo dvigatelni harakatlantiramiz. Men 4 x 4 klaviatura ishlatardim, lekin Agar sizda 3x4 klaviatura bo'lsa, u juda o'xshash ulanishga ega, shuning uchun shunday bo'lishi mumkin
Klaviatura interfeysi 8051 va klaviatura raqamlarini 7 segmentda ko'rsatish: 4 qadam (rasmlar bilan)
Klaviatura interfeysi 8051 va klaviatura raqamlarini 7 segmentda ko'rsatish: Ushbu darsda men sizga klaviaturani 8051 bilan qanday bog'lashimiz va klaviatura raqamlarini 7 segmentli displeyda ko'rsatish haqida aytib beraman
Klaviatura eshik qulfi: 7 qadam (rasmlar bilan)
Klaviatura eshigi qulfi: Arduino UNOBreadboardLCD 1602 moduli Potentsiometr 10K va Omega; Servo Dvigatel 4X4 Membrance Switch ModuleBuzzerYashil LEDli Qizil LEDJumper simlari