Mundarija:

Mikro Servo laboratoriyasi: 9 qadam
Mikro Servo laboratoriyasi: 9 qadam

Video: Mikro Servo laboratoriyasi: 9 qadam

Video: Mikro Servo laboratoriyasi: 9 qadam
Video: ТОП—5. Электронные конструкторы для детей. Рейтинг 2022 года! 2024, Noyabr
Anonim
Mikro Servo laboratoriyasi
Mikro Servo laboratoriyasi

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 Servo ulang
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:

  1. Non panelini elektr tarmog'iga (+5V) va er osti relsiga (GND) ulang.
  2. 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

Potentsiometrni ulang
Potentsiometrni 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

Birinchi LEDni ulang
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

LEDlarning qolgan qatorini ulang
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

Birinchi LEDni, ikkinchi qatorni qo'shing
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

Oxirgi LEDlarni ulang
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.

Tavsiya: