Სარჩევი:

მიკრო სერვო ლაბორატორია: 9 ნაბიჯი
მიკრო სერვო ლაბორატორია: 9 ნაბიჯი

ვიდეო: მიკრო სერვო ლაბორატორია: 9 ნაბიჯი

ვიდეო: მიკრო სერვო ლაბორატორია: 9 ნაბიჯი
ვიდეო: Вот и паучок подъехал ► 1 Прохождение Marvel’s Spider-Man Remastered (ПК) 2024, ნოემბერი
Anonim
მიკრო სერვო ლაბორატორია
მიკრო სერვო ლაბორატორია

ამ ლაბორატორიაში ჩვენ ვიმუშავებთ მიკრო სერვო პოზიციის კონტროლზე პოტენომეტრით. მიკრო სერვოს "მკლავების" პოზიციიდან გამომდინარე ჩვენ გავანათებთ LED- ების შესაბამის რიგებს. ამ ლაბორატორიისთვის დაგჭირდებათ:

  • 1 მიკრო სერვო (ერთი მოწოდებულია 9 გრამიანი მიკრო სერვო)
  • 1 პოტენომეტრი
  • 10 LEDS (ორი განსხვავებული ფერის გამოყენებით)
  • 10 220 Ohm წინააღმდეგობა

ნაბიჯი 1: შეაერთეთ მიკრო სერვო

შეაერთეთ მიკრო სერვო
შეაერთეთ მიკრო სერვო

მიკრო სერვოს აქვს სამი მავთული სიმძლავრის, მიწისა და სიგნალის პულსისთვის. მიკრო სერვო მიიღებს PWM პულსს, რათა დაადგინოს რა პოზიციაზე უნდა იყოს ის (0 - 180 გრადუსი). ტექნიკურად თქვენ შეგიძლიათ გამოიყენოთ ნებისმიერი PWM ქინძისთავები Arduino Uno– ზე, მაგრამ ჩვენ ზოგადად ვიწყებთ Pin 9 – ით ან 10*–ით.

Აწყობა:

  1. შეაერთეთ პურის დაფა დენის სარკინიგზო ხაზთან (+5V) და მიწის რკინიგზაზე (GND)
  2. შეაერთეთ სერვერი დენის სარკინიგზო მაგისტრალთან, სახმელეთო რკინიგზასთან და პინ 9 -თან.

** ეს იმიტომ ხდება, რომ Servo ბიბლიოთეკა იყენებს Timer2– ს Arduino– ზე, რომელიც დაგვიბლოკავს PWM სიგნალების, analogWrite () გამოყენებას ამ ორ ქინძისთავზე ნებისმიერი მიზნით, სერვოს კონტროლის შემდგომ. მიუხედავად იმისა, რომ ჩვენ მაინც შეგვიძლია გამოვიყენოთ ეს ქინძისთავები ციფრული i/o, ჩვენ ზოგადად გამოვიყენებთ მათ ექსკლუზიურად სერვო კონტროლისთვის **

ნაბიჯი 2: შეამოწმეთ მიკრო სერვო

კოდი აქ არის სერვო ბიბლიოთეკის მიერ მოწოდებული კოდის ნიმუში. მას უბრალოდ ექნება სერვო გაწმენდის წინ და უკან 0 -დან 180 გრადუსამდე

/* გაწმენდა

BARRAGAN ეს მაგალითი კოდი არის საზოგადოებრივ დომენში. შეცვლილია 2013 წლის 8 ნოემბერს სკოტ ფიცჯერალდის მიერ https://www.arduino.cc/en/Tutorial/Sweep */ #მოიცავს "Servo.h" Servo myservo; // servo ობიექტის შექმნა servo- ს გასაკონტროლებლად // თორმეტი servo ობიექტის შექმნა შესაძლებელია უმეტეს დაფებზე int pos = 0; // ცვლადი, რათა შეინახოთ servo position void setup () {myservo.attach (9); // ანიჭებს servo პინ 9 -ს servo ობიექტს} void loop () {for (pos = 0; pos = 0; pos -= 1) {// მიდის 180 გრადუსიდან 0 გრადუსამდე myservo.write (pos); // უთხარი სერვოს, რომ წავიდეს პოზიტიურში ცვლადი 'pos' დაგვიანებით (15); // ელოდება 15 წმ სერვოს პოზიციის მიღწევამდე}}

ნაბიჯი 3: შეაერთეთ პოტენომეტრი

შეაერთეთ პოტენომეტრი
შეაერთეთ პოტენომეტრი

ჩვენ ახლა ვიმუშავებთ სერვო პოზიციის ხელით გაკონტროლებაზე პოტენციომეტრით. შეაერთეთ პოტენომეტრი შემდეგნაირად:

  • მარცხენა მხარე - სახმელეთო რკინიგზა
  • მარჯვენა მხარე - ელექტრო სარკინიგზო
  • ზედა/შუა კავშირი - Pin A0 (ანალოგი 0 პინი)

ნაბიჯი 4: პოტენომეტრის შემქმნელის კოდი

ქვემოთ მოცემულია რამდენიმე დამწყები კოდი სერვო კონტროლისთვის პოტენომეტრით. დაასრულეთ კოდი ისე, რომ როდესაც გადაადგილდებით პოტენომეტრზე, სერვო გადადის უნისონში.

/* BARRAGAN- ის მიერ გაწმენდა ეს მაგალითი არის საჯარო დომენში. შეცვლილია 2013 წლის 8 ნოემბერს სკოტ ფიცჯერალდის მიერ https://www.arduino.cc/en/Tutorial/Sweep */ #მოიცავს "Servo.h" Servo myservo; // servo ობიექტის შექმნა servo- ს გასაკონტროლებლად // თორმეტი servo ობიექტის შექმნა შესაძლებელია უმეტეს დაფებზე int pos = 0; // ცვლადი სერვო პოზიციის შესანახად int potPin = 0; // შეარჩიეთ პინი პოტენომეტრის int potVal = 0; // მიმდინარე პოტენომეტრის მნიშვნელობის void setup () {myservo.attach (9); // ანიჭებს servo პინ 9 -ს servo object pinMode (potPin, INPUT); } void loop () {potVal = analogRead (potPin); myservo.write (pos); // უთხარი სერვოს, რომ წავიდეს პოზიტიურში ცვლადი 'pos' დაგვიანებით (15); // ელოდება 15 წმ სანამ სერვო მიაღწევს პოზიციას}

ნაბიჯი 5: შეაერთეთ პირველი LED

შეაერთეთ პირველი LED
შეაერთეთ პირველი LED

მას შემდეგ, რაც ჩვენ გავაკონტროლებთ სერვისს პოტენომეტრით, ჩვენ ვაპირებთ დავამატოთ უკუკავშირი ზოგიერთი LED- ის საშუალებით. ჩვენ შევქმნით LED- ების ორ რიგს. ერთი წარმოადგენს სერვოს "მარცხენა" მკლავს და მეორე წარმოადგენს სერვოს "მარჯვენა" მკლავს. როდესაც სერვო იცვლის პოზიციას, ერთი ხელი აიწევს და მეორე დაეცემა. LED- ები ანათებს ჩვენებისთვის:

  • სავსე - მკლავი აწეული
  • ნახევრად მკლავები თანაბარია.
  • გამორთული - მკლავი დაწეულია

დიაგრამაზე ნაჩვენებია LED- ების რიგები პურის დაფის მოპირდაპირე ბოლოებზე. ეს გაკეთდა ხილვადობის გასაადვილებლად, თქვენი LED- ები უნდა იყოს გაფორმებული/თუნდაც ერთმანეთთან.

შეაერთეთ პირველი LED:

  • შეაერთეთ LED- ის მოკლე ბილიკი სახმელეთო სარკინიგზო ხაზთან
  • შეაერთეთ LED- ის უფრო გრძელი ხაზი 220 Ohm რეზისტორთან. შეაერთეთ რეზისტორი Arduino– ზე 13 პინზე.

ნაბიჯი 6: შეაერთეთ LED- ების დარჩენილი რიგი

შეაერთეთ LED- ების დარჩენილი რიგი
შეაერთეთ LED- ების დარჩენილი რიგი

მას შემდეგ, რაც პირველი LED დაემატა, შეაერთეთ დარჩენილი LED- ები:

  • უფრო მოკლე ტყვია - დაუკავშირდით სახმელეთო რკინიგზას
  • უფრო გრძელი ტყვიის - დააკავშირეთ 220 Ohm რეზისტორი LED- ებთან და Arduino– ს შემდეგ ქინძისთავებთან: 12, 11, 10, 9, 8

ნაბიჯი 7: დაამატეთ პირველი LED, მეორე რიგი

დაამატეთ პირველი LED, მეორე რიგი
დაამატეთ პირველი LED, მეორე რიგი

LED- ების მეორე რიგი დაემატება იმავე წესით, როგორც პირველი:

  • შეაერთეთ LED- ის მოკლე ბილიკი სახმელეთო სარკინიგზო ხაზთან
  • შეაერთეთ LED- ის უფრო გრძელი ხაზი 220 Ohm რეზისტორთან. დაუკავშირეთ რეზისტორი Arduino– ს პინ 7 – ს.

ნაბიჯი 8: შეაერთეთ საბოლოო LED- ები

შეაერთეთ საბოლოო LED- ები
შეაერთეთ საბოლოო LED- ები

შეაერთეთ დარჩენილი LED- ები:

უფრო მოკლე ტყვიის - დაკავშირება სახმელეთო სარკინიგზო ხაზთან უფრო გრძელი ტყვიით - შეაერთეთ 220 Ohm რეზისტორი LED- ებთან და Arduino– ს შემდეგ ქინძისთავებთან: 6, 5, 4, 3

ნაბიჯი 9: LED ეკრანის კონტროლი

თქვენი ბოლო ნაბიჯი არის თქვენი კოდის განახლება თქვენი LED- ების გასაკონტროლებლად. მას დასჭირდება გაუმკლავდეს შემდეგს:

  • ზედა რიგი ემთხვევა სერვოს "მარჯვენა მკლავს". როდესაც მკლავი ასვლის ზემოთ/ქვემოთ, LED- ები უნდა ჩართოთ/გამორთოთ.
  • ქვედა რიგი ემთხვევა სერვოს "მარცხენა მკლავს". როდესაც მკლავი ასვლის ზემოთ/ქვემოთ, LED- ები უნდა ჩართოთ/გამორთოთ.

გირჩევთ: