Yapay zekadan makale özeti
- Kısa
- Ayrıntılı
- Bu video, İlke adlı bir eğitimcinin sunduğu "Robot Nasıl Yapılır" serisinin bir bölümüdür ve sumo robot yapımını adım adım gösteren kapsamlı bir eğitim içeriğidir.
- Video, sumo robotunun donanım ve yazılım kısımlarının nasıl yapılandırılacağını detaylı olarak anlatmaktadır. Önce kullanılan malzemeler (Arduino Nano kartı, cisim sensörleri, çizgi sensörü, mikro motorlar, motor sürücü kartı, mini breadboard ve Zoomo robot gövde seti) tanıtılmakta, ardından gövde montajı, sensörlerin yerleştirilmesi, elektronik bileşenlerin bağlanması ve Arduino ile programlama aşamaları gösterilmektedir.
- Videoda robotun pist üzerinde hareket etmesi için gerekli motor fonksiyonlarının kodlanması, sensörlerin Arduino'da tanımlanması ve test edilmesi gibi teknik detaylar da paylaşılmaktadır. Ayrıca, robotun rakibi algılayarak pist dışına itme mantığının programlanması ve seri monitör aracılığıyla sensör verilerinin kontrol edilmesi gibi pratik bilgiler de sunulmaktadır.
- 00:20Sumo Robot Yapımına Giriş
- Videoda sumo robot yapımı anlatılacak, önceki videoda engelden kaçan robot yapılmıştı.
- Sumo robotları Japonya'daki sumo güreşlerinden isim almış, iki yarışmacı birbirlerini pistin dışına itmeye çalışır.
- Sumo robot yarışmalarının pistine "dojo" adı verilir ve dört kategori bulunur: sumo, mini, micro ve nano.
- 01:05Sumo Robotunun Özellikleri
- Sumo robot yarışmalarının dört adet kategorisi bulunur ve bu kategorilerin tek farkı boyuttur.
- Videoda sumo robot mini kategorisine giren, 10x10 boyutlarında bir robot yapılacaktır.
- Sumo robotlarda genellikle ön ve yan tarafında cisim sensörleri kullanılır, videoda dijital sensör tercih edilmiştir.
- 01:31Kullanılacak Malzemeler
- Robot için Arduino Nano kartı, dijital cisim sensörleri ve QTR-1RA çizgi sensörü kullanılacaktır.
- Robotun hareketini sağlamak için iki adet 6V, 500 RPM redüktörlü mikro motor kullanılacak.
- Motorları çalıştırmak için L9110 motor sürücü kartı ve mini breadboard kullanılacaktır.
- 03:26Robot Gövdesi
- Robot gövdesi için Pololu firmasından Zoomo robot gövde seti kullanılacaktır.
- Gövde için illa bu set kullanılmak zorunda değil, farklı malzemelerden tasarlanabilir.
- Gövde seti içinde pleksiglass parçası, plastik parça, pil yatağı, tekerlekler ve montaj için civatalar bulunur.
- 06:03Motor Montajı
- Motor kabloları lehimlenerek motorlara bağlanır ve aynı renkte kablolar sağ ve sol motorlara bağlanır.
- Motorlar gövde üzerine yerleştirilir ve motorların oturduğu oluklar sayesinde hareket etmemeleri sağlanır.
- Motorlara tekerlekler takılır, düz tekerlekler serbest dönen, yarıklı tekerlekler ise motora takılır.
- 09:35Serbest Tekerlek Montajı
- Serbest tekerlekler için özel civata ve pul kullanılarak gövdeye monte edilir.
- Tekerleklerin simetrik olmadığına dikkat edilmeli, içe doğru göçük olan kısım gövdeye bakmalıdır.
- Tekerleklerin plastik parçaları birbirine sürterek yememesi için pul kullanılır ve civata hafif sıkılır.
- 10:54Zoom Robotunun Montajı
- Motorlar yerleştirildikten sonra üst gövde takılmalıdır, bu gövde ön taraftaki motorları sabitleyecektir.
- Kızak kullanılabilecek şekilde montaj yapılırsa, kızak ön tarafa yerleştirilmelidir.
- Gövde montajı için ortadaki delikten başlanmalı ve pil yatağı sökülerek arka taraftan cıvata takılmalıdır.
- 12:35Palet ve Pil Yatağı Montajı
- Tekerlerin üzerindeki dişler paletlere oturacak şekilde yavaşça çevrilerek paletler takılmalıdır.
- Pil yatağının bağlantıları için metal parçalar kullanılarak güç bağlantısı sağlanmalıdır.
- Pil yatağının kapağı kapatılmadan önce piller yerleştirilmelidir ve kablolar lehimlenmelidir.
- 15:13Elektronik Komponentlerin Yerleştirilmesi
- Arduino Nano breadboard üzerine takılıp sabitlenmeli, USB portu için arka tarafta yer ayrılmalıdır.
- Motor sürücüsü, motorlara yakın bir yere yerleştirilmelidir.
- Cisim algılama sensörleri, robotun yan ve ön tarafına yerleştirilmelidir.
- 17:54Sensör Montajı
- Sensörlerin artı, eksi ve sinyal uçlarının kablo lehimleme işlemleri yapılmalıdır.
- Sinyal hatları için jumper kablolar kesilerek, artı ve eksi hatları için normal kablolar kullanılmalıdır.
- Sensörler anakarta ve güç hattına yakın olduğundan, kabloların uzunluğu dikkate alınmalıdır.
- 20:18Sensörlerin Yerleştirilmesi
- Kültüel sensörler çift taraflı bantla gövdeye yapıştırılıyor, dayanıklı olmazsa silikonla tekrar yapıştırılacak.
- Sensörler zeminden aşağı yukarı 5-3 milimetre yükseklikte yerleştirilmeli, bu mesafe kod yazıldıktan sonra test edilecek.
- Rakibi algılamak için iki sensör yan tarafta ve ön kısma yerleştiriliyor, ön kısma yerleştirilen sensörün altına sünger konuluyor.
- 23:31Motor Bağlantıları
- Motorlardan gelen mavi ve yeşil kablolar motor sürücüsüne klemenslere bağlanıyor.
- Klemens bağlantıları yapmadan önce vidalar gevşetilmeli ve kabloların uçları klemense girecek kadar soyulmalı.
- Çok damarlı kabloyu keserken dikkatli olunmalı, çünkü kablo dağılıp devrelerin üzerine geldiğinde kısa devreye neden olabilir.
- 25:23Güç Bağlantıları
- Robot üzerinde ilk yapılacak bağlantı ana hatlar (artı ve eksi) olacak, bunun için sensörlerden gelen artı eksi hatları ve Arduino beslemesi için jumper kabloları gerekiyor.
- Eksi hatları birleştirirken, artı hatları birleştirirken arayıpten switch koyarak robotun açma kapama görevini görmesini sağlıyor.
- Lehimleme işleminden sonra kablo yalıtım için elektrik bandı veya makaron (ısınınca daralan kablo) kullanılıyor.
- 30:50Arduino Bağlantıları
- Eksi hattı Arduino üzerinde GND pinine, switch üzerinden gelen artı kabloyu da Arduino üzerinde 5 volt girişine bağlanıyor.
- Arduino'nun girişinin 5.5 volta kadar tolere edebildiği için 6 volt giriş yapılabiliyor.
- Sensörler ve motorlar çalışmaya başladığı andan itibaren 6 volt bir miktar düşeceği için Arduino'ya zarar vermiyor.
- 31:31Sumo Robotunun Donanım Bağlantıları
- QTR sensörler, çizgiyi algılayacak sensörler olarak sağ taraftaki sensörün Arduino'nun 4. girişine, sol taraftaki sensörün ise 5. girişine bağlanması gerekiyor.
- Ön taraftaki cisim algılama sensörü Arduino'nun 3. girişine, sol taraftaki cisim algılama sensörü ise 2. girişine bağlanıyor.
- Arduino'dan motor sürücüsüne dört tane kablo gitmesi gerekiyor ve bunlar dişi-erkek jumper kabloları olarak kullanılıyor.
- 32:21Motor Sürücüsüne Bağlantı Yapma
- Arduino'nun D6 (dijital 6) pinine bağlanan kablo, motor sürücüsünde B girişine takılıyor ve bu B girişi sağ tarafa bağlanan motora denk geliyor.
- Arduino'nun 7. pine bağlanan kablo, motor sürücüsünde B girişinin diğer pinine takılıyor.
- Arduino'nun D8 (dijital 8) pine bağlanan kablo, motor sürücüsünde A- pinine takılıyor ve son kablo Arduino'nun D9 pine bağlanıp motor sürücüsünde A- pinine takılıyor.
- 33:28Bağlantıların Kontrolü
- Robot üzerindeki tüm bağlantılar tamamlandıktan sonra güç hatlarının kontrolü yapılıyor; Arduino'nun güç gelip gelmediği ve motor sürücüsünün güç lambasının yanıp yanmadığı kontrol ediliyor.
- Sensörlerin arka kısımlarındaki LED'ler, sensörün bir cisim gördüğünde yanıyor ve bu LED'lerin düzgün çalıştığı test ediliyor.
- Kültürel sensörlerin kontrolü sadece kod kısmında Arduino ile algılayarak yapılabilir çünkü üzerlerinde herhangi bir kontrol LED'i bulunmuyor.
- 34:27Kod Yazma ve Sensör Tanımlama
- Kod kısmına geçildiğinde ilk yapılması gereken robotun üzerine koyulan sensörleri tanımlamak ve bunun için define komutu kullanılıyor.
- Robotun üzerinde dört tane sensör var: iki tanesi cisim sensörü, iki tanesi çizgi sensörü.
- Cisim sensörleri tanımlanırken, ön sensör D3'e, sol sensör D2'ye bağlanmıştı.
- 35:16Motor Kontrol Pinlerinin Tanımlanması
- Çizgi sensörleri tanımlanırken sağ çizgi D4'e, sol çizgi D5'e bağlanmıştı.
- Motor kontrol pinleri tanımlanırken sağ motor için D6 ve D7, sol motor için D8 ve D9 pinleri kullanılıyor.
- Bu motor sürücüsünde enable pini olmadığı için motorlar tam güçte çalışacak ve bu somo robotu için bir problem yaratmayacak.
- 36:26Sensör Testi İçin Kod Yazma
- Kod yazmadan önce sensörlerin çalışıp çalışmadığını test etmek için serial monitörden sensör verilerini okumak en kolay yöntem.
- Serial haberleşme 9600 baud rate ile başlatılıyor.
- Loop kısmına sensör değerlerini yazdırmak için Serial.print komutu kullanılıyor ve cisim sensörleri için ön sensör ve sol sensör değerleri, çizgi sensörleri için sağ çizgi ve sol çizgi değerleri okunuyor.
- 38:26Arduino Pin Tanımlamaları
- PinMode komutu ile pinlere giriş (input) veya çıkış (output) olarak tanımlamalar yapılıyor.
- Ön sensör, sol sensör, sağ çizgi ve sol çizgi sensörleri giriş olarak tanımlanıyor.
- Motor pinleri çıkış olarak tanımlanıyor.
- 39:31Sensör Testi
- Sensörlerin çalışıp çalışmadığını test etmek için USB portu bilgisayara bağlanıyor ve kod yükleniyor.
- Serial monitör açılarak sensörlerden gelen veriler kontrol ediliyor.
- Sensörler, gördükleri cisimlerde 0, görmediklerinde 1 değerini veriyor.
- 41:24Robotun Hareket Kodlaması
- Robotun temel amacı, siyah çizgiyi gördüğünde ileri gitmemesi ve pistten çıkmaması.
- Ana if fonksiyonu, çizgi sensörlerinden biri siyahı gördüğünde geri gitme hareketi yapacak.
- Pistin içindeyken (iki sensör de beyaz çizgi gördüğünde) diğer sensörler kontrol edilerek hareket edilebilecek.
- 43:37Hareket Durumları
- Ön sensör rakibi görürken ve sol sensör hiçbir şey görmezken, robot ileri gidecek.
- Sadece sol sensör rakibi görürken, robot sola dönecek.
- İki sensör de hiçbir şey görmezken, robot sağa dönecek.
- 44:52Pist Dışına çıkma Durumu
- Robot pistin dışına çıkınca geri gitme hareketi yapacak.
- Geri gitme ve sola dönüş hareketleri 250 milisaniye sürecek.
- Pistin içindeyken (iki sensör de beyaz çizgi gördüğünde) ileri hareket edilecek, aksi halde else kısmına geçilecek.
- 46:21Robotun Motor Kontrolü
- İf koşulu gerçekleşmediğinde else bloğuna geçilerek geriye dönülüyor ve fonksiyon kaldığı yerden devam ediyor.
- İleri-geri fonksiyonu loop'un dışına tanımlanıyor.
- İleri gitmek için motor pinlerine digital write komutu ile bilgi gönderiliyor.
- 47:30Dönüş Fonksiyonları
- Sola dönerken sağ motor ileri, sol motor geri dönmeli.
- Sağa dönerken sağ motor geri, sol motor ileri gitmeli.
- Fonksiyonlar tanımlandıktan sonra pinler üzerinden değişiklikler yapılabilir.
- 48:02Kod Testi
- Setup kısmında ileri komutu belli bir süre verilerek motorların doğru dönüp dönmediği test ediliyor.
- Upload edildiğinde ileri fonksiyonu tanımlanmamış hatası alınıyor.
- Test sırasında iki motorun da ters dönmesi pinlerin yanlış tanımlanmış olduğunu gösteriyor.
- 49:03Başlangıç İşareti Ekleme
- Kodun hemen çalışmasını engellemek için sonsuz döngü oluşturulabilir.
- Ön sensörde herhangi bir cisim göründüğünde kodun çalışmasını sağlayan kod setup kısmına eklenebilir.
- Serial print ve serial begin komutları robotun bağımsız çalışırken işe yaramadığı için kaldırılabilir.
- 50:46Sumo Robotunun Performansı
- Sumo robotu tüm rakipleri pistin dışına itti.
- Daha büyük sumo robotları için motorlar ve motor sürücü kapasiteleri büyütülmeli.
- Dijital sensörler analog sensörlerden daha hızlı algılama sağlar çünkü arduino üzerinde anlık okumalarda 10 bin saniyelik gecikme olur.
- 52:00Video Kapanışı
- Robotla ilgili yazılım dökümanları ve devre şeması blog sayfasından ulaşılabilir.
- Videoda kullanılan tüm malzeme ve ekipmanlar video açıklamasında bulunabilir.
- İzleyicilerden video beğenilmesi ve kanala abone olunması isteniyor.