Bir spoonBot’u test etme#
spoonBot, pan ve tilt yapmasına olanak tanıyan bir servoya bağlı bir kaşığa sahip basit bir diferansiyel tahrikli robottur. spoonBot’un oluşturulması hakkında bilgi için spoonBot-Yapımı sayfasına bakın. En son cc3 dağıtımıyla gelen örnek program, spoonBot’un nasıl hareket ettirileceğini ve spoonBot Demo modunun nasıl çalıştırılacağını gösteren örnek kod içerir. spoonBot Demo modu, CMUcam2 demo moduna benzer, yalnızca pan ve tilt için spoonBot’u kullanır.
spoonBot’u Kalibre Etme#
spoonBot’u kullanmadan önce servo ayarlarınızı kalibre etmeniz gerekir. Bu, main’in en üstünde aşağıdaki veri yapısı ayarlanarak yapılır:
// SpoonBot Calibration Points
// Assume Left = Servo 0
// Assume Right = Servo 1
// Assume Spoon = Servo 2
my_cal.left_mid = 71;
my_cal.right_mid = 77;
my_cal.spoon_down = 100;
my_cal.spoon_mid = 202;
my_cal.spoon_up = 255;
my_cal.left_dir = 1;
my_cal.right_dir = -1;
my_cal.spoon_dir = 1;
// Set the calibration points
spoonBot_calibrate (my_cal);
cmucam2 emülasyon donanım yazılımını kameraya flaşlayın
Ya CMUcam3 Frame Grabber’ı ya da bir Terminal Programını açın
Frame Grabber kullanarak, “Settings” paneline gidin ve değerleri değiştirmek için servo çubuklarını sürükleyin
Bir terminalde, servoları ayarlamak için “sv <servo-id> <servo-value>” yazın, örneğin:
:sv 0 77 ACK
Tekerlekler durana kadar ayarlayarak Servo 0 ve 1’in orta konumunu bulun
my_cal.left_mid = <servo 0’dan gelen değer>
my_cal.righ_mid = <servo 1’den gelen değer>
Şimdi yönlerin işaretini bulmanız gerekiyor
spoonBot’a arkadan bakarken (kaşık size doğru), sol tekerlek olması gereken servo 0 sayısını düşürmeyi deneyin
servo saat yönünde / geriye (size doğru) dönerse left_dir 1 olarak ayarlanmalıdır
servo saat yönünün tersine dönerse, left_dir -1 olarak ayarlanmalıdır
Servo 1 için tekrarlayın (spoonBot’un bakış açısından sağ tekerlek olması gerekir)
servo saat yönünde / geriye (size doğru) dönerse right_dir 1 olarak ayarlanmalıdır
servo saat yönünün tersine dönerse, right_dir -1 olarak ayarlanmalıdır
Genellikle, bir servo negatife ayarlanmalıdır!
Şimdi Servo 2’yi ayarlayarak Min, Middle ve Max kaşık konumlarını bulun
Min, kaşığı aşağı iten ve dolayısıyla spoonBot’u öne eğen en küçük değer olmalıdır
spoon_down’u buna göre ayarlayın
Max genellikle 255’tir ve spoonBot’u olabildiğince yukarı bakacak şekilde konumlandırmalıdır
spoon_up’ı buna göre ayarlayın
Middle, servoyu düz konuma getiren değerdir
spoon_mid’i buna göre ayarlayın
Min ve Max ters görünüyorsa, spoon_dir değerini -1 olarak değiştirin
Kalibrasyon tamamlandıktan sonra, projeyi yeniden derleyin ve CMUcam3’ü FLASH’layın. spoonBot önce servoların doğru şekilde kurulduğundan emin olmak için bir dizi betikli hareketten geçecektir. Ardından spoonBot bir rengi izlemeye başlamak için bir düğmeye basılmasını bekleyecektir. Çalışmanın çeşitli aşamalarını size bildiren metin seri port üzerinden görüntülenir.
Betikli hareket şu şekilde olmalıdır:
Kıpırdamadan Dur
Aşağı Bak
Yukarı Bak
Orta Konuma Geri Dön
Saat Yönünde Döndür (yukarıdan bakıldığında)
Saat Yönünün Tersine Döndür
Kamera hazırlanırken Kırmızı-Led kapalı
İzlemeye hazır olduğunda Kırmızı-Led yanar
Bu doğru görünüyorsa, kameranın birkaç santimetre önünde parlak renkli bir nesne tutmayı deneyin ve ardından düğmeye basın. Nesneyi çektikçe spoonBot ona doğru dönmelidir. Renk açısından olabildiğince tekdüze parlak renkli nesneler kullanın. Parlak kırmızı bir kumaş gibi bir nesne iyi çalışır çünkü (saf kırmızı dışında) çok az ışık yansıtır. Odada yeterli aydınlatma olduğundan emin olun. Koşulların nasıl göründüğünü görmek için bir kare yakalamayı deneyin.
Not: Servoları çıkarmadan devre dışı bırakmak isterseniz, servo-güç-jumper’ını çıkarın.