Servo IR, Mete Hoca PandaShield R1‘in kullanımı için hazırlanmış örnek kodlardan biridir.
Kızılötesi (IR) sensörden okunan değerlerle servoyu hareket ettirir.
PandaShield üzerindeki SERVO1, Arduino’nun 5 numaralı dijital pinine bağlıdır. SERVO2 ise 6 numaralı dijital pinde kullanılabilir.
Bu sketch kodunda servo pozisyonunu IR sensörden alır. Parmağımızı IR sensör üzerine yakınlaştırıp uzaklaştırarak servonun hareketini gözleyelim.
Servo motorlar küçük görünseler de ilk hareket anında USB’nin sağlayabileceğinden fazla güç tüketebilirler. Bu yüzden servo kullanırken Arduino’yu harici bir güç kaynağı ile beslemek gerekebilir.
Servo ile çalışırken Arduino’yu USB’den beslemek Arduino’nun zaman zaman reset atmasına neden olabilir, ancak kısa ve iyi bir USB kablo kullanılırsa bu sketch kodu gibi basit denemelerde geçici olarak kullanılabilir.
Bu sketch kodunun da dahil olduğu tüm örnek kodları toplu olarak indirmek için buraya tıklayın.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
/* Servo IR | Mete Hoca PandaShield R1 Kızılötesi (IR) sensörden okunan değerlerle servoyu hareket ettirir. BAŞLANGIÇ: - Bu sketch kodunu Arduino'ya yükleyin. SONUÇ: - Parmağımızı IR sensör üzerine yakınlaştırıp uzaklaştırarak servonun hareketini gözleyelim. - Servo hareket ederken Arduino veya PandaShield üzerindeki LED'lerin parlaklıklarının azaldığına dikkat edelim. Bu, servo motorlarının Arduino'nun USB üzerinden besleyebileceğinden fazla güç çekildiğini gösterir. Bu durumlarda Arduino kendi kendine reset atabilir. - Servoları kullanmanın en doğru yolu Arduino veya servoyu harici bir güç kaynağı ile beslemektir. Mete Hoca, Şubat 2023, https://www.metehoca.com/ EK: Arduino'ya Güçlü Başlangıç Eğitim ve Proje Seti'ni keşfet! */ #include "Servo.h" // Arduino'nun kendi servo kütüphanesi Servo SERVO1; // Servomuza bir isim veriyoruz byte IR = A0; // TCRT5000 Arduino'nun A0 pinine bağlı byte SERVO1_PIN = 5; // PandaShield R1 üzerindeki SERVO1 pini void setup() { SERVO1.attach(SERVO1_PIN); // Servoyu yazılımsal olarak bağlıyoruz } void loop() { int deger = analogRead(IR); // Okunan değeri "deger" değişkenine aktaralım byte aci = map(deger, 0, 1023, 0, 180); // Okunan 0-1023 arasındaki değeri // 0-180 arasına dönüştürelim SERVO1.write(aci); // Hesaplanan açıyı servoya gönderelim } |
Arduino’da iyi olmak için öncelikle elektronikte iyi olmak gerekir. Türkiye’nin en iyi temel elektronik eğitim seti ARDUINO ÖNCESİ TEMEL ELEKTRONİK EĞİTİM VE DENEY SETİ‘ni keşfedin. Gereksiz bilgilerden arındırılmış basit ve eğlenceli anlatımla ELEKTRONİK öğrenin ve Arduino’ya METE HOCA farkıyla güçlü başlayın!
ÖZGÜN ve KULLANIŞLI projeler yapabilmek için ARDUINO’yu doğru öğrenmek gerekir. Arduino’ya güçlü başlamanın en iyi yolu ARDUINO’YA GÜÇLÜ BAŞLANGIÇ EĞİTİM VE PROJE SETİ‘dir. Arduino Uno üzerine kurulu olan set ile bu müthiş geliştirme platformunu tüm detaylarıyla anlayacak, başka hiçbir yerde bulamayacağınız inceliklerini öğrenecek ve en sık kullanılan Arduino sensör ve modüllerine aşina olacaksınız.