İçindekiler:

Mikro Servo Laboratuvarı: 9 Adım
Mikro Servo Laboratuvarı: 9 Adım

Video: Mikro Servo Laboratuvarı: 9 Adım

Video: Mikro Servo Laboratuvarı: 9 Adım
Video: sg90 9g micro servo testing without servo motor driver... 2024, Kasım
Anonim
Mikro Servo Laboratuvarı
Mikro Servo Laboratuvarı

Bu laboratuvarda bir potansiyometre ile bir mikro servonun konumunu kontrol etmeye çalışacağız. Mikro servo "kollarının" konumuna bağlı olarak ilgili LED sıralarını yakacağız. Bu laboratuvar için ihtiyacınız olacak:

  • 1 mikro servo (sağlanan 9 gram mikro servodur)
  • 1 potansiyometre
  • 10 LED (iki farklı renk kullanarak)
  • 10 220 Ohm dirençler

Adım 1: Bir Mikro Servo Bağlayın

Bir Mikro Servo Bağlayın
Bir Mikro Servo Bağlayın

Mikro servo güç, toprak ve sinyal darbesi için üç kabloya sahiptir. Mikro servo, hangi konumda olması gerektiğini (0 - 180 derece) belirlemek için bir PWM darbesini kabul edecektir. Teknik olarak Arduino Uno'daki PWM pinlerinden herhangi birini kullanabilirsiniz, ancak genellikle Pin 9 veya 10* ile başlarız.

Kurmak:

  1. Breadboard'u güç rayına (+5V) ve toprak rayına (GND) bağlayın
  2. Servoyu güç rayına, toprak rayına ve Pin 9'a bağlayın.

** Bunun nedeni, Servo kitaplığının Arduino'da Timer2 kullanmasıdır, bu da bizim bir servoyu kontrol etmekten başka herhangi bir amaç için bu iki pin üzerinde PWM sinyalleri, analogWrite() kullanmamızı engelleyecektir. Bu pinleri hala dijital i/o için kullanabiliyor olsak da, genellikle bunları sadece servo kontrolü için kullanacağız**

Adım 2: Mikro Servo'yu Test Edin

Buradaki kod, Servo Kitaplığı tarafından sağlanan örnek koddur. Sadece servonun 0 ila 180 derece arasında ileri ve geri taramasına sahip olacaktır.

/* Süpürme

BARRAGAN tarafından Bu örnek kod, kamu malıdır. 8 Kasım 2013'te Scott Fitzgerald tarafından değiştirildi https://www.arduino.cc/en/Tutorial/Sweep */ #include "Servo.h" Servo myservo; // bir servoyu kontrol etmek için servo nesnesi yarat // çoğu kartta on iki servo nesnesi oluşturulabilir int pos = 0; // servo pozisyonunu saklayacak değişken void setup() { myservo.attach(9); // pin 9'daki servoyu servo nesnesine bağlar } void loop() { for (konum = 0; konum = 0; konum -= 1) { // 180 dereceden 0 dereceye gider myservo.write(kon); // servoya 'pos' gecikmesi(15) değişkeninde pozisyona gitmesini söyle; // servonun pozisyona ulaşması için 15ms bekler } }

3. Adım: Bir Potansiyometre Bağlayın

Bir Potansiyometre Bağlayın
Bir Potansiyometre Bağlayın

Şimdi servonun konumunu bir potansiyometre ile manuel olarak kontrol etmeye çalışacağız. Potansiyometreyi aşağıdaki gibi bağlayın:

  • Sol Taraf - Yer rayı
  • Sağ Taraf - Güç rayı
  • Üst/Orta bağlantı - Pin A0 (analog 0 pin)

Adım 4: Potansiyometre Başlangıç Kodu

Aşağıda, servoyu bir potansiyometre ile kontrol etmek için bazı başlangıç kodları verilmiştir. Potansiyometreyi hareket ettirdiğinizde servonun uyum içinde hareket etmesi için kodu tamamlayın.

/* Sweep by BARRAGAN Bu örnek kod kamuya açıktır. 8 Kasım 2013'te Scott Fitzgerald tarafından değiştirildi https://www.arduino.cc/en/Tutorial/Sweep */ #include "Servo.h" Servo myservo; // bir servoyu kontrol etmek için servo nesnesi yarat // çoğu kartta on iki servo nesnesi oluşturulabilir int pos = 0; // servo konumunu saklamak için değişken int potPin = 0;//Potansiyometreyi bağlamak için pini seçin int potVal = 0;//Mevcut potansiyometre değeri void setup() { myservo.attach(9); // pin 9'daki servoyu pinMode(potPin, INPUT) servo nesnesine bağlar; } void loop() { potVal = analogRead(potPin); myservo.write(konum); // servoya 'pos' gecikmesi(15) değişkeninde pozisyona gitmesini söyle; // servonun pozisyona ulaşması için 15ms bekler }

Adım 5: İlk LED'i Bağlayın

İlk LED'i Bağlayın
İlk LED'i Bağlayın

Potansiyometre ile servoyu kontrol ettirdikten sonra, bazı LED'ler aracılığıyla bazı geri bildirimler ekleyeceğiz. İki sıra LED oluşturacağız. Biri servonun "sol" kolunu, diğeri ise servonun "sağ" kolunu temsil edecektir. Servo pozisyon değiştirdikçe bir kol yükselecek ve diğeri düşecektir. LED'ler aşağıdakileri görüntülemek için yanacaktır:

  • tam kol kaldırılır
  • yarım kollar eşittir.
  • kapalı - kol indirildi

Diyagram, devre tahtasının karşıt uçlarındaki LED sıralarını gösterecektir. Bu, görünürlük kolaylığı için yapıldı, LED'leriniz birbiri ile hizalı/hatta olmalıdır.

İlk LED'i bağlayın:

  • LED'in kısa ucunu toprak rayına bağlayın
  • LED'in uzun ucunu 220 Ohm'luk bir dirence bağlayın. Direnci Arduino'daki pim 13'e bağlayın.

Adım 6: Kalan LED Sırasını Bağlayın

Kalan LED Sırasını Bağlayın
Kalan LED Sırasını Bağlayın

İlk LED eklendikten sonra kalan LED'leri bağlayın:

  • Daha kısa kablo - toprak rayına bağlayın
  • Daha uzun uç - LED'lere ve aşağıdaki Arduino Pinlerine 220 Ohm'luk bir direnç bağlayın: 12, 11, 10, 9, 8

Adım 7: İlk LED'i, İkinci Sırayı Ekleyin

İlk LED, İkinci Satır Ekle
İlk LED, İkinci Satır Ekle

İkinci LED sırası, ilkiyle aynı şekilde eklenecektir:

  • LED'in kısa ucunu toprak rayına bağlayın
  • LED'in daha uzun ucunu 220 Ohm'luk bir dirence bağlayın. Direnci Arduino'daki pim 7'ye bağlayın.

Adım 8: Son LED'leri Bağlayın

Son LED'leri Bağlayın
Son LED'leri Bağlayın

Kalan LED'leri bağlayın:

Daha kısa uç - toprak rayına bağlayın Daha uzun uç - LED'lere ve aşağıdaki Arduino Pinlerine 220 Ohm'luk bir direnç bağlayın: 6, 5, 4, 3

Adım 9: Kontrol LED Ekranı

Son adımınız, LED'lerinizi kontrol etmek için kodunuzu güncellemektir. Aşağıdakileri işlemesi gerekecek:

  • Üst sıra, servonun "sağ kolu" ile eşleşecektir. Kol yukarı/aşağı hareket ederken LED'ler açılıp/kapanmalıdır.
  • Alt sıra, servonun "sol kolu" ile eşleşecektir. Kol yukarı/aşağı hareket ederken LED'ler açılıp/kapanmalıdır.

Önerilen: