Mundarija:
- 1 -qadam: Klaviatura simini ulang
- 2 -qadam: Mikro Servo qo'shing
- 3 -qadam: Servo klaviaturasini ishlatish uchun kodni o'zgartiring
Video: Klaviatura yordamida xizmat ko'rsatish pozitsionizatsiyasi: 3 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:28
Bu yo'riqnomada biz Arduino Uno bilan ishlaydigan klaviatura yordamida mikro-Servo boshqaradigan loyihani yaratamiz.
Ishlatilgan materiallar:
Arduino Uno
Non paneli
4x4 klaviatura
Mikro-Servo
1 -qadam: Klaviatura simini ulang
Siz qilishingiz kerak bo'lgan birinchi narsa - bu Arduino -dan non panelidagi elektr rampasi va topraklama simini ulash
- 5V pinni elektr tarmog'iga ulang (qizil)
- Topraklama pinini (GND) topraklama rayiga ulang (ko'k)
Endi non paneli kuchga ega va erga ulangan bo'lsa, biz o'z komponentlarimizni ulashni boshlashimiz mumkin.
Klaviaturani ulash oson, lekin siz klaviatura va arduino pimlariga e'tibor berishingiz kerak. Bizning kodimizga e'tibor qaratsak, bu juda foydali bo'ladi.
Simlarni ishlatganda chapdan boshlashni unutmang!
- Birinchi pin 13 ga to'g'ri keladi
- Ikkinchi pin 12 ga to'g'ri keladi
- Uchinchi pin 11 ga to'g'ri keladi
- To'rtinchi pin 10 ga to'g'ri keladi
- Beshinchi pin 9gacha
- Oltinchi pin 8gacha
- Ettinchi pin 7gacha
- Sakkizinchi pin 6 ga
Klaviaturani ulashda raqamli pwm pinini ochiq saqlashni unutmang. Bizga mikro-servo uchun kerak bo'ladi
Kodni olishdan oldin, klaviatura kutubxonasini o'rnatganingizga ishonch hosil qiling. Uni eskizda, so'ngra eskizlar tabida, kutubxonada topish mumkin. Siz klaviaturadan foydalana olmaysiz.
Keling, kodga murojaat qilaylik va klaviatura ishlayotganiga va qatnashgan qiymatlarni berishiga ishonch hosil qilaylik
Tez eslatmalar: Klaviaturani tekshirish uchun if iborasi borligiga ishonch hosil qiling, aks holda u ishlamaydi. Kechiktirishlardan ham ehtiyot bo'ling, ular klaviaturadan ro'yxatdan o'tgan tugmachalarni buzadi
#qo'shing
const bayt qatorlari = 4; // klaviatura to'ldirilganligi uchun to'rt qator
const bayt ustunlari = 4; // yuqoridagi kabi to'rtta ustun
char tugmalari [qatorlar] [ustunlar] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C '}, {'*',' 0 ','#',' D '}};
bayt qatorP [qatorlar] = {13, 12, 11, 10}; // klaviaturaning qator pinlari
bayt ustunlariP [ustunlar] = {9, 8, 7, 6}; // klaviatura ustun ustunlari
Klaviatura paneli = Klaviatura (makeKeymap (tugmalar), rowP, ustunlarP, satrlar, ustunlar); // klaviatura yaratish
bo'sh o'rnatish () {
Serial.begin (9600); }
void loop () {
char tugmasi Pressed = pad.getKey (); // agar tugmani bosilsa // belgini klaviaturadan oling. }}
2 -qadam: Mikro Servo qo'shing
Endi servo motorni qo'shamiz. Buni hozirgi loyihamizga qo'shish juda oson, chunki mikro serverda faqat uchta sim bor.
- Jigarrang sim non taxtasida topraklama rayiga o'tadi
- Qizil Quvvat rayiga o'tadi
- Apelsin Arduino -dagi 3 -pinga o'tadi. Esda tutingki, mikro serverda Arduino -da PWM pin bo'lishi kerak. Bu TIMER2 yordamida servo bilan bog'liq
Keling, biz mikro servo simini to'g'ri ulaganimizga va uning harakatlanishiga ishonch hosil qilaylik
#qo'shish #qo'shish "Servo.h"
const bayt qatorlari = 4; // klaviatura to'ldirilganligi uchun to'rt qator
const bayt ustunlari = 4; // yuqoridagi kabi to'rtta ustun
char tugmalari [qatorlar] [ustunlar] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C '}, {'*',' 0 ','#',' D '}};
bayt qatorP [qatorlar] = {13, 12, 11, 10}; // klaviaturaning qator pinlari
bayt ustunlariP [ustunlar] = {9, 8, 7, 6}; // klaviatura ustun ustunlari
Klaviatura paneli = Klaviatura (makeKeymap (tugmalar), rowP, ustunlarP, satrlar, ustunlar); // klaviatura yaratish
Servo oqimi Servo; // 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 () {
Serial.begin (9600); currentServo.attach (3); // servo ob'ektga 9 -pinli servo biriktiriladi
}
void loop () {
char tugmasi Pressed = pad.getKey (); // agar tugmani bosilsa // tugmachadan belgi olinsa // klaviaturada qaysi tugma bosilganligini ko'rsating {Serial.println (buttonPressed); }
currentServo.write (95);
}
3 -qadam: Servo klaviaturasini ishlatish uchun kodni o'zgartiring
Bilingki, biz o'z kodimizni o'zgartiramiz, shunda biz klaviaturadagi ma'lum bir tugmani bosganimizda, servo ma'lum bir joyga o'tadi. Birinchidan, muhim narsa. 0 uchun servo pozitsiyasi g'alati edi. Menda doimiy aylanish servo bo'lgani uchun, u 0 ga yaqinlashganda, servo aylana boshladi. Kodni kiritgan raqamim, bu sodir bo'lmaguncha, iloji boricha kam edi. Qanday bo'lmasin, mening oxirgi kodim:
#qo'shing #qo'shing
const bayt qatorlari = 4; // klaviatura to'ldirilganligi uchun to'rt qator
const bayt ustunlari = 4; // yuqoridagi kabi to'rtta ustun
char tugmalari [qatorlar] [ustunlar] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C '}, {'*',' 0 ','#',' D '}};
bayt qatorP [qatorlar] = {13, 12, 11, 10}; // klaviaturaning qator pinlari
bayt ustunlariP [ustunlar] = {9, 8, 7, 6}; // klaviatura ustun ustunlari
Klaviatura paneli = Klaviatura (makeKeymap (tugmalar), rowP, ustunlarP, satrlar, ustunlar); // klaviatura yaratish
MyServo xizmat ko'rsatish; //
bo'sh o'rnatish () {
Serial.begin (9600); myServo.attach (5); // servo ob'ektga 9 -pinli servo biriktiriladi}
void loop () {
char tugmachasi = pad.getKey (); // belgini klaviaturadan oling, agar (key == '0') {myServo.write (11); Serial.println ("0"); kechikish (15); } if (key == '1') {myServo.write (12); Serial.println ("1"); kechikish (15); } if (key == '2') {myServo.write (24); Serial.println ("2"); kechikish (15); } if (key == '3') {myServo.write (36); Serial.println ("3"); kechikish (15); }
agar (kalit == '4')
{myServo.write (48); Serial.println ("4"); kechikish (15); }
agar (kalit == '5')
{myServo.write (60); Serial.println ("5"); kechikish (15); }
agar (kalit == '6')
{myServo.write (72); Serial.println ("6"); kechikish (15); }
agar (kalit == '7')
{myServo.write (84); Serial.println ("7"); kechikish (15); }
agar (kalit == '8')
{myServo.write (96); Serial.println ("8"); kechikish (15); }
agar (kalit == '9')
{myServo.write (108); Serial.println ("9"); kechikish (15); }
agar (kalit == '*')
{myServo.write (120); Serial.println ("*"); kechikish (15); }
agar (kalit == '#')
{myServo.write (132); Serial.println ("#"); kechikish (15); }
agar (kalit == 'A')
{myServo.write (146); Serial.println ("A"); kechikish (15); }
agar (kalit == 'B')
{myServo.write (158); Serial.println ("B"); kechikish (15); }
agar (kalit == 'C')
{myServo.write (170); Serial.println ("C"); kechikish (15); }
agar (kalit == 'D')
{myServo.write (180); Serial.println ("D"); kechikish (15); }}
Tavsiya:
Qattiq disklar: diagnostika, nosozliklarni tuzatish va texnik xizmat ko'rsatish: 3 qadam
Qattiq disklar: diagnostika, nosozliklarni tuzatish va texnik xizmat ko'rsatish: Qattiq disk nima?- Oddiy qilib aytganda, qattiq disk- bu sizning barcha ma'lumotlaringizni saqlaydi. U qattiq diskni o'z ichiga oladi, u erda sizning barcha fayllaringiz va papkalaringiz jismonan joylashgan. Ma'lumot diskda magnit sifatida saqlanadi, shuning uchun u diskda qoladi
Sharp Optonica RP-114H-ni qanday ta'mirlash / xizmat ko'rsatish: 11 qadam (rasmlar bilan)
Sharp Optonica RP-114H-ni qanday ta'mirlash / xizmat ko'rsatish kerak: Shunday qilib, men vertikal aylanuvchi, Optonica RP-114H-ni ta'mirlash va texnik xizmat ko'rsatishni tugatdim. pichirlash turi, shuning uchun u umuman xizmat ko'rsatilmagan va
Do'konlar, oziq -ovqat mahsulotlari va xizmat ko'rsatish markazlari uchun EXCEL -dan shtrix -kodlardan foydalangan holda pos -tizim: 7 qadam
EXCEL -dan DUKONLAR, GROCERIYALAR VA XIZMAT KO'RSATISHLARI POS -TIZIMI Shtrix -kodlardan foydalangan holda: Men sizga bu blog bilan kichik do'konlar va xizmat ko'rsatish markazlari uchun oddiy POS (savdo nuqtasi) tizimini yaratish usulini tanishtiraman. Ushbu usul yordamida siz maxsus dasturiy ta'minot yoki qimmat uskunasiz quyidagi imkoniyatlarni boshqarishingiz mumkin. v Muammo
Vibratsiyali va Thingspeak yordamida aylanadigan mashinalarga oldindan texnik xizmat ko'rsatish: 8 qadam
Vibratsiyali va gapirish moslamalari yordamida aylanadigan mashinalarga oldindan texnik xizmat ko'rsatish: Shamol turbinalari, gidroturbinalar, indüksiyon dvigatellari va boshqalar kabi aylanadigan mashinalar har xil eskirish va yirtilishga duch keladi. Ushbu nosozliklar va aşınmalarning aksariyati qurilmadagi g'ayritabiiy tebranishlardan kelib chiqadi. Ushbu mashinalar ko'pincha og'ir yuk ostida ishlaydi
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