↯ Robotik KodlamaTüm projeler

Beklemeden servo gezinmesi

millis zamanlamasıyla diğer görevleri durdurmadan servo açısını değiştir.

9+ yaş · 35 dakika ·

İnteraktif atölyede aç →

Neler öğreneceğiz?

millis zamanlamasıyla diğer görevleri durdurmadan servo açısını değiştir.
Servo sinyali D10’dadır. Servo gücü ayrı 5 V kaynaktan gelir; yalnız GND ortaklanır. Harici 5 V ile Uno’nun USB 5 V hattını birleştirme. Bu projelerde hareket 20–160° ile sınırlıdır. Servo kütüphanesi Uno’da D9/D10 PWM’ini etkiler; dijital LED aç/kapa çalışmaya devam eder.

Beklemeden servo gezinmesi — proje görseli
Bu projeye ait algoritma, deney veya elektriksel bağlantı görselidir. Donanım görselindeki semboller gerçek breadboard yerleşimi değildir.

Malzeme listesi

  1. 1 × Arduino Uno R3
  2. 1 × USB veri kablosu
  3. 1 × breadboard
  4. Yeterli sayıda jumper kablo
  5. 1 × SG90 mikro servo
  6. 1 × regüle 5 V harici besleme (en az 1 A)

Bağlantı tablosu

BaşlangıçBağlantı
D10Servo sinyal (turuncu/sarı)
Harici 5 V +Servo kırmızı güç kablosu
Harici besleme GNDServo kahverengi/siyah ve Arduino GND

Adım adım yapalım

  1. Önce bağlantı görselini ve malzeme listesini oku. 6–8 yaş grubunda bir yetişkin devreyi kurarken çocuk komutları ve sonucu takip eder.
  2. USB ve harici beslemeyi çıkar. Breadboard güç raylarının bağlı/ayrık bölümlerini kontrol et.
  3. D10 ucunu Servo sinyal (turuncu/sarı) noktasına bağla.
  4. Harici 5 V + ucunu Servo kırmızı güç kablosu noktasına bağla.
  5. Harici besleme GND ucunu Servo kahverengi/siyah ve Arduino GND noktasına bağla.
  6. Bir yetişkinle güç, GND, parça yönü ve dirençleri bağlantı tablosuna göre tek tek kontrol et.
  7. Arduino IDE’de Arduino Uno kartını ve bağlı portu seç. Servo veya LCD kullanılan projelerde ilgili Servo/LiquidCrystal kütüphanesini kur.
  8. Aşağıdaki bağımsız kodu yeni eskize yapıştır ve karta yükle. Seri Monitör gerekiyorsa 9600 baud seç.
  9. Beklenen sonucu gözle, ardından yalnız bir değişkeni değiştirerek “Sıra sende” görevini yap.

Kod · Arduino C++

// Arduino Uno R3 — Beklemeden servo gezinmesi
#include <Servo.h>
Servo arm;
unsigned long last=0;int angle=20,step=1;

void setup(){
  Serial.begin(9600);
  arm.attach(10); arm.write(90);
}
void loop(){
  if(millis()-last>=30){last=millis();angle+=step;if(angle>=160||angle<=20)step=-step;arm.write(angle);}
}

Kod nasıl çalışır?

millis zamanlamasıyla diğer görevleri durdurmadan servo açısını değiştir.
setup() bir kez çalışıp pin yönlerini ve haberleşmeyi hazırlar. loop() içindeki komutlar sürekli tekrarlanır. Servo sinyali D10’dadır. Servo gücü ayrı 5 V kaynaktan gelir; yalnız GND ortaklanır. Harici 5 V ile Uno’nun USB 5 V hattını birleştirme. Bu projelerde hareket 20–160° ile sınırlıdır. Servo kütüphanesi Uno’da D9/D10 PWM’ini etkiler; dijital LED aç/kapa çalışmaya devam eder.

Beklenen sonuç

Servo 20–160 derece arasında dolaşır, loop uzun bekleme yapmaz.

Sıra sende

Aynı döngüye buton okuması ekle.

Güvenli atölye

Yalnız düşük gerilimli eğitim devresi. Şebeke/priz bağlantısı yapma. Bağlantıları enerji kapalıyken ve bir yetişkinle kur. Motor/servo hareket alanını boş tut. Bu proje fiziksel devrede test edilmiş olarak işaretlenmemiştir.

Çalışmıyorsa kontrol et

  1. Kod yüklenmiyorsa kart, port ve USB veri kablosunu kontrol et.
  2. Gücü çıkarıp her bağlantıyı tablodaki satırla eşleştir; ortak GND olmadan sinyaller güvenilir olmayabilir.
  3. Beklenen sonuçla gerçek sonucu karşılaştır. Sensör eşikleri bulunduğun ortama göre ayar ister.
  4. Servo titriyor veya kart yeniden başlıyorsa harici besleme kapasitesini ve ortak GND’yi kontrol et.

https://docs.arduino.cc/hardware/uno-rev3/

https://docs.arduino.cc/language-reference/