Pençe Programlama - Python
Öğretmen Araç Kutusu
-
Etkinlik Taslağı
-
Bu keşif, öğrencilere V5 Clawbot'un Pençe Motorunun temel programlamasını tanıtacaktır.
-
Pençe Motorunu programlamayı öğrenmek, öğrencilerin V5 Pençebot'un çevresindeki nesneleri nasıl kavradığını doğru bir şekilde kontrol etmelerini sağlar.
V5 Pençe Robotu kavramaya hazır!
Bu keşif, nesneleri kavramak için V5 Clawbot'un pençesini kullanan bazı harika projeler oluşturmaya başlamanızı sağlayacak.
- Bu keşifte kullanılacak VEXcode V5 Python komutları şunları içerir:
- claw_motor.set_position(0, DERECE)
- claw_motor.spin_for(İLERİ, 90, DERECE)
- claw_motor.set_timeout(2, SANİYE)
-
Komut hakkında daha fazla bilgi edinmek için, daha fazla bilgi görmek üzere bir komutun yanındaki soru işareti simgesini seçin.

- Gerekli donanıma, mühendislik dizüstü bilgisayarınıza ve VEXcode V5 'e sahip olduğunuzdan emin olun.
| Adet | Gerekli Malzemeler |
|---|---|
| 1 |
VEX V5 Sınıf Başlangıç Kiti (güncel ürün yazılımı ile) |
| 1 |
VEXcode V5 |
| 1 |
Mühendislik Defteri |
| 1 |
Clawbot ve Advanced TrainingBot (2 motorlu aktarma organları, jiroskopik sistem yok) örnek projesi |
| 1 |
Alüminyum kutu |
Adım 1: Keşfe Hazırlık
Etkinliğe başlamadan önce, bu öğelerin her birini hazır bulunduruyor musunuz? Aşağıdakilerin her birini kontrol edin:
-
Motorlar doğru portlara takılı mı?
-
Akıllı kablolartam olaraktüm motorlara mı takılmış?
-
Pilşarjlı mımi?
Öğretmen İpuçları
Öğrenciler için sorun giderme adımlarının her birini modelleyin.
2. Adım: Yeni Bir Projeye Başlayın
Projenize başlamadan önce, doğru şablon projesini seçin. Clawbot ve Advanced TrainingBot (Aktarma Organları 2 Motorlu, Jiroskop Yok) örnek projesi Clawbot'un motor konfigürasyonunu içermektedir. Şablon kullanılmazsa, robotunuz projeyi doğru şekilde çalıştırmayacaktır.
Aşağıdaki adımları tamamlayın:
- Dosya menüsünü açın.
- SeçAçÖrnekler.
- Clawbot ve Advanced TrainingBot (2 Motorlu Aktarma Organları, Jiroskop Yok) örnek projesini seçip açın.
- Pençeyi kontrol etmeyi programlayacağımız için projenizin adınıClawContrololarak değiştirin.
- Projenizikaydedin.
- ClawControl proje adının artık araç çubuğunun ortasındaki pencerede olduğundan emin olmak için kontrol edin.
Öğretmen İpuçları
- Bu, programlamaya başlangıç düzeyinde bir etkinlik olduğundan, öğretmen adımları modellemeli ve ardından öğrencilerden aynı eylemleri tamamlamalarını istemelidir. Öğretmen daha sonra öğrencilerin adımları doğru bir şekilde takip ettiğinden emin olmak için onları izlemelidir.
- Öğrencilerin Dosya menüsünden Örnekleri Aç seçeneğini seçtiğinden emin olun.
- Öğrencilerin Clawbot ve Advanced TrainingBot (Aktarma Organları 2 Motorlu, Jiroskopsuz) örnek projesini seçtiğinden emin olun. Öğrencilere Örnek sayfasında seçebilecekleri birkaç seçenek olduğunu belirtebilirsiniz. Başka robotlar inşa edip kullandıkça farklı şablonları kullanma şansına sahip olacaklar.
- Öğrencilerden proje ismine kendi adlarının baş harflerini veya gruplarının adını eklemelerini isteyebilirsiniz. Öğrencilerden projelerini sunmalarını istemeniz, projelerin farklılaştırılmasına yardımcı olacaktır.
Öğretmen Araç Kutusu
-
Durun ve Tartışın
Bu, öğrenci gruplarının VEXcode V5'te yeni bir projeye başlarken tamamladıkları adımları gözden geçirmeleri için iyi bir noktadır.
Adım 3: V5 Pençesini Açılacak Şekilde Programlayın
Şimdi pençeyi açılacak şekilde programlayarak başlayacağız!
# Vex import'tan
kütüphane import'ları *
# claw_motor.set_position proje koduna
başla (0, DERECE)- Yukarıda gösterildiği gibi programlama alanına pençenin başlangıç pozisyonunu ayarlamak içinclaw_motor.set_position()komutunu yazın.
claw_motor.set_position(0, DERECE)
claw_motor.set_timeout(2, SANİYE)- Yukarıda gösterildiği gibiclaw_motor.set_timeout()komutunu ekleyin.
- Bu talimatınclaw_motor.spin_for()komutundan önce göründüğüne dikkat edin. Amacı, Pençe motorunun ne kadar süre çalışabileceğini ayarlamak ve bu süreden sonra durdurmaktır. Böylece motor tam 60 derece hareket etmese bile, proje iki saniye geçtikten sonra Pençe motorunu durdurur.
claw_motor.set_position(0, DERECE)
claw_motor.set_timeout(2, SANİYE)
claw_motor.spin_for(TERS, 60, DERECE)- Yukarıda gösterildiği gibi pençeyi 60 derece açmak içinclaw_motor.spin_for()komutunu yazın.
- Mevcut tüm proje yuvalarını açmak için kutulu 1 simgesini seçerek projenin V5 Robot Brain'de indirileceği yuvayı seçin ve istediğiniz yuvayı seçin.
- Robotu bilgisayarınıza veya tabletinize bağlayın. Araç çubuğundaki Beyin simgesibaşarılı bir bağlantı kurulduktan sonra yeşil renge döner.
- Projeyi V5 Robot Brain'e indirmek için Cihaz Bilgileri simgesinin yanındaki İndir simgesine tıklayın.

- ClawControl projesinin seçtiğiniz yuvada beyne indirilip indirilmediğini kontrol edin.
Öğretmen Araç Kutusu
-
Model İlk
Tüm öğrencilerin aynı anda denemesini sağlamadan önce projeyi sınıfın önünde yürütün. Öğrencileri bir alanda toplayın ve Pençe Robotu'nu herkesin görebileceği şekilde konumlandırın. Eğer birden fazla kez gösteri yapmayı planlıyorsanız, koşular arasında Pençeyi yavaşça kapatabilirsiniz.
Öğrencilere projelerini yürütme sırasının artık onlarda olduğunu söyleyin.
- Clawbot'ta projeyiprojenin seçili olduğundan emin olun ve ardından Çalıştır düğmesine basın. Pençeyi taşımak için ilk projenizi oluşturduğunuz için tebrikler!
4. Adım: Şunu Deneyin: V5 Pençesini Kapatın
Artık pençeyi açılacak şekilde programladığınıza göre, şimdi kapanacak şekilde programlayacaksınız.

Artık pençeyi açabileceğinize göre, onu da kapatmak isteyeceksiniz.
- ClawControl projenize geri dönün ve Pençe Motorunun 30 derece kapalı dönmesini sağlamak için ek birclaw_motor.spin_for()commandekleyin. Pençe yolun yarısını kapatmalıdır çünkü başlangıçta 60 derece açılmıştır.
- Revize edilen projenizin pençesinin 60 derece açık olduğunu ve ardından ClawControl projenizi indirip çalıştırarak 30 derece kapandığını test edin.
Öğretmen Araç Kutusu
-
Çözümü
Daha önce Pençe 60 dereceye kadar açılıyordu. Bu projeye, bir manipülatörün hareketinin bir şekilde kısıtlanabileceği durumlarda, bir zaman aşımı ayarlamanın önemli bir uygulama olması nedeniyle, bir motor zaman aşımı talimatı da dahil edildi. Zaman aşımı ayarı, motorun gereksiz yere yıpranmasını önler.
Bu adımın çözümü şu şekildedir:
# Proje kodunu başlat
claw_motor.set_position(0, DERECE)
claw_motor.set_timeout(2, SANİYE)
claw_motor.spin_for(GERİ, 60, DERECE)
claw_motor.spin_for(İLERİ, 30, DERECE)
Adım 5: Şunu Deneyin: Birden Çok Hareketi Sıralama

Pençe ile aldığınız her şey aynı boyutta olmayacak. Pençeyi hareket aralığı boyunca farklı pozisyonlara açmayı deneyin.
- Motoru şu şekilde döndürün:
- 70 derece açık
- 20 derece kapatın
- 10 derece açık
- 30 derece kapatın
- 25 derece kapatın
- Pençe Motoru 0 derecede başlıyorsa, proje sonunda Pençe Motoru kaç derece açıktır?
- Pençe Motoru kapalıyken başlayın.
Öğretmen Araç Kutusu
-
Çözümü
Bu adımın çözümü aşağıda sunulmuştur.
Pençe Motoru projenin sonunda hala 5 derece açıktır: 70 - 20 = 50 --> 50 + 10 = 60 --> 60 - 30 = 30 --> 30 - 25 = 5 derece.
# Proje kodunu başlat
# Pençenin geçerli konumunu sıfır olarak al
claw_motor.set_position(0, DERECE)
# Pençenin zaman aşımını ayarla
claw_motor.set_timeout(2, SANİYE)
claw_motor.spin_for(TERS, 70, DERECE)
claw_motor.spin_for(İLERİ, 20, DERECE)
claw_motor.spin_for(TERS, 10, DERECE)
claw_motor.spin_for(İLERİ, 30, DERECE)
claw_motor.spin_for(İLERİ, 25, DERECE)
6. Adım: Kilit Sıkılaştırma Mücadelesini Tamamlama

Sıkı Kilitle Mücadelesi
- Clawbot'u, yanları ezmeden 12 onsluk boş bir alüminyum kutu üzerindeki pençeyi güvenli bir şekilde kapatacak şekilde programlayın.
- Clawbot'un kolunu 45 derece kaldırıp indirirken kutuyu tutmasını sağla.
- Clawbot daha sonra kutuyu serbest bırakmalı ve ondan uzaklaşmalıdır.
- Meydan okumaya açık bir pençe ve içinde boş bir kutu ile başlayın.
Öğretmen İpuçları
- Öğrencilerden açık bir pençe ve içinde boş bir kutu ile meydan okumaya başlamalarını isteyin.
- Eğer kutu ezilirse veya pençeden düşerse, proje ayarlandıktan sonra meydan okumaya yeniden başlanmalıdır.
Öğretmen Araç Kutusu
-
Çözümü
İşte bir örnek çözüm:
# Proje kodunu başlat
# Pençenin geçerli konumunu sıfır olarak al
claw_motor.set_position(0, DERECE)
# Pençenin zaman aşımını ayarla
claw_motor.set_timeout(2, SANİYE)
claw_motor.spin_for(İLERİ, 170, DERECE)
arm_motor.spin_for(İLERİ, 45, DERECE)
arm_motor.spin_for(GERİ, 45, DERECE)
claw_motor.spin_for(GERİ, 150, DERECE)
drivetrain.drive_for(GERİ, 150, DD)- Proje zaman aşımını ayarlıyor, kutunun etrafındaki pençeyi kapatıyor, kutuyu kaldırıp indiriyor, bırakıyor ve sonra geri çekiliyor.
-
Programlama Rubriği