Hakkımda

Ben Muhammed Yusuf YILDIRIM. 13 yaşında, 8. Sınıf Öğrencisiyim. Aynı zamanda BİLSEM'liyim. Mersin/Anamur'da yaşıyorum. Elektonik işlerine annem ve babamın tavsiyesiyle 4 yaşımda başladım. Blok tabanlı Arduino bilgisiyle başlayan serüvenim, kısa bir süre sonra C++'ı öğrenmemle devam etti. 6 yaşlarında derin öğrenme ve görüntü işleme gibi alanlara heves duydum. Bunun etkisiyle Python öğrenip bu konu hakkında kendimi geliştirdim. Bölgemiz Anamur'da muz üretimi çok yaygın olduğu için, çürük ve normal muzları ayırt edebilen bir yapay zeka modeli geliştirip BILSEM ile yarışmalara katıldım. Kısa süre içerisinde yazılım ve donanımsal açıdan kendimi geliştirmeye devam ederek onlarca proje yaptım. Hala bu işi çok severek kendimi geliştirmeye devam ediyorum.
Tecrübem
Bildiğim Yazılım Dilleri:
- C++
- C#
- Python
- Java
- Bashscript
- JavaScript
Küçüklüğümden bu yana Linux'e ilgiliyim. Hatta kendi kullanımıma özel geliştirdiğim bir distro'm bile var.
Kullandığım ve kurduğum Linux Distro'ları:
- Pardus
- Debian
- Ubuntu
- Arch
- Tiny Core
- Raspbian
- Linux Mint
- Fedora
- Zorin
- Manjaro
Kaynak kodlarına contribution yaptığım / katkıda bulunduğum distro'lar:
- Pardus (PR)
- Tiny Core
- Raspbian
GitHub üzerinden katkıda bulunduğum önemli projeler:
- IKEA gibi şirketlerin güvenlik amaçlı kullandığı ev otomasyon yazılımının ESP cihazları için oluşan BUG'ların çözümü
- Bazı Linux dağıtımları
- Konsolların yazılımını kıran homebrew sistemleri
- Homebrew sistem uygulamaları
- Çok kullanılan birden fazla Python kütüphaneleri
- Birden fazla yapay zeka uygulaması
Ve fazlası.
Projelerim

NaviBot
Günlük rutinlere yardım edebilen sevimli masaüstü robotu yazılımı. ESP32-2432S028 üzerinde test edilen, ancak CYD adı verilen tüm ESP tabanlı sistemlerde çalışma kapasitesi olan bir yazılım. İçinde arayüz olarak NaviOS kullanıyor ve varsayılan uygulama olarak önceki projelerimde yaptığım Google Gemini API entegresi ve temel uygulamalar geliyor. NaviOS, GitHub üzerinde açık kaynak kodlu bir framework olduğu için herkes kendi kullanım alanlarına göre geliştirip, özelleştirebiliyor. Çalışma alanında bulundurmak, motivasyon artırırken bazı işleri kolaylaştırabilir. CYD kartlarının uygun olması sebebiyle özel tasarımlar yapılırsa hareket de entegre edilebiliyor.

Spot
Açık kaynaklı bir 3D modeli ihtiyaçlarıma göre şekillendirip yeniden tasarlayarak bastığım robot köpek projesi. Yazılım olarak Raspberry Pi ile ROS kullandım. Böylece yapay zeka ile daha uyumlu şekilde çalışabiliyordu. İleride para biriktirip LiDAR sensörü kullanmak istedim. Ancak maalesef tek sorun LiDAR değildi, bursluluğumu biriktirerek aldığım MG996R motorların robotu taşıyamadığını fark ettim. Bir desteğin üzerinde ROS ile çalışıyordu, yürümesi vs. için gerekli hareketleri yapabiliyordu ancak kendi başına hareket edemiyor. Çalışması için lazım olan servoların ailemizin maddi bütçesini aşması sebebiyle proje şu an hayal kırıklığıyla rafa kalktı.

FactOry
Paragraf soruları çözmeyi çok severim, çünkü genellikle hoşuma giden ilginç bilgiler barındırırlar. Buradan esinlenerek, boş zamanlarımda Web Development konusunda kendimi geliştirmek için birkaç saatte ilk versiyonunu tamamladığım, ilginç bilgiler paylaşılan bir sosyal medya platformu. İlk versiyondan sonra zaman buldukça arayüz ve backend kısmında ufak ufak yenilikler yapmaya çalıştım. Site başlarda aktif olmadığından, ileriki süreçte SEO (Search Engine Optimization) için de çalışmalar yaptım. Aynı zamanda diğer platformlarda da tanıtımını yaptım. Kısa süre sonra okuldan dönüp merakla sitenin istatistiklerine baktığımda, normalde 50-60 civarında giriş alan FactOry, 7 saat içinde 12.000'den fazla giriş göstermişti. Aradan aylar geçse de günde 4.000-5.000 ziyaretçi oluyor. Hala zaman buldukça uygunsuz Fact'ları temizlemeye ve siteyi geliştirmeye çalışıyorum. Aynı zamanda E-Kitap okuyucularından girilip, göze zarar vermeden sonsuz ve ilginç bilgilerle dolu bir kitap gibi okunabilir :) Bu kutuya tıklayıp siteye ulaşabilirsiniz.

ESP32'de Gemini API
Bursluluk paramla aldığım, LVGL destekli ESP32-2432S028 kartım ile yaptığım ilk projelerden biriydi. LVGL (Light and Versatile Embedded Graphics Library) konusunda kendimi geliştirmemi de sağladı. Bu arada aynı zamanda LVGL'in contributor'larından biriyim. Temelde, Google'ın Gemini 1.5 Flash, Gemini 1.5 Pro, Gemini 1.0 Pro ve bazı diğer modellerinin API'ı sayesinde tüm CYD (Cheap Yellow Display) ve/veya LVGL ile çalışan neredeyse sınırsız sayıda cihaz üzerinde yapay zeka ile sohbet edebilmemizi sağlıyor. Ben, bütçemin yettiği 2.8 inç'lik CYD'de test ettim. Ancak gerekli config ayarları yapıldığı sürece, LVGL sayesinde internete bağlanabilen ve ekranı olan neredeyse her cihazda çalışabilir. Ayrıca, Gemini kullanmamın sebebi, OpenAI'ın aksine Google'ın API'larını ücretsiz sunması. Eskiden, OpenAI'nın API anahtarları da ücretsizken GPT modelleriyle yaptığım projelerim de vardı. Ancak şu an GPT API'larına bütçem yetmiyor. Bu kutuya tıklayıp ilgili videoyu izleyebilirsiniz. Ayrıca bu projem için dünya çapında bir çok soru aldım. Çok popüler oldu.

VirtualGSMS - Sanal GSM Shield
2020 yılında birçok projemde bir GSM Shield'a ihtiyacım oluyordu. Ailemden sürekli istesem de maddi durumumuzun üstündeydi. Ayrıca, bir GSM Shield alsak bile fazladan bir SIM kart'a ihtiyacımız olacaktı. Daha ucuz olan klon GSM Shield'ları da araştırdık ancak onlarda SIM kart koruma özellikleri yoktu, yani SIM kartımıza zarar verebilme riski vardı. Bu yüzden GSM Shield kullanarak dünyanın her yerinden Arduino gibi mikrodenetleyicilerle iletişim kurabilmemiz gereken otomasyon projeleri ve daha fazlasını yapma imkanımız yoktu. Bir gün sahilde babam ile yürüyüş yaparken beyin fırtınası yaptık ve çok ucuz fiyatlara bulunabilen, bizde bile olan, kullanılmayan eski telefonları bu amaçla kullanma fikri aklımıza geldi. Hem E-Waste (dijital atık) konusunda geri dönüşüm sağlayan, hem de SIM kart korumalı, tonlarca sensöre de sahip, ancak GSM Shield'lardan daha ucuz ve doğa dostu bir yol bulmuş olduk. Eve gider gitmez çalışmalara başladım. Birkaç gün süren AR-GE ve çalışmanın sonucunda, Android Studio ile VGSMS'in ilk versiyonunu tamamladım. Eski bir telefon üzerinde denedim, ve çalışmadı. Ertesi gün okul dönüşünde sorunları çözdüm ve dünya üzerinde bir mikrodenetleyici üzerinde GSM eklentisi olmadan gerçekleştirilen ilk aramayı yaptım. Basit bir Arduino devresinde butona basıldığında, Bluetooth ile telefon numarası gibi bilgiler telefona gidiyordu. Telefonda VGSMS uygulaması sinyali çözüyor ve verilen numarayı arıyor veya SMS atabiliyordu. Ayrıca gelen aramaları ve SMS'leri de Bluetooth ile Arduino'ya gönderiyordu. Bu kutuya tıklayarak ilgili siteye ulaşabilirsiniz.

SMARS Robot Örümcek
SMARS isimli, herkesin geliştirmesine açık bir 3D robot örümcek modeline bazı geliştirmeler yapıp, 3D yazıcımla bastım. Bursluluk maaşımla aldığım uygun fiyatlı SG90 servolar kullanarak prototip tasarımını tamamladım. Inverse Kinematics adı verilen matematiksel fonksiyonları kullanarak bacak hareketlerini hesapladım. Yapay zeka uygulamak için kontrolcü olarak Raspberry Pi Zero tercih ettim. Raspberry Pi Zero kullandığım için tüm kodları Python ile yazdım. 8 ayrı servoyu kontrol edebilmek için Adafruit'in PCA9685 servo sürücüsünü kullandım. Farklı bir projem olan Spot'ta da bu servo sürücüyü kullanmıştım. Bu projenin, Spot ile benzer yönleri var. Inverse Kinematics hesaplamalarını yaparak yürüme ve diğer hareketleri kodladım. Ancak, SG90 servoların yeterli torku uzun süre sağlayamaması ve modeldeki tasarım hataları nedeniyle robotun yürümesi mümkün olmadı. Bir desteğin üzerinde çalışsa da düz zeminde yürüyemedi. Yine de, bu süreçten edindiğim tecrübe ve elde ettiğim sonuçlar benim için önemliydi. Eğer maddi imkanım olsaydı projeyi tamamlayabilirdim. Robot yürümese de, OpenCV ve Raspberry Pi Zero ile geliştirdiğim kendi Cascade Classifier yapay zeka modellerini uygulamam yeterince tatmin edici bir sonuç oldu. Bu kutuya tıklayarak ilgili videoya ulaşabilirsiniz.
İletişim
Bana ulaşmak için:
- Sitenin sağ alt kısmındaki iletişim butonunu,
- m.yusuf.yildirim@msn.com adresini,
- +90 542 551 45 81 numarasını (kendi numaram)
- +90 537 870 77 77 numarasını (babamın numarası)
kullanabilirsiniz 😊