VEX IQ Akıllı Motorun, VEXcode IQ'da kodlama yaparken kullanılabilecek birçok işlevi vardır. Bu, VEX IQ kullanılarak oluşturulan aktarma organları ve diğer mekanizmaların yanı sıra kolları, pençeleri ve girişleri kodlarken kullanışlı olabilir. Motorların nasıl kodlanabileceğini anlamak, projelerin durması veya motorların istenildiği gibi çalışmaması gibi sorunları hafifletmeye yardımcı olacaktır.
Motor Kodlayıcı
VEX IQ Akıllı Motor, çoğu motorda olduğu gibi elektrik enerjisini mekanik enerjiye dönüştürmekle kalmıyor, aynı zamanda çoğu motorda bulunmayan ve onu "akıllı" yapan özelliklere de sahip. Ana özelliklerinden biri karesel kodlayıcıdır. Bu kodlayıcı, motor şaftının hızını ve/veya konumunu izlemek için motorun iç kısmına monte edilir.
VEX IQ Smart Motor'un kodlayıcısından gelen raporlar şunları bilmeyi mümkün kılar:
- Motorun dönüş yönü (ileri/geri veya açık/kapalı)
- Motorun konumu ve motorun dönüş miktarı ve konumu (dönüş veya derece olarak)
- Motorun dönüş hızı (kodlayıcının zaman içindeki konumuna bağlı olarak)
Kodlayıcı motorun durumlarını bildirdiğinden, bunlar, Hareket ve Algılama komutlarının çoğunun VEXcode IQ içinde çalışmasını sağlamak için sahne arkası hesaplamalarda kullanılabilir.
Bireysel Motorların Kodlanması
VEXcode IQ'da akıllı motorları ayrı ayrı kodlamaya başlamadan önce motoru yapılandırmanız gerekir. Bireysel motorlar sıklıkla girişler, kollar ve pençeler gibi ek mekanizmalar için kullanılır. Ancak tüm bilgiler hala bireysel motorları kullanan diğer mekanizmalar için geçerlidir.
Bireysel motorunuzu VEXcode IQ'da yapılandırmak için bu makale adımları izleyin.
Tek bir motor yapılandırıldığında, o motoru kontrol etme komutları Araç Kutusu'nda görünecektir. Farklı türde komutların olduğunu fark edeceksiniz: bekleme ve beklememe.
Bekleme ve Beklemeyen Komutlar
Buradaki tüm görsellerin blokları gösterdiğini unutmayın. Bu projelerin tümü Python veya C++ ile yeniden oluşturulabilir ve bloklarla aynı işlevleri içerebilir.
Bekleme komutları, davranış tamamlanana kadar projenin devam etmesini engeller. Bunlar, [Pozisyonuna döndür] ve [Pozisyonuna döndür] gibi komutları içerir.
Burada gösterilen proje bir Clawbot (2 motorlu) şablonu kullanıyor ve tüm komutlar bekliyor. Yani seri olarak pençe motoru 90 derece kapanacak, robot geriye doğru hareket edecek, ardından kol 180 derece konuma ulaşacak şekilde dönecekti.
Bunun tersine beklemeyen komutlar vardır. Beklemeyen bir komut, davranışı süresiz olarak veya başka bir davranışa geçmesi söylenene kadar yürütür. Bunlar, [Döndür] gibi komutları içerir.
Burada gösterilen proje, giriş eklenmiş bir BaseBot kullanıyor. Burada emme motoru dönmeye başlayacaktır. [Bekle] komutu bir bekleme komutudur, dolayısıyla giriş 2 saniye dolana kadar dönmeye devam edecek, ardından projedeki bir sonraki komuta, yani [Durdur] komutuna geçecektir. Daha sonra motor dönmeyi bırakacaktı.
Motor Zaman Aşımları
Bir motoru bir kolun veya pençenin parçası olarak kodlarken, bekleyen ve beklemeyen bloklar arasındaki farkı ve bunların robotunuzun hareketini nasıl etkileyeceğini hatırlamak önemlidir. Motor zaman aşımları, motorun amaçlanan hedef konuma ulaşması için bir zaman sınırı belirlemenize olanak tanır. Süre dolduğunda bu konumu karşılayamadıysa motor dönmeyi deneyecek ve proje bir sonraki komuta geçecektir.
Bu örnekte motor zaman aşımı 2 saniyeye ayarlanmıştır. Tırnak 2 saniye içinde 90 dereceye yaklaşmazsa, motor 2 saniye işaretinde dönmeyi durduracak, ardından bir sonraki komuta geçecek ve ileri doğru hareket edecektir.
Motoru ne kadar uzağa hareket ettireceğinizden emin değilseniz sensör kontrol panelini kullanın. Gösterge paneli motorun konumunu derece ve devir cinsinden bildirir, böylece motoru hareket ettirdikçe (pençeyi açıp kapatmak gibi) sayılar değişecektir. Bir tırnağı kapatmak, bir kolu kaldırmak, bir girişi döndürmek vb. için kaç derece veya dönüş gerektiğini belirlemek için bu testi kullanın.
Sensör kontrol panelinin nasıl kullanılacağını öğrenmek için bu makalelere bakın.
Akıllı Motorları Aktarma Organının Parçası Olarak Kodlama
VEXcode IQ'da aktarma organlarını kodlamaya başlamadan önce, kullanılan motorlar da dahil olmak üzere aktarma organlarını yapılandırmanız gerekir. Motorlar, [Drive] ve [Drive for] gibi aynı komutlarla kontrol edildiklerinden emin olmak için aktarma organları içinde yapılandırılmıştır.
Bekleme ve Bekleme Dışı Komutlar
Aktarma organlarını kodlarken, robotun hareketini kontrol etmek için bekleme ve bekleme dışı komutlar mevcuttur.
Bekleme komutları, davranış tamamlanana kadar projenin devam etmesini engeller. Bunlar arasında [Şuraya sür] [İleriye doğru dön] ve [İleriye doğru dön] gibi komutlar bulunur.
Burada gösterilen proje bir Clawbot (2 motorlu) şablonu kullanıyor ve tüm komutlar bekliyor. Yani robot seri olarak 200 milimetre ileri gidecek ve aktarma organlarını kullanarak tamamen sağa dönecekti.
Bunun tersine beklemeyen komutlar vardır. Beklemeyen bir komut, davranışı süresiz olarak veya başka bir davranışa geçmesi söylenene kadar yürütür. Bunlar, [Drive] gibi komutları içerir.
Burada gösterilen proje bir BaseBot kullanıyor. Burada robot, Tampon Anahtarına basılana kadar süresiz olarak ileri gidecekti. Daha sonra proje bir sonraki komuta geçecek ve robot ilerlemeyi bırakıp 90 derece sağa dönecekti.