Ders 3: İki Küpü Taşıma
Önceki Ders'te, Küpü alıp palete yerleştirmek için 6 Eksenli Kol'un nasıl kodlanacağını öğrendiniz. Bu Derste, öğrendiklerinizi kullanarak birden fazla Küpü palete taşımayı öğreneceksiniz. Şunları nasıl yapacağınızı öğreneceksiniz:
- Palete yerleştireceğiniz Küplerin bırakılacağı yerleri planlayın.
- İki Küpü palete başarılı bir şekilde taşımak için 6 Eksenli Kolu kodlayın.
Dersin sonunda, Aktivitedeki palete dört Küpü alıp yerleştirmek için projenizi geliştireceksiniz.

Palet Üzerindeki Konumlandırmayı Düşünmek
Önceki Ders'te bir Küpü palete taşıdınız ve onu paletin ortasına yerleştirdiniz. Büyük miktardaki eşyaların palet kullanılarak gönderilmesinin faydalarından biri de aynı anda çok sayıda eşyanın taşınabilmesidir. Bunu etkili bir şekilde yapabilmek için, şirketlerin gönderdikleri her palete daha fazla ürün koyabilmelerini sağlayacak şekilde bu nesnelerin verimli bir şekilde düzenlenmesi gerekir.
Bir veya iki küçük nesneyi taşımanın bir paletle yapılması, bir Küpün paletin ortasına yerleştirilmesi durumunda olduğu gibi, verimsiz ve pahalı bir yol olacaktır. Ancak palete daha fazla Küp yerleştirmek, nakliyeyi daha verimli ve uygun maliyetli hale getirir. 
Bunu yapabilmek için Küplerin her birinin palet üzerinde nereye yerleştirileceğini düşünmemiz gerekecek. Bu Ders boyunca, birden fazla Küpü hareket ettirip palete birlikte etkili bir şekilde yerleştirmek için 6 Eksenli Kolun nasıl kodlanacağını öğreneceksiniz.
İlk Küpü Yerleştirin
2. Ders'teki projeniz bir Küpü paletin merkezi taşıdı. Birden fazla Küp yerleştirmenin ilk adımı, ilk Küp için bırakma konumunu ayarlamak, yani onu paletin yerleştirmektir.
VEXcode EXP'deki 2. Ders'ten projenizi açın.

Projenin adını Ünite 7 Ders 3,olarak değiştirin ve cihazınıza kaydedin.

Küpü paletin köşesine yerleştirin.
Mıknatıs Küpün tepesine değecek şekilde 6 Eksenli Kolu manuel olarak hareket ettirin.

6-Eksen Kolunun VEXcode'a bağlı olduğundan emin olun.
Monitörü açmak için Araç Çubuğu'ndaki Monitör simgesini seçin.

Monitör Konsolundaki x ve y koordinatlarını mühendislik not defterinize kaydedin. Bu, Cube'un bırakılacağı yerin x ve y koordinatları olacaktır.
6 Eksenli Kolun, Küpü palete indirmeden önce bırakma noktasının üstüne hareket edeceğini unutmayın. Bu, z değerini kaydetmenize gerek olmadığı anlamına gelir.

Yeni bırakma yerinin x ve y koordinatlarını projenize girin. Z koordinatı aynı kalmalı, böylece 6 Eksenli Kol bırakma noktasının üstünde kalmalıdır.
Burada gösterilenler birer örnek olduğu ve sizin kaydettiğiniz koordinatlardan farklılık gösterebileceği için koordinatlarınızı kullandığınızdan emin olun.

6 Eksenli Kolun VEXcode'a bağlı olduğundan ve Küpün yükleme bölgesine yerleştirildiğinden emin olun.
Projeyi test etmek için çalıştırın. 6 Eksenli Kolun davranışlarını gözlemleyin. Küpü alıp paletin köşesine amaçlandığı gibi yerleştiriyor mu? Neden veya neden olmasın?

6 Eksenli Kol hareket etmeyi bıraktığında projeyi durdurun. Gözlemlerinizi mühendislik not defterinize kaydedin.

İkinci Bir Küpü Taşımak
Artık ilk Küp yeni bırakma noktasına ulaştığına göre, palet üzerinde ek küpleri yerleştirmek için yer var. İlk Küpü hareket ettirmek için kullanılan aynı davranışlar ikinci Küpü hareket ettirmek için de tekrarlanacaktır. 6 Eksenli Kolun aynı alma noktasına hareket etmesi, Mıknatısı devreye sokması, Küpü palete taşıması ve Küpü bırakması gerekecektir.
Her iki Küpü de başarılı bir şekilde taşımanıza yardımcı olacak birkaç kodlama stratejisi vardır.
Tekrar Bloğu Ekleme
Bir dizi davranışın tekrarlanacağını bildiğinizde, deneyebileceğiniz ilk strateji Tekrar bloğunu kullanmaktır. Önceki Ünitede öğrendiğiniz gibi, Repeat bloğu bir projedeki blokları veya blok yığınını tekrarlamak için kullanışlıdır.
Bu videoda gösterildiği gibi, Set end effector bloğunun altına projenize Repeat bloğunu ekleyin.
sürükleyin ve Küpü palete taşıyın. Yorum bloğunu taşıyın. Bu videoda gösterildiği gibi tekrarlayın. Bu, sonraki tüm blokları da Repeat bloğuna sürükleyecektir.
Şimdi, bir Küpü alma noktasından paletin köşesine kadar almak ve yerleştirmek için gereken tüm bloklar tekrarlanabilir.
Repeat bloğundaki parametreyi 2 olarak ayarlayın.
İki Küpü palete taşımaya çalıştığınız için davranışlar iki kez tekrarlanacaktır.

Oluşturduğunuz kodu okuyun ve proje çalıştırıldığında 6 Eksenli Kolun ne yapacağını tahmin edin.
Tahmininizi mühendislik not defterinize kaydedin. 6 Eksenli Kolun yolunu çizmek veya Küplerin palet üzerinde nereye yerleştirileceğini çizmek isteyebilirsiniz.

6-Eksen Kolunun VEXcode'a bağlı olduğundan emin olun.
Projeyi test etmek için çalıştırın. Proje çalıştırıldığında 6 Eksenli Kolun davranışlarını gözlemleyin.

6 Eksenli Kol hareket etmeyi tamamladığında projeyi durdurun. Gözlemlerinizi mühendislik not defterinize kaydedin.
6 Eksenli Kol her iki Küpü de palete başarıyla taşıdı mı? Neden veya neden olmasın?

Bu, ikinci Küpü istenildiği gibi hareket ettirmedi ve bir hataya neden oldu. İlk Küp o konuma yerleştirildiği için ikinci Küp de aynı konuma yerleştirilemez. 6 Eksenli Kol konuma ulaşamadığı için bir hata oluştu.
İkinci Küpü palete yerleştirmek için, bu Küpü palet üzerinde açık bir konuma kaydırmamız gerekecektir.
İkinci Küpü Birinciye Göre Taşı
Palet üzerindeki ilk Küpün konumunu bilmek, bir sonraki Küpün ilkine göre yerleştirilebileceği anlamına gelir. Önceki Ünitede bağıl hareket hakkında bilgi edindiniz ve şimdi bu kavramları ikinci Küpü yerleştirmenize yardımcı olmak için kullanabilirsiniz.
Paletin bir sonraki köşesine ulaşmak için 6 Eksenli Kol, y ekseni boyunca pozitif yönde hareket edecektir. 
Küpün büyüklüğü hakkında bilinenler kullanılarak, ikinci Küpü yerleştirmek için gereken ofset belirlenebilir. Ofset, bir nesnenin mevcut konumu ile istenen konumu arasındaki farktır. Palet üzerinde ikinci Küpün ofseti, birinci Küpün merkezi ile istenilen konumdaki ikinci Küpün merkezi arasındaki mesafedir.
Bir Küpün genişliğinin 25 mm olduğunu düşünürsek, ofsetin yaklaşık olarak 50 mm olduğunu varsayabiliriz.
Artık ihtiyaç duyulan bağıl hareketin mesafesini ve yönünü bildiğinize göre, bu bilgiyi projeye ekleyebilirsiniz.
Bu videoda gösterildiği gibi, Araç Çubuğu'ndan sürükleyerekArtış pozisyonubloğunu ekleyin ve Blokların yorum bölümünün ortasına Küpü Palete Taşı'yı yerleştirin.
Y parametresini 50 olarak ayarlayın. Bu, y ekseninde 50 mm'lik bir göreceli hareketi göstermektedir.

Kodu okuyun ve 6 Eksenli Kolun davranışını tahmin edin.
Tahmininizi mühendislik not defterinize kaydedin. Bu projenin her iki Küpü de istenilen yerlere başarıyla yerleştireceğini düşünüyor musunuz? Neden veya neden olmasın?

6-Eksen Kolunun VEXcode'a bağlı olduğundan emin olun. Projeyi test etmek için çalıştırın.
6 Eksenli Kolun davranışını gözlemleyin.

6 Eksenli Kol hareket etmeyi tamamladığında projeyi durdurun. Gözlemlerinizi mühendislik not defterinize kaydedin.
Gözleminiz tahmininizle uyuştu mu? İki Küp palet üzerinde istenilen yerlere taşındı mı? Neden veya neden olmasın?

Tahmin edebileceğiniz gibi, bu projede her iki Küp de olması gereken yerlere taşınmıyor. Artış pozisyonubloğu, 6 Eksenli Kolu ikinci Küp için istenen pozisyona doğru şekilde hareket ettirdi. Ancak tüm davranışlar tekrarlandığı içinhemKüp bu konuma taşındı. Bu, önceki projede olduğu gibi aynı hatayı oluşturdu, sadece palet üzerinde farklı bir konumda.
Amaç, ilk Küpü palet üzerindeki ilk konuma, ikinci Küpü ise palet üzerindeki ikinci konuma yerleştirmektir. Bunu başarıyla yapabilmek için projenin hangi Cube'un taşındığını takip etmesi gerekiyor. Eğer ilk Küp hareket ettiriliyorsa ilk konuma gitmesi gerekir. İkinci Küp hareket ettiriliyorsa ikinci yere yerleştirilebilir.
Değişkenler ve If then Bloğu Kullanarak İki Küpü Taşıma
Hangi Küpün hareket ettirildiğini takip etmek için, projede bir değişken oluşturulabilir ve bu değişken kullanılarak Küpler hareket ettirildikçe 'sayılabilir'. Hangi Küpün taşındığına dair bilgi depolamak için bir değişken kullanılabilir. Bu bilgi daha sonra proje içerisinde bir karar vermek için kullanılabilir –eğer6 Eksenli Kol ikinci Küpü hareket ettiriyorsa,o zamanonu palet üzerindeki ikinci konuma taşımalıdır.
Bir değişken oluşturun ve adını CubeCountolarak belirleyin. Değişkeni oluşturmak için seçip gönderin.
VEXcode'da değişken oluşturmayla ilgili hatırlatmalar için Ünite 6 Ders 2 tekrar göz atabilirsiniz.

Bu videoda gösterildiği gibi, Repeat bloğunun üstündeki projeye Set değişkeni bloğunu ekleyin.
Parametreyi 1 olarak ayarlayın. Açılır menüde CubeCount değişkeninin seçili olduğundan emin olun.
Proje başlatıldığında ilk Küp alınacaktır. Bu değişkenin amacı hareket ettirilecek Küpü numaralandırmak olduğundan, başlangıçta '1' olarak ayarlanması gerekir.

Daha önce 6 Eksenli Kolu ikinci bırakma konumuna taşımak içinArtış pozisyonubloğu eklenmişti. İlk Küpü bırakma noktasına taşımak için bu bloğun silinmesi gerekiyor.
Bu videoda gösterildiği gibi Artış pozisyonubloğuna sağ tıklayın ve silin.
Bu videoda gösterildiği gibi, Repeat bloğunun altına Change variable bloğunu ekleyin.
Proje çalıştırıldığında ilk Küp bırakma noktasına taşınacaktır. Buraya Change değişkeni bloğunun eklenmesi, ilk Küp teslim edildikten sonra CubeCount artmasına neden olacaktır. Repeat bloğu ikinci Küpü almak için geri döndüğünde, değişken '2' artar ve bu da ikinci Küpün hareket ettirildiğini gösterir.
Artık proje Küp sayısı hakkında bilgi depoladığına göre, bu bilgiyi karar vermek için kullanabiliriz. If then bloğu, bir proje içerisinde soru sormamızı ve bir karar almak için bilgi (bir değişkenin değeri gibi) kullanmamızı sağlar. 
If then bloğu, koşul olarak Boolean muhabir bloklarını kabul eden bir C bloğudur. Bir Boole bloğu bir koşulu TRUE veya FALSE olarak döndürür ve altıgen girişi olan herhangi bir bloğa uyar. Eğer koşul TRUE olarak raporlanırsa, C bloğu içindeki bloklar çalışacaktır. Eğer koşul FALSE olarak raporlanırsa, If then bloğu projede atlanacaktır.
Bu durumda aradığımız koşul CubeCount değişkeninin 2 olmasıdır. Eğer değişkeni 2 ise,o zaman6 Eksenli Kolun palet üzerindeki ikinci pozisyona hareket etmesi gerekir.
Projenin hangi noktasında bu kararın alınması gerektiğini düşünelim. Proje, Cube'u yükleme alanından alacak ve ardından bırakma konumunun üstüne taşıyacak. Eğerise CubeCount 2,ise6 Eksenli Kolun ikinci palet pozisyonuna hareket etmek için ekstra bir davranış gerçekleştirmesi gerekecektir. 
Burada gösterildiği gibi projeye If then bloğu ekleyin.

Bu videoda gösterildiği gibi, Eğer bloğundaki altıgensel boşluğa Eşit bloğunu ekleyin.
Eşittir operatörünün sol tarafına CubeCount değişkenini ekleyin. Bu videoda gösterildiği gibi Eşittir operatörünün sağ tarafını 2 olarak ayarlayın.
CubeCount değişkeni 2'ye eşitse, Boolean koşulu TRUE olarak raporlanacaktır. CubeCount değeri 2 değilse, Boolean koşulu FALSE olarak raporlanacaktır.
Bu videoda gösterildiği gibi C bloğunun içineblokluk Artış pozisyonu ekleyin.
Artış pozisyonu bloğunun y parametresini 50 olarak ayarlayın.
If then bloğunun koşulu sağlandığında, If then bloğunun içindeki Artış pozisyonu bloğu yürütülecektir. Bu, CubeCount 2 olması durumunda 6 Eksenli Kolun palet üzerindeki ikinci pozisyona göreli hareketi yapacağı anlamına gelir.

Kodu okuyun ve proje çalıştırıldığında 6 Eksenli Kolun ne yapacağını tahmin edin.
Tahmininizi mühendislik not defterinize kaydedin.

6-Eksen Kolunun VEXcode'a bağlı olduğundan emin olun. Projeyi test etmek için çalıştırın.
Proje çalışırken 6 Eksenli Kolun davranışını gözlemleyin.

6 Eksenli Kol hareket etmeyi tamamladığında projeyi durdurun. Gözlemlerinizi mühendislik not defterinize kaydedin.
6 Eksenli Kol tahmin ettiğiniz gibi hareket etti mi? Her iki Küp de tasarlandığı gibi palete taşındı mı? Neden veya neden olmasın?

Bilginize
6 Eksenli Kol hareket ederken çalışan bloklara dikkat edebilmeniz için projeyi birden fazla kez çalıştırmak isteyebilirsiniz. If then bloğunun ne zaman çalıştırıldığını daha iyi anlamanıza yardımcı olması için, projede çalıştırılan blokların etrafındaki vurgulara bakın. Ayrıca, Eğer o zaman bloğuyla proje akışını daha net görebilmenize yardımcı olmak için projeyi tek seferde bir blok çalıştırmak üzere Adım özelliğini de kullanabilirsiniz. 
Proje çalışırken CubeCount değerini görmenize yardımcı olması için Monitöre bir değişken ekleyebileceğinizi unutmayın. Monitöre bir değişken eklemek için, değişkeni bu videoda gösterildiği gibi Çalışma Alanındaki Monitör simgesine sürükleyin. Projeyi çalıştırırken değişken değeri ile proje akışı arasındaki bağlantıyı görebilmeniz için değişkeni Monitör'de izlemeyi unutmayın.
Projenin İncelenmesi
İki Küpü palete yerleştirme zorluğunu çözmek için kullanılan problem çözme sürecini gözden geçirelim. 6 Eksenli Kolun her iki Küpü de amaçlandığı gibi hareket ettirebilmesi için projenin birkaç yinelemesi yapıldı:
- Bir Küpü almak, taşımak ve palete teslim etmek için gereken davranışları tekrarlamak amacıyla Tekrar bloğu eklendi.
- İkinci Küpü palet üzerinde açık bir konuma taşımak içinArtış pozisyonubloğu eklendi.
- Küpleri saymak için bir değişken eklendi, böylece hangi Küpün hareket ettirildiğine göre karar verilebiliyordu.
- Değişkenin değerine göre karar verebilmek için If then bloğu eklendi.
Tüm bu yinelemeler bir araya gelerek her iki Cube'u da başarıyla alıp teslim eden bir proje ortaya çıkardı. İkinci Küp alındığında, 6 Eksenli Kol, Küpü palet üzerindeki orijinal bırakma yerinin üzerine tekrar taşıdı. Daha sonra bir karar verildi.
CubeCount değeri '2' olduğundan, If then bloğunun içindeki blok çalışır ve Cube'u y ekseni boyunca paletin istenen pozisyonuna hareket ettirir.
Bu Ders boyunca uyguladığınız yinelemeli süreç, 6 Eksenli Kol ile bir zorluğu her çözdüğünüzde yapmaya devam edeceğiniz bir şeydir. Çoğu kodlama sorununun ilk denemede mükemmel bir şekilde çözülemeyeceğini hatırlamak önemlidir. Planlama, oluşturma, test etme ve değerlendirme süreci, grubunuzun yaratıcı çözümler bulmasını sağlayabilir. Çoğu zorluk birden fazla yolla çözülebilir, bu nedenle bu sürece işbirlikçi bir şekilde katılarak grubunuz için en iyi işe yarayan stratejiyi bulabilirsiniz.
Etkinlik
Artık iki Küpü yükleme alanından palete taşıdığınıza göre, bu becerileri uygulayacaksınız. Bu etkinlikte, bu Dersteki projenizi geliştirerek 6 Eksenli Kolun dört Küpü palete taşımasını kodlayacaksınız.
Etkinlik:Bir palete dört Küp yerleştirecek şekilde 6 Eksenli Kolu kodlayın.
- Grubunuzla birlikte yükleme alanından ek Küpü alıp palete yerleştirmek için 6 Eksenli Kolu kodlamak üzere projenize nasıl ekleyeceğinizi planlayın. Projeyi düzenlemeye başlamadan önce yaklaşımınız konusunda anlaştığınızdan emin olun.
- Planınızı mühendislik not defterinize yazın.
- Projenizi düzenlemeye başlamadan önceÜnite 7 Ders 3 Etkinlikolarak yeniden adlandırın ve cihazınıza kaydedin.
- Grubunuzun üzerinde anlaştığı plana uyması için projeyi VEXcode'da düzenleyin.
- Projeyi test etmek için çalıştırın. Her Küp yerleştirildikten sonra ikinci, üçüncü ve dördüncü Küpleri manuel olarak yükleme bölgesine yerleştirin.
- 6 Eksenli Kol, Küpleri tasarladığınız gibi başarıyla hareket ettirebiliyor mu? Palet üzerinde dört adet Küp bulunmalıdır. Aksi takdirde, dört Küpü de başarıyla yerleştirene kadar projeyi düzenlemeye devam edin.
Anlayışınızı Kontrol Edin
Bir sonraki derse geçmeden önce, mühendislik defterinize aşağıdaki soruları cevaplayarak bu dersteki kavramları anladığınızdan emin olun.
Anladığınızı Kontrol Edin soruları >(Google Dokümanı / .docx / .pdf)
Tümünü Bir Araya Getirme Etkinliğine geçmek içinSonraki >seçin.