↯ Robotik KodlamaTüm projeler

Potansiyometreyle güvenli servo kapısı

Karton garaj kapısını potansiyometreyle yönet. Komutu 20–160° aralığına sınırla ve kolu küçük adımlarla hedefe götür.

13+ yaş · 45 dakika · Arduino C++

İnteraktif atölyede aç →

Neler öğreneceğiz?

Karton garaj kapısını potansiyometreyle yönet. Komutu 20–160° aralığına sınırla ve kolu küçük adımlarla hedefe götür.
Bu atölyede yalnız sonuca değil, tahmininin neden doğru veya yanlış çıktığına da bak. Bir deney günlüğünde giriş, beklenen sonuç, gözlenen sonuç ve düzeltme olmak üzere dört sütun aç.

Öğrenme hedefleri

  1. Servo hedefi ile mekanik kapının hareket sınırının aynı şey olmadığını ayır.
  2. Açılma ile kapanmaya farklı hız ver; kapının neden fiziksel acil durdurmaya ihtiyaç duyabileceğini tartış.
Potansiyometreyle güvenli servo kapısı — proje görseli
Özgün kavram çizimi. Projenin pin ve uç bağlantıları aşağıdaki kurulum görseli ve tabloda yer alır.

Malzeme listesi

  1. Uno
  2. SG90 benzeri 5 V servo
  3. 10 kΩ pot
  4. Servoya uygun akım verebilen regüle 5 V kaynak
  5. Karton, bant, jumper

Bağlantı tablosu

BaşlangıçBağlantı
Pot uçlarıUno 5 V ve GND
Pot orta uçA0
Servo sinyalD9
Servo V+Harici regüle 5 V
Servo GNDHarici GND ve Uno GND

Adım adım yapalım

  1. Servo hedefi ile mekanik kapının hareket sınırının aynı şey olmadığını ayır.
  2. 10 kΩ potansiyometrenin uçlarını 5 V ve GND’ye, orta ucunu A0’a bağla.
  3. Servonun sinyalini D9’a bağla. Servo gücünü modeline uygun ayrı, regüle 5 V kaynaktan ver; kaynak GND ile Uno GND’yi birleştir.
  4. Servo kolunu önce yük olmadan 90° ortala; karton kapıyı sonra gevşek bağlantıyla tak.
  5. Potu yavaşça çevir; kapı zorlanırsa enerjiyi kesip açı sınırını daralt.
  6. Hedef değiştiğinde konumun her 20 ms’de bir derece yaklaştığını kod üzerinden izle.

Kod · Arduino C++

#include <Servo.h>
Servo gate;int pos=90;
unsigned long previous=0;
void setup(){gate.attach(9);gate.write(pos);}
void loop(){
 int target=map(analogRead(A0),0,1023,20,160);
 if(millis()-previous>=20){
  previous=millis();
  if(pos<target)pos++;else if(pos>target)pos--;
  gate.write(pos);
 }
}

Kod nasıl çalışır?

Hedef map ile daraltılır. Konum bir anda atlamaz; artım ve azaltım servo komutunu yumuşatır. Motoru dijital pinden besleme.

Beklenen sonuç

Servo kolunu önce yük olmadan 90° ortala; karton kapıyı sonra gevşek bağlantıyla tak.
Arduino Uno için derleme kontrolü yapıldı. Fiziksel devre henüz ölçülmedi; bağlantı sonrası gözlemini deney günlüğüne kaydet.

Sıra sende

Açılma ile kapanmaya farklı hız ver; kapının neden fiziksel acil durdurmaya ihtiyaç duyabileceğini tartış.

Güvenli atölye

Bu çalışma düşük gerilimli eğitim içindir. Donanımı enerji kapalıyken, bir yetişkinle kur. Şebeke elektriği kullanma. Kodun derlenmesi fiziksel devrenin test edildiği anlamına gelmez.

Çalışmıyorsa kontrol et

  1. Sonucu alamıyorsan programın ilk satırından başlayıp girdileri tek tek kontrol et.
  2. Donanım varsa enerjiyi ayır; GND, sinyal uçları ve parça yönlerini bağlantı tablosundan doğrula.
  3. Aynı anda yalnız bir şeyi değiştir; değişiklik öncesi ve sonrası sonucu günlüğe yaz.

Kontrol noktaları

  1. Başlamadan önce: gerekli malzemeleri say ve giriş değerlerini deney günlüğüne yaz.
  2. Kurulumdan sonra: her bağlantıyı aşağıdaki tabloyla karşılaştır; yazılım projesinde giriş listesini kontrol et.
  3. Testten sonra: beklenen sonucu kendi çıktınla karşılaştır. Fark varsa ilk farklı adımı bul.

Kaynakların kullanımı

Kaynak, ilgili kavramı öğrenmek ve karşılaştırmak içindir. Türkçe görev, örnek kod ve görseller bu atölye için özgün hazırlanmıştır; kaynak makalenin çevirisi veya kopyası değildir.

Kurulum ve bağlantı planı
Kurulum ve bağlantı planı
Deney günlüğü: altı adım
Deney günlüğü: altı adım

https://learn.adafruit.com/adafruit-arduino-lesson-14-servo-motors/arduino-code-for-sweep