Mundarija:
- 1 -qadam: Mikro Servo ulang
- 2 -qadam: Micro Servo -ni sinab ko'ring
- 3 -qadam: Potansiyometrni ulang
- 4 -qadam: Potentsiometrning boshlang'ich kodi
- 5 -qadam: Birinchi LEDni ulang
- 6 -qadam: LEDlarning qolgan qatorini ulang
- 7 -qadam: Birinchi LEDni, ikkinchi qatorni qo'shing
- 8 -qadam: Oxirgi LEDlarni ulang
- 9 -qadam: LED displeyini boshqarish
2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-13 06:58
Ushbu laboratoriyada biz potentsiometr yordamida mikro servo holatini nazorat qilish ustida ishlaymiz. Mikro servoning "qo'llari" pozitsiyasiga asoslanib, biz LEDlarning mos keladigan qatorlarini yoritamiz. Ushbu laboratoriya uchun sizga kerak bo'ladi:
- 1 mikro servo (9 grammli mikro servo)
- 1 potansiyometr
- 10 LED (ikki xil rangda)
- 10 220 Ohmli rezistorlar
1 -qadam: Mikro Servo ulang
Mikro servoda quvvat, er va signal pulsi uchun uchta sim bor. Mikro servo PWM pulsini qabul qiladi, u qanday holatda bo'lishi kerakligini aniqlaydi (0 - 180 daraja). Texnik jihatdan siz Arduino Uno -dagi har qanday PWM pinlaridan foydalanishingiz mumkin, lekin biz odatda Pin 9 yoki 10*dan boshlaymiz.
Sozlash:
- Non panelini elektr tarmog'iga (+5V) va er osti relsiga (GND) ulang.
- Servo quvvat simini, er osti temir yo'lini va 9 -pinni ulang.
** Buning sababi shundaki, Servo kutubxonasi Arduino -dagi Timer2 -dan foydalanadi, bu esa bizni PWM signallarini analogWrite () dan foydalanishga to'sqinlik qiladi. Biz bu pinlardan hali ham raqamli kirish/chiqish uchun foydalanishimiz mumkin bo'lsa -da, biz ularni faqat servo boshqaruv uchun ishlatamiz **
2 -qadam: Micro Servo -ni sinab ko'ring
Bu erda kod Servo kutubxonasi tomonidan berilgan namuna kodidir. Bu servo 0 dan 180 gradusgacha oldinga va orqaga siljiydi
/* Tozalash
by BARRAGAN Ushbu misol kodi jamoat mulki hisoblanadi. 2013 yil 8 -noyabrda Skott Fitsjerald tomonidan o'zgartirilgan https://www.arduino.cc/en/Tutorial/Sweep */#include "Servo.h" Servo myservo; // servo nazorat qilish uchun servo ob'ekt yaratish // o'n ikkita servo moslamani ko'pgina taxtalarda yaratish mumkin int pos = 0; // servo holatini saqlash uchun o'zgaruvchi void setup () {myservo.attach (9); // 9 -pindagi servoni servo ob'ektga} void loop () {for (pos = 0; pos = 0; pos -= 1) {// 180 gradusdan 0 darajagacha boradi myservo.write (pos); // servoga ayting 'pos' kechiktiruvchi pozitsiyasiga o'ting (15); // servo holatiga yetguncha 15ms kutadi}}
3 -qadam: Potansiyometrni ulang
Endi biz potentsiometr yordamida servo holatini qo'lda boshqarish ustida ishlaymiz. Potentsiometrni quyidagicha ulang:
- Chap tomon - er osti temir yo'li
- O'ng tomon - elektr tarmog'i
- Yuqori/O'rta ulanish - pin A0 (analog 0 pin)
4 -qadam: Potentsiometrning boshlang'ich kodi
Quyida servolarni potentsiometr yordamida boshqarish uchun boshlang'ich kod mavjud. Kodni tugating, shunda siz potansiyometrni harakatlantirsangiz, servo bir ovozdan harakat qiladi.
/* BARRAGAN tomonidan o'chirish Bu misol kodi jamoat mulki hisoblanadi. 2013 yil 8 -noyabrda Skott Fitsjerald tomonidan o'zgartirilgan https://www.arduino.cc/en/Tutorial/Sweep */#include "Servo.h" Servo myservo; // servo nazorat qilish uchun servo ob'ekt yaratish // o'n ikkita servo moslamani ko'pgina taxtalarda yaratish mumkin int pos = 0; // servo pozitsiyasini saqlash uchun o'zgaruvchi int potPin = 0; // potensiometrni ulash uchun pinni tanlang int potVal = 0; // Joriy potentsiometr qiymatini bekor qilish sozlamalari () {myservo.attach (9); // pinMode (potPin, INPUT) servo ob'ektiga 9 -pinli servo biriktiriladi; } void loop () {potVal = analogRead (potPin); myservo.write (pos); // servoga ayting 'pos' kechiktiruvchi pozitsiyasiga o'ting (15); // servo holatiga yetguncha 15ms kutadi}
5 -qadam: Birinchi LEDni ulang
Servo potentsiometr orqali boshqarilgandan so'ng, biz ba'zi LEDlar orqali fikr -mulohazalarni qo'shamiz. Biz ikkita LED qatorini yaratamiz. Ulardan biri servoning "chap" qo'lini, ikkinchisi esa servoning "o'ng" qo'lini ifodalaydi. Servo pozitsiyasini o'zgartirganda, bir qo'li ko'tariladi, ikkinchisi tushadi. LEDlar yonadi:
- to'liq qo'l ko'tariladi
- yarim qo'llar teng.
- qo'l - pastga tushiriladi
Diagrammada non paneli qarama -qarshi uchida joylashgan LEDlar qatorlari ko'rsatiladi. Bu ko'rish qulayligi uchun qilingan, sizning LED -laringiz bir -biriga o'ralgan bo'lishi kerak.
Birinchi LEDni ulang:
- LEDning qisqa simini erga ulang
- LEDning uzunroq simini 220 Ohmli rezistorga ulang. Rezistorni Arduino 13 -piniga ulang.
6 -qadam: LEDlarning qolgan qatorini ulang
Birinchi LED qo'shilgandan so'ng, qolgan LEDlarni ulang:
- Qisqa qo'rg'oshin - er osti relsiga ulang
- Uzunroq qo'rg'oshin - 220 Ohmli rezistorni LED va quyidagi Arduino pinlariga ulang: 12, 11, 10, 9, 8
7 -qadam: Birinchi LEDni, ikkinchi qatorni qo'shing
LEDlarning ikkinchi qatori birinchisiga o'xshash tarzda qo'shiladi:
- LEDning qisqa simini tuproqli temir yo'lga ulang
- LEDning uzunroq simini 220 Ohmli rezistorga ulang. Rezistorni Arduino 7 -piniga ulang.
8 -qadam: Oxirgi LEDlarni ulang
Qolgan LEDlarni ulang:
Qisqa qo'rg'oshin - er relsiga ulanish Uzunroq sim - 220 Ohmli rezistorni LED va quyidagi Arduino pinlariga ulang: 6, 5, 4, 3
9 -qadam: LED displeyini boshqarish
Sizning oxirgi qadamingiz - LEDni boshqarish uchun kodingizni yangilash. U quyidagilarni hal qilishi kerak bo'ladi:
- Yuqori qator servoning "o'ng qo'li" ga mos keladi. Qo'l yuqoriga/pastga siljiganida, LEDlarni yoqish/o'chirish kerak.
- Pastki qator servoning "chap qo'li" ga to'g'ri keladi. Qo'l yuqoriga/pastga siljiganida, LEDlarni yoqish/o'chirish kerak.