{"id":45328,"date":"2026-10-22T21:10:12","date_gmt":"2026-10-22T18:10:12","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/raspberry-pi-uzerinde-llm-kullanmadan-hinglish-anlayan-robot-kolu-insa-etmek\/"},"modified":"2026-10-22T21:10:57","modified_gmt":"2026-10-22T18:10:57","slug":"raspberry-pi-uzerinde-llm-kullanmadan-hinglish-anlayan-robot-kolu-insa-etmek","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/raspberry-pi-uzerinde-llm-kullanmadan-hinglish-anlayan-robot-kolu-insa-etmek\/","title":{"rendered":"Raspberry Pi \u00dczerinde LLM Kullanmadan Hinglish Anlayan Robot Kolu \u0130n\u015fa Etmek"},"content":{"rendered":"<h2>Raspberry Pi \u00dczerinde LLM Kullanmadan Hinglish Anlayan Robot Kolu \u0130n\u015fa Etmek<\/h2>\n<p>Dijitalle\u015fmenin h\u0131zla yay\u0131ld\u0131\u011f\u0131 g\u00fcn\u00fcm\u00fcz d\u00fcnyas\u0131nda, insan-makine etkile\u015fimi giderek daha do\u011fal ve sezgisel hale geliyor. Ancak, \u00f6zellikle \u00e7ok dilli veya karma dilli ortamlarda, bu etkile\u015fimi sa\u011flamak \u00f6nemli bir zorluk te\u015fkil edebilir. Bu makale, B\u00fcy\u00fck Dil Modelleri (LLM) gibi y\u00fcksek kaynak gerektiren sistemlere ihtiya\u00e7 duymadan, Raspberry Pi gibi d\u00fc\u015f\u00fck maliyetli bir platformda Hinglish (Hint\u00e7e ve \u0130ngilizce kar\u0131\u015f\u0131m\u0131) komutlar\u0131 anlayabilen bir robot kolunun nas\u0131l in\u015fa edilece\u011fini detayl\u0131 bir \u015fekilde ele almaktad\u0131r.<\/p>\n<h2>Temel Kavramlar: Robotik Kol, Raspberry Pi ve Do\u011fal Dil \u0130\u015fleme<\/h2>\n<p>Robotik, bilgisayar bilimleri ve m\u00fchendisli\u011fin kesi\u015fiminde yer alan, makinelerin tasar\u0131m\u0131, in\u015fas\u0131, i\u015fletimi ve uygulamas\u0131yla ilgilenen heyecan verici bir aland\u0131r. \u00d6zellikle robotik kollar, end\u00fcstriyel otomasyondan g\u00fcnl\u00fck ya\u015famdaki yard\u0131mc\u0131 uygulamalara kadar geni\u015f bir yelpazede kullan\u0131lmaktad\u0131r. Bu projede odakland\u0131\u011f\u0131m\u0131z robotik kol, belirli g\u00f6revleri yerine getirebilen, programlanabilir bir mekanik yap\u0131d\u0131r. Genellikle eklemler ve servo motorlar arac\u0131l\u0131\u011f\u0131yla hareket eden bu kollar, hassas kontrol gerektiren montaj, ta\u015f\u0131ma veya s\u0131ralama gibi i\u015flerde b\u00fcy\u00fck avantajlar sunar. Robotik kolun hareket kabiliyeti, motorlar\u0131n g\u00fcc\u00fcne, eklemlerin serbestlik derecesine ve kontrol sisteminin karma\u015f\u0131kl\u0131\u011f\u0131na ba\u011fl\u0131d\u0131r. Bu t\u00fcr bir kolun temel \u00f6nemi, tekrarlayan ve bazen tehlikeli olabilecek g\u00f6revleri insan m\u00fcdahalesi olmadan, y\u00fcksek do\u011frulukla ger\u00e7ekle\u015ftirebilmesidir. \u00d6rne\u011fin, bir depoda k\u00fc\u00e7\u00fck paketleri belirli raflara yerle\u015ftirmek veya bir \u00fcretim hatt\u0131nda hassas par\u00e7alar\u0131 monte etmek gibi i\u015fler, robotik kollar sayesinde daha verimli ve hatas\u0131z hale gelir. Bu da hem i\u015f g\u00fcvenli\u011fini art\u0131r\u0131r hem de operasyonel maliyetleri d\u00fc\u015f\u00fcr\u00fcr.<\/p>\n<h3>Raspberry Pi: K\u00fc\u00e7\u00fck Devrimci Neden \u0130deal?<\/h3>\n<p>Raspberry Pi, tek kart bilgisayar (Single Board Computer &#8211; SBC) kategorisinde yer alan, kredi kart\u0131 boyutunda, uygun fiyatl\u0131 ancak \u015fa\u015f\u0131rt\u0131c\u0131 derecede g\u00fc\u00e7l\u00fc bir cihazd\u0131r. Temel olarak e\u011fitim ama\u00e7l\u0131 geli\u015ftirilmi\u015f olsa da, zamanla g\u00f6m\u00fcl\u00fc sistemler, IoT (Nesnelerin \u0130nterneti) projeleri ve hatta hafif sunucu uygulamalar\u0131 gibi bir\u00e7ok alanda pop\u00fclerlik kazanm\u0131\u015ft\u0131r. D\u00fc\u015f\u00fck g\u00fc\u00e7 t\u00fcketimi, GPIO (General Purpose Input\/Output &#8211; Genel Ama\u00e7l\u0131 Giri\u015f\/\u00c7\u0131k\u0131\u015f) pinleri arac\u0131l\u0131\u011f\u0131yla harici donan\u0131mlarla kolay entegrasyonu ve geni\u015f topluluk deste\u011fi sayesinde, Raspberry Pi, bu t\u00fcr robotik ve yapay zeka projeleri i\u00e7in m\u00fckemmel bir platform sunar. \u0130\u015flem g\u00fcc\u00fc, bellek ve ba\u011flant\u0131 se\u00e7enekleri (Wi-Fi, Bluetooth) g\u00f6z \u00f6n\u00fcne al\u0131nd\u0131\u011f\u0131nda, karma\u015f\u0131k algoritmalar\u0131 \u00e7al\u0131\u015ft\u0131rma ve \u00e7e\u015fitli sens\u00f6rlerden veri i\u015fleme yetene\u011fine sahiptir. \u00d6zellikle bu projede, Raspberry Pi&#8217;nin GPIO pinleri servo motorlar\u0131 kontrol etmek ve bir mikrofon arac\u0131l\u0131\u011f\u0131yla ses giri\u015fini i\u015flemek i\u00e7in hayati bir rol oynayacakt\u0131r. Ayr\u0131ca, Linux tabanl\u0131 i\u015fletim sistemi (Raspbian\/Raspberry Pi OS) sayesinde Python gibi pop\u00fcler programlama dilleriyle kolayca geli\u015ftirme yap\u0131labilir olmas\u0131, projenin h\u0131zla hayata ge\u00e7irilmesini sa\u011flar. G\u00f6m\u00fcl\u00fc sistemlerdeki bu k\u00fc\u00e7\u00fck devrimci, maliyet etkinli\u011fi ve esnekli\u011fi ile inovatif projelerin \u00f6n\u00fcn\u00fc a\u00e7maktad\u0131r.<\/p>\n<h3>LLM&#8217;siz Do\u011fal Dil \u0130\u015fleme: Geleneksel Yakla\u015f\u0131mlar\u0131n G\u00fcc\u00fc<\/h3>\n<p>Do\u011fal Dil \u0130\u015fleme (NLP), bilgisayarlar\u0131n insan dilini anlamas\u0131n\u0131, yorumlamas\u0131n\u0131 ve \u00fcretmesini sa\u011flayan bir yapay zeka (AI) dal\u0131d\u0131r. Son y\u0131llarda B\u00fcy\u00fck Dil Modelleri (LLM&#8217;ler) gibi geli\u015fmi\u015f yap\u0131lar, NLP alan\u0131nda \u00e7\u0131\u011f\u0131r a\u00e7sa da, bu modeller genellikle y\u00fcksek i\u015flem g\u00fcc\u00fc, b\u00fcy\u00fck veri setleri ve bulut tabanl\u0131 kaynaklar gerektirir. Ancak, her proje i\u00e7in bu t\u00fcr bir kaynak yo\u011funlu\u011funa ihtiya\u00e7 duyulmaz. \u00d6zellikle d\u00fc\u015f\u00fck maliyetli ve \u00e7evrimd\u0131\u015f\u0131 \u00e7al\u0131\u015fmas\u0131 gereken g\u00f6m\u00fcl\u00fc sistemlerde, LLM&#8217;siz do\u011fal dil i\u015fleme yakla\u015f\u0131mlar\u0131 b\u00fcy\u00fck \u00f6nem ta\u015f\u0131r. Bu geleneksel yakla\u015f\u0131mlar genellikle kural tabanl\u0131 sistemler, anahtar kelime e\u015fle\u015ftirme, d\u00fczenli ifadeler (regex) ve daha basit makine \u00f6\u011frenimi modelleri (\u00f6rne\u011fin, Destek Vekt\u00f6r Makineleri &#8211; SVM veya Naive Bayes s\u0131n\u0131fland\u0131r\u0131c\u0131lar\u0131) \u00fczerine kuruludur. Konu\u015fma tan\u0131ma (Speech-to-Text) i\u00e7in yerel \u00e7al\u0131\u015fan a\u00e7\u0131k kaynak k\u00fct\u00fcphaneler (Vosk, Pocketsphinx) kullan\u0131labilirken, niyet alg\u0131lama (Intent Recognition) i\u00e7in \u00f6nceden tan\u0131mlanm\u0131\u015f komut kal\u0131plar\u0131n\u0131 analiz eden algoritmalar geli\u015ftirilir. Bu y\u00f6ntemler, belirli bir etki alan\u0131na (domain) \u00f6zg\u00fc ve s\u0131n\u0131rl\u0131 say\u0131da komut setini anlamak i\u00e7in olduk\u00e7a etkilidir. Projemizdeki gibi Hinglish gibi dillerin karma\u015f\u0131kl\u0131\u011f\u0131 (Hint\u00e7e ve \u0130ngilizce&#8217;nin kelime ve dilbilgisi kurallar\u0131n\u0131n kar\u0131\u015f\u0131m\u0131), geleneksel NLP yakla\u015f\u0131mlar\u0131 i\u00e7in \u00f6zel s\u00f6zl\u00fckler ve dilbilgisi kurallar\u0131 olu\u015fturmay\u0131 gerektirir. Bu, modelin dilin \u00f6zg\u00fcn yap\u0131s\u0131na daha iyi adapte olmas\u0131n\u0131 sa\u011flar. LLM&#8217;siz bir yakla\u015f\u0131m, \u00f6zellikle gizlilik, maliyet ve internet ba\u011flant\u0131s\u0131 ba\u011f\u0131ms\u0131zl\u0131\u011f\u0131 gibi fakt\u00f6rlerin kritik oldu\u011fu durumlarda s\u00fcrd\u00fcr\u00fclebilir ve uygulanabilir bir \u00e7\u00f6z\u00fcm sunar.<\/p>\n<h2>Projenin Temel Bile\u015fenleri ve Donan\u0131m Kurulumu<\/h2>\n<p>Bir robotik kol projesinin ba\u015far\u0131s\u0131, do\u011fru donan\u0131m se\u00e7imi ve bu donan\u0131mlar\u0131n hatas\u0131z bir \u015fekilde entegre edilmesine ba\u011fl\u0131d\u0131r. Bu b\u00f6l\u00fcmde, Hinglish anlayan robot kolumuzu olu\u015fturmak i\u00e7in gerekli olan temel donan\u0131m bile\u015fenlerini ve bunlar\u0131n Raspberry Pi&#8217;ye nas\u0131l ba\u011flanaca\u011f\u0131n\u0131 ad\u0131m ad\u0131m inceleyece\u011fiz. Her bir bile\u015fenin i\u015flevi ve \u00f6nemi, projenin genel yap\u0131s\u0131n\u0131 anlamak i\u00e7in kritik \u00f6neme sahiptir. Do\u011fru ba\u011flant\u0131lar, sistemin stabil \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flarken, yanl\u0131\u015f ba\u011flant\u0131lar cihazlara zarar verebilir veya projenin beklendi\u011fi gibi \u00e7al\u0131\u015fmamas\u0131na neden olabilir. Bu nedenle, her ad\u0131m\u0131 dikkatle takip etmek ve ba\u011flant\u0131lar\u0131 yapmadan \u00f6nce g\u00fc\u00e7 kaynaklar\u0131n\u0131 kontrol etmek b\u00fcy\u00fck \u00f6nem ta\u015f\u0131r. Donan\u0131m se\u00e7imi yaparken, projenin b\u00fct\u00e7esi, performans gereksinimleri ve fiziksel boyut k\u0131s\u0131tlamalar\u0131 gibi fakt\u00f6rleri g\u00f6z \u00f6n\u00fcnde bulundurmak ak\u0131ll\u0131ca olacakt\u0131r. \u00d6zellikle Raspberry Pi&#8217;nin GPIO pinlerinin hassasiyeti nedeniyle, ba\u011flant\u0131lar\u0131 yaparken statik elektrikten ka\u00e7\u0131nmak ve do\u011fru voltaj seviyelerini kullanmak cihaz\u0131n \u00f6mr\u00fcn\u00fc uzatacakt\u0131r.<\/p>\n<h3>Gerekli Donan\u0131mlar Listesi: Ne Laz\u0131m?<\/h3>\n<p>Bu projeyi hayata ge\u00e7irmek i\u00e7in a\u015fa\u011f\u0131daki temel donan\u0131m bile\u015fenlerine ihtiyac\u0131m\u0131z olacak:<\/p>\n<ul>\n<li><strong>Raspberry Pi (Model 3B+ veya daha yenisi):<\/strong> Projenin beyni olarak g\u00f6rev yapacak. Daha yeni modeller (Raspberry Pi 4, 5) daha y\u00fcksek i\u015flem g\u00fcc\u00fc ve bellek sunarak daha ak\u0131c\u0131 bir deneyim sa\u011flayacakt\u0131r.<\/li>\n<li><strong>Robot Kol Kiti (3-5 Serbestlik Derecesi):<\/strong> Genellikle servo motorlar ve mekanik eklemlerden olu\u015fan haz\u0131r bir set tercih edilebilir. Bu kitler genellikle uygun fiyatl\u0131d\u0131r ve montaj\u0131 kolayd\u0131r. SG90 veya MG996R gibi pop\u00fcler servo motorlar\u0131 i\u00e7eren kitler ba\u015flang\u0131\u00e7 i\u00e7in idealdir.<\/li>\n<li><strong>USB Mikrofon:<\/strong> Sesli komutlar\u0131 alg\u0131lamak i\u00e7in y\u00fcksek kaliteli bir USB mikrofon gereklidir. Ortam g\u00fcr\u00fclt\u00fcs\u00fcn\u00fc azaltma \u00f6zelli\u011fine sahip modeller tercih edilebilir.<\/li>\n<li><strong>Harici G\u00fc\u00e7 Kayna\u011f\u0131 (5V, min. 3A):<\/strong> Raspberry Pi&#8217;nin ve \u00f6zellikle servo motorlar\u0131n stabil \u00e7al\u0131\u015fmas\u0131 i\u00e7in yeterli ak\u0131m\u0131 sa\u011flayacak bir g\u00fc\u00e7 kayna\u011f\u0131 \u015fartt\u0131r. Servo motorlar, hareket ederken \u00f6nemli miktarda ak\u0131m \u00e7ekebilir.<\/li>\n<li><strong>Breadboard ve Jumper Kablolar\u0131:<\/strong> Donan\u0131m bile\u015fenleri aras\u0131nda ba\u011flant\u0131 kurmak ve prototipleme yapmak i\u00e7in kullan\u0131l\u0131r. Di\u015fi-erkek ve erkek-erkek jumper kablolar\u0131na ihtiya\u00e7 duyulacakt\u0131r.<\/li>\n<li><strong>PWM S\u00fcr\u00fcc\u00fc Kart\u0131 (Opsiyonel ama \u00d6nerilir):<\/strong> PCA9685 gibi bir PWM s\u00fcr\u00fcc\u00fc kart\u0131, Raspberry Pi&#8217;nin s\u0131n\u0131rl\u0131 GPIO pinlerini serbest b\u0131rak\u0131r ve birden fazla servo motoru daha stabil bir \u015fekilde kontrol etmenizi sa\u011flar. Bu kartlar I2C protokol\u00fc \u00fczerinden Raspberry Pi ile ileti\u015fim kurar.<\/li>\n<li><strong>SD Kart (min. 16GB):<\/strong> Raspberry Pi i\u015fletim sistemi ve proje dosyalar\u0131n\u0131 depolamak i\u00e7in.<\/li>\n<\/ul>\n<p>Bu bile\u015fenlerin yan\u0131 s\u0131ra, montaj i\u00e7in k\u00fc\u00e7\u00fck bir tornavida seti ve kablolar\u0131 d\u00fczenlemek i\u00e7in kablo ba\u011flar\u0131 da i\u015finizi kolayla\u015ft\u0131racakt\u0131r. Her bir par\u00e7an\u0131n do\u011fru model ve \u00f6zelliklerde oldu\u011fundan emin olmak, projenin sorunsuz ilerlemesi i\u00e7in kritik \u00f6neme sahiptir.<\/p>\n<h3>Donan\u0131m Ba\u011flant\u0131lar\u0131: Ad\u0131m Ad\u0131m Rehber<\/h3>\n<p>Donan\u0131m ba\u011flant\u0131lar\u0131, projenin en kritik ad\u0131mlar\u0131ndan biridir. Yanl\u0131\u015f ba\u011flant\u0131lar hem bile\u015fenlere zarar verebilir hem de sistemin \u00e7al\u0131\u015fmas\u0131n\u0131 engelleyebilir. A\u015fa\u011f\u0131daki ad\u0131mlar\u0131 dikkatlice takip edin:<\/p>\n<ol>\n<li><strong>Raspberry Pi Haz\u0131rl\u0131\u011f\u0131:<\/strong>\n<ul>\n<li>\u00d6ncelikle Raspberry Pi&#8217;nize i\u015fletim sistemini (Raspberry Pi OS) kurun ve gerekli g\u00fcncellemeleri yap\u0131n.<\/li>\n<li>SSH eri\u015fimini etkinle\u015ftirin ve a\u011f ba\u011flant\u0131s\u0131n\u0131 kurun.<\/li>\n<\/ul>\n<\/li>\n<li><strong>USB Mikrofon Ba\u011flant\u0131s\u0131:<\/strong>\n<ul>\n<li>USB mikrofonu Raspberry Pi&#8217;nizin herhangi bir USB portuna tak\u0131n.<\/li>\n<li><code>lsusb<\/code> komutu ile mikrofonun tan\u0131nd\u0131\u011f\u0131ndan emin olun.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Servo Motor Ba\u011flant\u0131lar\u0131 (PWM S\u00fcr\u00fcc\u00fc Kart\u0131 ile &#8211; \u00d6nerilen Y\u00f6ntem):<\/strong>\n<ul>\n<li>PCA9685 gibi bir PWM s\u00fcr\u00fcc\u00fc kart\u0131 kullan\u0131yorsan\u0131z:\n<ul>\n<li>S\u00fcr\u00fcc\u00fc kart\u0131n\u0131n VCC ve GND pinlerini harici g\u00fc\u00e7 kayna\u011f\u0131n\u0131z\u0131n 5V ve GND \u00e7\u0131k\u0131\u015flar\u0131na ba\u011flay\u0131n. Bu, servo motorlara g\u00fc\u00e7 sa\u011flayacakt\u0131r.<\/li>\n<li>S\u00fcr\u00fcc\u00fc kart\u0131n\u0131n SDA ve SCL pinlerini Raspberry Pi&#8217;nin I2C SDA (GPIO2) ve SCL (GPIO3) pinlerine ba\u011flay\u0131n.<\/li>\n<li>S\u00fcr\u00fcc\u00fc kart\u0131n\u0131n OE (Output Enable) pinini Raspberry Pi&#8217;nin GND pinine ba\u011flay\u0131n.<\/li>\n<li>Her bir servo motorun kahverengi (GND) kablosunu s\u00fcr\u00fcc\u00fc kart\u0131n\u0131n GND hatt\u0131na, k\u0131rm\u0131z\u0131 (VCC) kablosunu s\u00fcr\u00fcc\u00fc kart\u0131n\u0131n V+ hatt\u0131na ve turuncu\/sar\u0131 (Sinyal) kablosunu s\u00fcr\u00fcc\u00fc kart\u0131ndaki uygun PWM kanal\u0131na (\u00f6rn. 0, 1, 2&#8230;) ba\u011flay\u0131n.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li><strong>Servo Motor Ba\u011flant\u0131lar\u0131 (Do\u011frudan Raspberry Pi GPIO ile &#8211; S\u0131n\u0131rl\u0131 Say\u0131da Motor \u0130\u00e7in):<\/strong>\n<ul>\n<li>E\u011fer sadece birka\u00e7 servo motor kullanacaksan\u0131z ve PWM s\u00fcr\u00fcc\u00fc kart\u0131 kullanm\u0131yorsan\u0131z:\n<ul>\n<li>Her bir servo motorun kahverengi (GND) kablosunu Raspberry Pi&#8217;nin GND pinlerinden birine ba\u011flay\u0131n.<\/li>\n<li>K\u0131rm\u0131z\u0131 (VCC) kablosunu harici g\u00fc\u00e7 kayna\u011f\u0131n\u0131n 5V \u00e7\u0131k\u0131\u015f\u0131na ba\u011flay\u0131n (<strong>ASLA do\u011frudan Raspberry Pi&#8217;nin 5V pinine ba\u011flamay\u0131n, ak\u0131m yetersiz kalabilir ve Pi&#8217;ye zarar verebilirsiniz!<\/strong>).<\/li>\n<li>Turuncu\/sar\u0131 (Sinyal) kablosunu Raspberry Pi&#8217;nin donan\u0131m PWM destekleyen GPIO pinlerinden birine ba\u011flay\u0131n (\u00f6rn. GPIO12, GPIO13, GPIO18, GPIO19).<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li><strong>G\u00fc\u00e7 Kayna\u011f\u0131 Ba\u011flant\u0131s\u0131:<\/strong>\n<ul>\n<li>Harici 5V g\u00fc\u00e7 kayna\u011f\u0131n\u0131 servo motorlara (veya PWM s\u00fcr\u00fcc\u00fc kart\u0131na) ba\u011flad\u0131ktan sonra, Raspberry Pi&#8217;ye kendi resmi g\u00fc\u00e7 adapt\u00f6r\u00fcn\u00fc takarak g\u00fc\u00e7 verin.<\/li>\n<li><strong>\u00d6nemli Not:<\/strong> Raspberry Pi ve servo motorlar i\u00e7in ayr\u0131 g\u00fc\u00e7 kaynaklar\u0131 kullanmak veya servo motorlar i\u00e7in harici, yeterli ak\u0131ma sahip bir g\u00fc\u00e7 kayna\u011f\u0131 kullanmak, stabilite ve g\u00fcvenlik a\u00e7\u0131s\u0131ndan kritik \u00f6neme sahiptir.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p>T\u00fcm ba\u011flant\u0131lar\u0131 kontrol ettikten sonra, Raspberry Pi&#8217;nizi ba\u015flatabilir ve yaz\u0131l\u0131m geli\u015ftirme a\u015famas\u0131na ge\u00e7ebilirsiniz. Bu a\u015famada, her \u015feyin do\u011fru ba\u011fland\u0131\u011f\u0131ndan emin olmak i\u00e7in k\u00fc\u00e7\u00fck bir test kodu \u00e7al\u0131\u015ft\u0131rarak motorlar\u0131n tepki verip vermedi\u011fini kontrol etmek iyi bir uygulamad\u0131r.<\/p>\n<h2>Hinglish Anlama Yetene\u011fini Geli\u015ftirmek: Yaz\u0131l\u0131m Mimarisi<\/h2>\n<p>Robot kolumuzun Hinglish komutlar\u0131n\u0131 anlayabilmesi i\u00e7in karma\u015f\u0131k bir yaz\u0131l\u0131m mimarisine ihtiyac\u0131m\u0131z var. Bu mimari, sesli giri\u015fi metne d\u00f6n\u00fc\u015ft\u00fcren, metinden komutun niyetini \u00e7\u0131karan ve son olarak bu niyeti robot kolunun hareketlerine \u00e7eviren mod\u00fcllerden olu\u015fur. LLM kullanmaman\u0131n getirdi\u011fi k\u0131s\u0131tlamalar\u0131 a\u015fmak i\u00e7in, daha geleneksel ancak optimize edilmi\u015f NLP tekniklerini kullanaca\u011f\u0131z. Bu b\u00f6l\u00fcmde, konu\u015fma tan\u0131ma ve niyet alg\u0131lama mod\u00fcllerinin nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131, hangi Python k\u00fct\u00fcphanelerini kullanaca\u011f\u0131m\u0131z\u0131 ve Hinglish gibi karma dilli bir yap\u0131y\u0131 nas\u0131l ele alaca\u011f\u0131m\u0131z\u0131 detayl\u0131 bir \u015fekilde inceleyece\u011fiz. Her mod\u00fcl, bir \u00f6nceki mod\u00fcl\u00fcn \u00e7\u0131kt\u0131s\u0131n\u0131 alarak kendi i\u015fini yapar ve bir sonraki mod\u00fcle girdi sa\u011flar, bu da mod\u00fcler ve bak\u0131m\u0131 kolay bir yap\u0131 olu\u015fturur. Yaz\u0131l\u0131m\u0131n her katman\u0131, d\u00fc\u015f\u00fck kaynak t\u00fcketecek ve Raspberry Pi \u00fczerinde verimli \u00e7al\u0131\u015facak \u015fekilde tasarlanmal\u0131d\u0131r. \u00d6zellikle Hinglish&#8217;in kendine \u00f6zg\u00fc yap\u0131s\u0131, dilin n\u00fcanslar\u0131n\u0131 do\u011fru bir \u015fekilde yakalamak i\u00e7in \u00f6zel dikkat gerektirir.<\/p>\n<h3>Konu\u015fma Tan\u0131ma Mod\u00fcl\u00fc (ASR): Sesleri Metne D\u00f6n\u00fc\u015ft\u00fcrme<\/h3>\n<p>Sesli komutlar\u0131 i\u015fleyebilmek i\u00e7in ilk ad\u0131m, kullan\u0131c\u0131n\u0131n konu\u015fmas\u0131n\u0131 yaz\u0131l\u0131 metne d\u00f6n\u00fc\u015ft\u00fcrmektir. Bu i\u015flem, Otomatik Konu\u015fma Tan\u0131ma (Automatic Speech Recognition &#8211; ASR) olarak bilinir. Bu projede, LLM&#8217;siz bir yakla\u015f\u0131m benimsedi\u011fimiz i\u00e7in, bulut tabanl\u0131 API&#8217;lere (\u00f6rne\u011fin Google Speech-to-Text) ba\u011f\u0131ml\u0131l\u0131\u011f\u0131 minimumda tutmay\u0131 veya tamamen ortadan kald\u0131rmay\u0131 hedefliyoruz. Bunun yerine, yerel olarak \u00e7al\u0131\u015fabilen a\u00e7\u0131k kaynakl\u0131 ASR k\u00fct\u00fcphanelerini tercih edebiliriz. <code>Vosk<\/code> veya <code>Pocketsphinx<\/code> gibi k\u00fct\u00fcphaneler, Raspberry Pi gibi g\u00f6m\u00fcl\u00fc sistemlerde d\u00fc\u015f\u00fck kaynak t\u00fcketimiyle \u00e7al\u0131\u015fabilen hafif dil modelleri sunar. Bu k\u00fct\u00fcphaneler, \u00f6nceden e\u011fitilmi\u015f modelleri kullanarak ses dalgalar\u0131n\u0131 analiz eder ve en olas\u0131 kelime dizisini tahmin eder. Hinglish i\u00e7in \u00f6zel bir model mevcut de\u011filse, Hint\u00e7e ve \u0130ngilizce modellerini birle\u015ftirme veya mevcut modelleri Hinglish veri setleriyle yeniden e\u011fitme gibi yakla\u015f\u0131mlar denenebilir, ancak bu daha ileri seviye bir konudur. Ba\u015flang\u0131\u00e7 i\u00e7in, <code>SpeechRecognition<\/code> Python k\u00fct\u00fcphanesi, farkl\u0131 ASR motorlar\u0131na (hem \u00e7evrimi\u00e7i hem de \u00e7evrimd\u0131\u015f\u0131) kolayca aray\u00fcz sa\u011flamas\u0131 nedeniyle iyi bir se\u00e7imdir. Bu k\u00fct\u00fcphane, Google Speech Recognition API&#8217;sine eri\u015fim sa\u011flayabilir veya yerel olarak Vosk gibi motorlar\u0131 kullanabilir. Projemizin &#8220;LLM&#8217;siz&#8221; ve &#8220;yerel&#8221; hedefine uygun olarak, <code>SpeechRecognition<\/code> k\u00fct\u00fcphanesini Vosk motoruyla birlikte kullanmay\u0131 tercih edece\u011fiz. Bu sayede internet ba\u011flant\u0131s\u0131na ba\u011f\u0131ml\u0131l\u0131k azal\u0131r ve gizlilik artar. Hinglish aksanlar\u0131 ve dil kar\u0131\u015ft\u0131rma (code-mixing) sorunlar\u0131, ASR&#8217;nin do\u011frulu\u011funu etkileyebilir. Bu zorlu\u011fun \u00fcstesinden gelmek i\u00e7in, mikrofonun kalitesi, ortam g\u00fcr\u00fclt\u00fcs\u00fcn\u00fcn azalt\u0131lmas\u0131 ve gerekirse \u00f6zel akustik modellerin e\u011fitilmesi gibi y\u00f6ntemler kullan\u0131labilir. ASR mod\u00fcl\u00fc, sesli komutu dinleyecek, kayd\u0131 durduracak ve metin olarak \u00e7\u0131kt\u0131s\u0131n\u0131 verecektir.<\/p>\n<div class=\"code-container\">\n<pre><code>\nimport speech_recognition as sr\n\ndef ses_tanima():\n    r = sr.Recognizer()\n    with sr.Microphone() as source:\n        print(\"L\u00fctfen konu\u015fun...\")\n        r.adjust_for_ambient_noise(source) # Ortam g\u00fcr\u00fclt\u00fcs\u00fcn\u00fc ayarla\n        audio = r.listen(source)\n\n    try:\n        # Google Speech Recognition (\u00c7evrimi\u00e7i) - H\u0131zl\u0131 test i\u00e7in\n        # text = r.recognize_google(audio, language=\"en-IN\") # Hint \u0130ngilizcesi i\u00e7in\n        # print(f\"Google taraf\u0131ndan tan\u0131nan: {text}\")\n\n        # Vosk (\u00c7evrimd\u0131\u015f\u0131) - LLM'siz ve yerel yakla\u015f\u0131m i\u00e7in\n        # Vosk modelini indirmeyi ve belirtmeyi unutmay\u0131n!\n        # from vosk import Model, KaldiRecognizer\n        # import json\n        # model = Model(lang=\"en\") # veya \"hi\" ya da \u00f6zel Hinglish modeli\n        # rec = KaldiRecognizer(model, 16000)\n        # rec.AcceptWaveform(audio.frame_data)\n        # result = json.loads(rec.Result())\n        # text = result['text']\n        # print(f\"Vosk taraf\u0131ndan tan\u0131nan: {text}\")\n\n        # Basit bir \u00f6rnek olarak, T\u00fcrk\u00e7e konu\u015fma tan\u0131ma\n        text = r.recognize_google(audio, language=\"tr-TR\")\n        print(f\"Tan\u0131nan komut: {text}\")\n        return text\n    except sr.UnknownValueError:\n        print(\"\u00dczg\u00fcn\u00fcm, ne dedi\u011finizi anlayamad\u0131m.\")\n        return \"\"\n    except sr.RequestError as e:\n        print(f\"Konu\u015fma tan\u0131ma servisine eri\u015filemedi; {e}\")\n        return \"\"\n\n# Komut:\n# taninan_metin = ses_tanima()\n# if taninan_metin:\n#     print(f\"\u0130\u015flenecek metin: {taninan_metin}\")\n      <\/code><\/pre>\n<\/p><\/div>\n<p>Yukar\u0131daki kod \u00f6rne\u011fi, <code>SpeechRecognition<\/code> k\u00fct\u00fcphanesini kullanarak mikrofonunuzdan ses al\u0131p metne d\u00f6n\u00fc\u015ft\u00fcrmenin temel yap\u0131s\u0131n\u0131 g\u00f6stermektedir. Vosk gibi \u00e7evrimd\u0131\u015f\u0131 bir motor kullanmak i\u00e7in, ilgili Vosk modelini indirip projenize dahil etmeniz gerekmektedir. Hinglish i\u00e7in, hem \u0130ngilizce hem de Hint\u00e7e modellerinin \u00f6zelliklerini birle\u015ftiren \u00f6zel bir model veya kural seti olu\u015fturmak, do\u011fruluk oran\u0131n\u0131 art\u0131rabilir.<\/p>\n<h3>Niyet Alg\u0131lama ve Komut \u00c7\u00f6z\u00fcmleme (NLU): Ne \u0130stedi\u011fini Anlamak<\/h3>\n<p>Konu\u015fma tan\u0131ma mod\u00fcl\u00fcnden elde etti\u011fimiz metin, robot kolunun ne yapmas\u0131 gerekti\u011fini hen\u00fcz tam olarak belirtmez. Bu metni anlaml\u0131 bir komuta d\u00f6n\u00fc\u015ft\u00fcrmek i\u00e7in Niyet Alg\u0131lama (Intent Recognition) ve Komut \u00c7\u00f6z\u00fcmleme (Command Parsing) mod\u00fcl\u00fcne ihtiyac\u0131m\u0131z var. LLM&#8217;siz bir ortamda, bu genellikle anahtar kelime e\u015fle\u015ftirme, d\u00fczenli ifadeler (regex) ve kural tabanl\u0131 sistemler arac\u0131l\u0131\u011f\u0131yla yap\u0131l\u0131r. \u00d6rne\u011fin, &#8220;Paket le lo&#8221; (Paketi al) veya &#8220;Idhar rakho&#8221; (Buraya koy) gibi Hinglish komutlar\u0131n\u0131 tan\u0131mak i\u00e7in, belirli kelime \u00f6beklerini veya kal\u0131plar\u0131 arayan bir dizi kural tan\u0131mlayabiliriz. Bu kurallar, komutun ana eylemini (al, b\u0131rak, ta\u015f\u0131) ve varsa nesnesini (paket, kutu) veya konumunu (buraya, oraya) \u00e7\u0131karmaya odaklan\u0131r. Hinglish&#8217;in karma\u015f\u0131kl\u0131\u011f\u0131 nedeniyle, farkl\u0131 yaz\u0131m varyasyonlar\u0131n\u0131, e\u015f anlaml\u0131 kelimeleri ve dil kar\u0131\u015ft\u0131rma \u00f6rneklerini kapsayacak esnek kurallar olu\u015fturmak \u00f6nemlidir. \u00d6rne\u011fin, &#8220;le lo&#8221; (al) veya &#8220;uthao&#8221; (kald\u0131r) gibi farkl\u0131 Hint\u00e7e fiillerin ayn\u0131 &#8220;al&#8221; niyetine i\u015faret edebilece\u011fini g\u00f6z \u00f6n\u00fcnde bulundurmal\u0131y\u0131z. Bu mod\u00fcl\u00fcn \u00e7\u0131kt\u0131s\u0131, robot kolunun ger\u00e7ekle\u015ftirmesi gereken belirli bir eylemi ve varsa ilgili parametreleri (\u00f6rne\u011fin, hedef konum) i\u00e7eren yap\u0131land\u0131r\u0131lm\u0131\u015f bir veri olacakt\u0131r. Bu yap\u0131land\u0131r\u0131lm\u0131\u015f veri, robot kol kontrol mod\u00fcl\u00fc taraf\u0131ndan kolayca yorumlanabilir. Bu yakla\u015f\u0131m, LLM&#8217;lerin karma\u015f\u0131k dilbilgisel analiz yeteneklerine sahip olmasa da, belirli bir etki alan\u0131ndaki s\u0131n\u0131rl\u0131 komut setini y\u00fcksek do\u011frulukla i\u015fleyebilir.<\/p>\n<div class=\"code-container\">\n<pre><code>\nimport re\n\ndef niyet_algila(metin):\n    metin = metin.lower() # K\u00fc\u00e7\u00fck harfe \u00e7evirerek tutarl\u0131l\u0131k sa\u011fla\n    niyet = {\"eylem\": \"bilinmiyor\", \"hedef\": None, \"konum\": None}\n\n    # Hinglish komut \u00f6rnekleri ve regex desenleri\n    komut_desenleri = {\n        \"al\": r\"(paketi|kutu|nesne)\\s*(le lo|uthao|al)\", # Paketi al \/ Kald\u0131r\n        \"birak\": r\"(paketi|kutu|nesne)\\s*(rakho|birak)\", # Paketi b\u0131rak \/ Koy\n        \"buraya_koy\": r\"(idhar|yahan)\\s*(rakho|koy)\", # Buraya koy\n        \"oraya_koy\": r\"(udhar|wahan)\\s*(rakho|koy)\", # Oraya koy\n        \"saga_don\": r\"(right|sa\u011fa)\\s*(turn|don)\", # Sa\u011fa d\u00f6n\n        \"sola_don\": r\"(left|sola)\\s*(turn|don)\", # Sola d\u00f6n\n    }\n\n    for eylem, desen in komut_desenleri.items():\n        match = re.search(desen, metin)\n        if match:\n            if eylem == \"al\":\n                niyet[\"eylem\"] = \"al\"\n                niyet[\"hedef\"] = match.group(1) if match.group(1) else \"nesne\"\n            elif eylem == \"birak\":\n                niyet[\"eylem\"] = \"birak\"\n                niyet[\"hedef\"] = match.group(1) if match.group(1) else \"nesne\"\n            elif eylem == \"buraya_koy\":\n                niyet[\"eylem\"] = \"koy\"\n                niyet[\"konum\"] = \"buraya\"\n            elif eylem == \"oraya_koy\":\n                niyet[\"eylem\"] = \"koy\"\n                niyet[\"konum\"] = \"oraya\"\n            elif eylem == \"saga_don\":\n                niyet[\"eylem\"] = \"saga_don\"\n            elif eylem == \"sola_don\":\n                niyet[\"eylem\"] = \"sola_don\"\n            return niyet\n\n    return niyet\n\n# Komut \u00f6rnekleri:\n# print(niyet_algila(\"Paket le lo\"))\n# print(niyet_algila(\"Kutu rakho\"))\n# print(niyet_algila(\"Idhar rakho\"))\n# print(niyet_algila(\"Sa\u011fa turn\"))\n      <\/code><\/pre>\n<\/p><\/div>\n<p>Bu Python kodu, d\u00fczenli ifadeler (<code>re<\/code> mod\u00fcl\u00fc) kullanarak basit bir niyet alg\u0131lama sistemi \u00f6rne\u011fi sunar. <code>niyet_algila<\/code> fonksiyonu, gelen metni analiz eder ve \u00f6nceden tan\u0131mlanm\u0131\u015f kal\u0131plarla e\u015fle\u015ftirerek bir eylem ve varsa hedef\/konum bilgisi \u00e7\u0131kar\u0131r. Bu yakla\u015f\u0131m, Hinglish&#8217;teki farkl\u0131 ifade bi\u00e7imlerini yakalamak i\u00e7in esnek desenler kullan\u0131r ve robot kolunun ne yapmas\u0131 gerekti\u011fini net bir \u015fekilde belirler.<\/p>\n<h2>Robot Kol Kontrol\u00fc: Hareketleri Programlama<\/h2>\n<p>Robot kolumuzun sesli komutlar\u0131 anlayabilmesi kadar, bu komutlar\u0131 fiziksel hareketlere d\u00f6n\u00fc\u015ft\u00fcrebilmesi de b\u00fcy\u00fck \u00f6nem ta\u015f\u0131r. Niyet alg\u0131lama mod\u00fcl\u00fcnden gelen yap\u0131land\u0131r\u0131lm\u0131\u015f komutlar, robot kolunun servo motorlar\u0131n\u0131 kontrol etmek i\u00e7in kullan\u0131l\u0131r. Bu b\u00f6l\u00fcmde, servo motorlar\u0131n nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131, Raspberry Pi \u00fczerinden nas\u0131l kontrol edildi\u011fini ve nihayetinde al\u0131nan komutlar\u0131n robot kolunun belirli hareket dizilerine nas\u0131l d\u00f6n\u00fc\u015ft\u00fcr\u00fcld\u00fc\u011f\u00fcn\u00fc detayl\u0131 bir \u015fekilde inceleyece\u011fiz. Servo motorlar, robotik uygulamalarda hassas a\u00e7\u0131 kontrol\u00fc sa\u011flad\u0131klar\u0131 i\u00e7in yayg\u0131n olarak kullan\u0131l\u0131r. Raspberry Pi&#8217;nin GPIO pinleri arac\u0131l\u0131\u011f\u0131yla bu motorlara g\u00f6nderilen PWM (Darbe Geni\u015flik Mod\u00fclasyonu) sinyalleri, motorlar\u0131n belirli bir a\u00e7\u0131ya d\u00f6nmesini sa\u011flar. Bu s\u00fcre\u00e7, robot kolunun her bir eklemini ba\u011f\u0131ms\u0131z olarak kontrol etmemize ve b\u00f6ylece karma\u015f\u0131k hareketler ger\u00e7ekle\u015ftirmemize olanak tan\u0131r. Do\u011fru zamanlama ve sinyal y\u00f6netimi, robot kolunun ak\u0131c\u0131 ve do\u011fru hareket etmesi i\u00e7in kritik \u00f6neme sahiptir. Ayr\u0131ca, kolun fiziksel s\u0131n\u0131rlamalar\u0131 ve hareket aral\u0131klar\u0131 da yaz\u0131l\u0131mda dikkate al\u0131nmal\u0131d\u0131r, aksi takdirde motorlara veya mekanik yap\u0131ya zarar verilebilir. Bu b\u00f6l\u00fcm, robot kolunun fiziksel d\u00fcnyadaki varl\u0131\u011f\u0131n\u0131 somutla\u015ft\u0131ran temel yaz\u0131l\u0131m ve donan\u0131m etkile\u015fimlerini kapsar.<\/p>\n<h3>Servo Motor Kontrol\u00fcn\u00fcn Temelleri: Hassas Hareketler \u0130\u00e7in PWM<\/h3>\n<p>Servo motorlar, robotik uygulamalarda belirli bir a\u00e7\u0131y\u0131 hassas bir \u015fekilde korumak i\u00e7in kullan\u0131lan motorlard\u0131r. Genellikle 0 ile 180 derece aras\u0131nda d\u00f6nebilirler ve kontrol sinyali ile istenen a\u00e7\u0131ya ayarlanabilirler. Bu kontrol sinyali, Darbe Geni\u015flik Mod\u00fclasyonu (PWM) olarak bilinen bir y\u00f6ntemle sa\u011flan\u0131r. PWM, sabit bir frekansta tekrarlanan kare dalgalar\u0131n darbe geni\u015fli\u011fini (yani, sinyalin &#8220;a\u00e7\u0131k&#8221; kald\u0131\u011f\u0131 s\u00fcreyi) de\u011fi\u015ftirerek motorun pozisyonunu belirler. Raspberry Pi, donan\u0131m veya yaz\u0131l\u0131m tabanl\u0131 PWM sinyalleri \u00fcretebilen GPIO pinlerine sahiptir. Donan\u0131m PWM, daha stabil ve hassas sinyaller \u00fcretirken, yaz\u0131l\u0131m PWM daha fazla esneklik sunar ancak i\u015flemci y\u00fck\u00fc daha y\u00fcksek olabilir. Bu projede, <code>RPi.GPIO<\/code> k\u00fct\u00fcphanesini kullanarak yaz\u0131l\u0131m PWM veya <code>pigpio<\/code> k\u00fct\u00fcphanesini kullanarak donan\u0131m PWM&#8217;den faydalanabiliriz. <code>pigpio<\/code>, daha geli\u015fmi\u015f bir k\u00fct\u00fcphane olup, birden fazla servo motoru ayn\u0131 anda ve daha y\u00fcksek hassasiyetle kontrol etme yetene\u011fi sunar. Bir servo motorun sinyal pini, Raspberry Pi&#8217;nin bir GPIO pinine ba\u011flan\u0131r. Motorun g\u00fc\u00e7 ve toprak pinleri ise genellikle harici bir g\u00fc\u00e7 kayna\u011f\u0131na ba\u011flan\u0131r, \u00e7\u00fcnk\u00fc servo motorlar hareket ederken Raspberry Pi&#8217;nin sa\u011flayabilece\u011finden daha fazla ak\u0131m \u00e7ekebilir. Her bir servo motorun kontrol\u00fc, ayr\u0131 bir PWM sinyali gerektirir. Bu nedenle, birden fazla servo motoru kontrol ederken, her bir motor i\u00e7in ayr\u0131 bir PWM nesnesi olu\u015fturulur ve her motorun kendi a\u00e7\u0131 de\u011feri ba\u011f\u0131ms\u0131z olarak ayarlan\u0131r. Bu temel kontrol mekanizmas\u0131, robot kolunun her bir ekleminin istenen pozisyona getirilmesini ve b\u00f6ylece karma\u015f\u0131k hareket dizilerinin olu\u015fturulmas\u0131n\u0131 m\u00fcmk\u00fcn k\u0131lar.<\/p>\n<div class=\"code-container\">\n<pre><code>\nimport RPi.GPIO as GPIO\nimport time\n\n# GPIO pinlerini ayarla\nGPIO.setmode(GPIO.BCM)\nGPIO.setup(18, GPIO.OUT) # GPIO18'i PWM \u00e7\u0131k\u0131\u015f\u0131 olarak ayarla\n\n# PWM frekans\u0131n\u0131 ayarla (genellikle 50Hz servo motorlar i\u00e7in)\npwm = GPIO.PWM(18, 50)\npwm.start(0) # PWM'i ba\u015flat, ba\u015flang\u0131\u00e7ta kapal\u0131\n\ndef aci_ayarla(aci):\n    # Servo motorlar i\u00e7in darbe geni\u015fli\u011fini hesapla\n    # Genellikle 0 derece i\u00e7in 2.5%, 180 derece i\u00e7in 12.5% darbe oran\u0131 kullan\u0131l\u0131r.\n    # Bu de\u011ferler servo motor modeline g\u00f6re de\u011fi\u015febilir.\n    duty_cycle = (aci \/ 18) + 2.5\n    GPIO.output(18, True)\n    pwm.ChangeDutyCycle(duty_cycle)\n    time.sleep(0.5) # Motorun pozisyona ula\u015fmas\u0131 i\u00e7in bekle\n    GPIO.output(18, False) # Sinyali kes (baz\u0131 motorlar i\u00e7in gerekli olabilir)\n    pwm.ChangeDutyCycle(0) # Darbe oran\u0131n\u0131 s\u0131f\u0131rla\n\n# \u00d6rnek kullan\u0131m:\n# try:\n#     aci_ayarla(0)   # 0 dereceye git\n#     time.sleep(1)\n#     aci_ayarla(90)  # 90 dereceye git\n#     time.sleep(1)\n#     aci_ayarla(180) # 180 dereceye git\n#     time.sleep(1)\n# except KeyboardInterrupt:\n#     pwm.stop()\n#     GPIO.cleanup()\n      <\/code><\/pre>\n<\/p><\/div>\n<p>Yukar\u0131daki kod \u00f6rne\u011fi, Raspberry Pi&#8217;nin GPIO k\u00fct\u00fcphanesini kullanarak bir servo motoru kontrol etmenin temel ad\u0131mlar\u0131n\u0131 g\u00f6stermektedir. <code>aci_ayarla<\/code> fonksiyonu, verilen a\u00e7\u0131ya g\u00f6re PWM darbe oran\u0131n\u0131 hesaplar ve motoru o pozisyona getirir. Birden fazla motor i\u00e7in, her bir motor i\u00e7in ayr\u0131 bir PWM nesnesi olu\u015fturulmas\u0131 ve kontrol edilmesi gerekecektir.<\/p>\n<h3>Komutlar\u0131 Harekete D\u00f6n\u00fc\u015ft\u00fcrme: Niyetten Fiziksel Eyleme<\/h3>\n<p>Niyet alg\u0131lama mod\u00fcl\u00fcnden gelen yap\u0131land\u0131r\u0131lm\u0131\u015f komutlar (\u00f6rne\u011fin, <code>{\"eylem\": \"al\", \"hedef\": \"paket\"}<\/code>), robot kolunun belirli bir dizi hareketi ger\u00e7ekle\u015ftirmesi i\u00e7in bir tetikleyici g\u00f6revi g\u00f6r\u00fcr. Bu a\u015fama, soyut bir komutu somut fiziksel eylemlere d\u00f6n\u00fc\u015ft\u00fcrmeyi i\u00e7erir. Her bir niyet (al, b\u0131rak, sa\u011fa d\u00f6n vb.) i\u00e7in, robot kolunun eklemlerini belirli a\u00e7\u0131lara ayarlayan \u00f6nceden tan\u0131mlanm\u0131\u015f bir hareket dizisi (sequence) veya fonksiyonu bulunur. \u00d6rne\u011fin, &#8220;al&#8221; komutu i\u00e7in, kolun \u00f6nce bir nesneye uzanmas\u0131, sonra kavrama mekanizmas\u0131n\u0131 kapatmas\u0131 ve son olarak nesneyi g\u00fcvenli bir \u015fekilde kald\u0131rmas\u0131 gerekebilir. Bu, birden fazla servo motorun koordineli bir \u015fekilde hareket etmesini gerektirir. Robot kolunun kinematik (ileri ve ters) hesaplamalar\u0131, \u00f6zellikle karma\u015f\u0131k hareketler i\u00e7in \u00f6nemlidir, ancak bu projede daha basit, \u00f6nceden tan\u0131mlanm\u0131\u015f pozisyonlar ve hareket dizileri kullanaca\u011f\u0131z. \u00d6rne\u011fin, &#8220;buraya koy&#8221; komutu, kolun mevcut pozisyondan &#8220;buraya&#8221; olarak tan\u0131mlanan bir hedef konuma gitmesini ve ard\u0131ndan kavrama mekanizmas\u0131n\u0131 a\u00e7arak nesneyi b\u0131rakmas\u0131n\u0131 gerektirir. Her bir hareket dizisi, servo motorlar\u0131n a\u00e7\u0131lar\u0131n\u0131n belirli bir s\u0131rayla ve belirli zaman aral\u0131klar\u0131yla ayarlanmas\u0131n\u0131 i\u00e7erir. Bu s\u00fcrecin sonunda, robot kolu fiziksel d\u00fcnyada kullan\u0131c\u0131 taraf\u0131ndan verilen komutu yerine getirmi\u015f olur. Bu mod\u00fcl, t\u00fcm sistemin son \u00e7\u0131kt\u0131s\u0131d\u0131r ve projenin amac\u0131n\u0131, yani Hinglish komutlar\u0131n\u0131 anlayan ve uygulayan bir robot kolu yaratmay\u0131 do\u011frudan ger\u00e7ekle\u015ftirir.<\/p>\n<div class=\"code-container\">\n<pre><code>\n# \u00d6nceki aci_ayarla fonksiyonunu varsayal\u0131m\n# def aci_ayarla(pin, aci): ...\n\n# Birden fazla servo motor i\u00e7in pin tan\u0131mlamalar\u0131 (\u00f6rnek)\nSERVO_PIN_1 = 18 # Taban d\u00f6n\u00fc\u015f\u00fc\nSERVO_PIN_2 = 23 # Omuz eklemi\nSERVO_PIN_3 = 24 # Dirsek eklemi\nSERVO_PIN_4 = 25 # Bilek eklemi\nSERVO_PIN_5 = 17 # Pen\u00e7e\n\n# T\u00fcm servo motorlar\u0131 ba\u015flat\n# pwm1 = GPIO.PWM(SERVO_PIN_1, 50); pwm1.start(0)\n# ... di\u011fer motorlar i\u00e7in de ayn\u0131 \u015fekilde\n\ndef robot_pozisyon_ayarla(aci_listesi):\n    # aci_listesi = [taban_aci, omuz_aci, dirsek_aci, bilek_aci, pence_aci]\n    # Her bir servo motoru kendi pininden kontrol et\n    # aci_ayarla(SERVO_PIN_1, aci_listesi[0])\n    # aci_ayarla(SERVO_PIN_2, aci_listesi[1])\n    # ...\n\n    print(f\"Robot kolu pozisyona ayarland\u0131: {aci_listesi}\")\n    # Ger\u00e7ek uygulamada, her bir aci_ayarla \u00e7a\u011fr\u0131s\u0131 burada yer alacak.\n    # time.sleep(0.5) # Her hareket aras\u0131 bekleme\n\ndef komutu_yurut(niyet):\n    eylem = niyet[\"eylem\"]\n    hedef = niyet[\"hedef\"]\n    konum = niyet[\"konum\"]\n\n    if eylem == \"al\":\n        print(f\"'{hedef}' nesnesini al komutu alg\u0131land\u0131.\")\n        # Robot kolunu nesnenin \u00fczerine getir\n        robot_pozisyon_ayarla([90, 45, 135, 90, 0]) # \u00d6rnek pozisyon: uzanma\n        # Pen\u00e7eyi a\u00e7\n        robot_pozisyon_ayarla([90, 45, 135, 90, 180]) # Pen\u00e7e a\u00e7\u0131k\n        time.sleep(1)\n        # Nesneyi kavra\n        robot_pozisyon_ayarla([90, 45, 135, 90, 0]) # Pen\u00e7e kapal\u0131\n        time.sleep(1)\n        # Nesneyi kald\u0131r\n        robot_pozisyon_ayarla([90, 0, 90, 90, 0]) # \u00d6rnek pozisyon: kald\u0131rma\n        print(f\"'{hedef}' nesnesi al\u0131nd\u0131.\")\n    elif eylem == \"birak\":\n        print(f\"'{hedef}' nesnesini b\u0131rak komutu alg\u0131land\u0131.\")\n        # Mevcut pozisyondan nesneyi b\u0131rakma hareketleri\n        robot_pozisyon_ayarla([90, 45, 135, 90, 0]) # Pen\u00e7e kapal\u0131, a\u015fa\u011f\u0131 in\n        time.sleep(1)\n        robot_pozisyon_ayarla([90, 45, 135, 90, 180]) # Pen\u00e7e a\u00e7\n        time.sleep(1)\n        robot_pozisyon_ayarla([90, 0, 90, 90, 180]) # Kolu yukar\u0131 \u00e7ek\n        print(f\"'{hedef}' nesnesi b\u0131rak\u0131ld\u0131.\")\n    elif eylem == \"koy\" and konum == \"buraya\":\n        print(f\"Nesneyi 'buraya' koy komutu alg\u0131land\u0131.\")\n        # Nesneyi \"buraya\" olarak tan\u0131mlanan konuma ta\u015f\u0131 ve b\u0131rak\n        robot_pozisyon_ayarla([45, 0, 90, 90, 0]) # \"Buraya\" konumuna ta\u015f\u0131ma\n        time.sleep(1)\n        robot_pozisyon_ayarla([45, 45, 135, 90, 0]) # A\u015fa\u011f\u0131 inme\n        time.sleep(1)\n        robot_pozisyon_ayarla([45, 45, 135, 90, 180]) # B\u0131rakma\n        time.sleep(1)\n        robot_pozisyon_ayarla([90, 0, 90, 90, 180]) # Ba\u015flang\u0131\u00e7 pozisyonuna d\u00f6n\n        print(\"Nesne buraya konuldu.\")\n    # ... di\u011fer eylemler i\u00e7in benzer if\/elif bloklar\u0131\n\n# \u00d6rnek kullan\u0131m:\n# komutu_yurut({\"eylem\": \"al\", \"hedef\": \"paket\"})\n# komutu_yurut({\"eylem\": \"koy\", \"konum\": \"buraya\"})\n      <\/code><\/pre>\n<\/p><\/div>\n<p>Bu kod blo\u011fu, niyet alg\u0131lama mod\u00fcl\u00fcnden gelen komutlar\u0131 nas\u0131l fiziksel robot kolu hareketlerine d\u00f6n\u00fc\u015ft\u00fcrece\u011finizi g\u00f6sterir. <code>komutu_yurut<\/code> fonksiyonu, alg\u0131lanan eyleme g\u00f6re farkl\u0131 hareket dizilerini \u00e7a\u011f\u0131r\u0131r. <code>robot_pozisyon_ayarla<\/code> fonksiyonu ise, her bir servo motorun belirli bir a\u00e7\u0131ya ayarlanmas\u0131n\u0131 sim\u00fcle eder. Ger\u00e7ek uygulamada, bu fonksiyonun her bir servo pini i\u00e7in <code>aci_ayarla<\/code> fonksiyonunu \u00e7a\u011f\u0131rmas\u0131 gerekecektir. Her hareket dizisi, kolun belirli bir g\u00f6revi yerine getirmesi i\u00e7in gerekli olan koordineli motor hareketlerini i\u00e7erir. Bu, robot kolunun kullan\u0131c\u0131dan ald\u0131\u011f\u0131 komutlar\u0131 ba\u015far\u0131yla yerine getirmesini sa\u011flar.<\/p>\n<h2>Sistem Entegrasyonu ve Ger\u00e7ek D\u00fcnya Senaryolar\u0131<\/h2>\n<p>Projemizin her bir mod\u00fcl\u00fc ayr\u0131 ayr\u0131 geli\u015ftirildikten ve test edildikten sonra, t\u00fcm bu par\u00e7alar\u0131 bir araya getirerek i\u015flevsel bir sistem olu\u015fturmak gerekir. Sistem entegrasyonu, konu\u015fma tan\u0131ma, niyet alg\u0131lama ve robot kol kontrol mod\u00fcllerinin sorunsuz bir \u015fekilde birbiriyle ileti\u015fim kurmas\u0131n\u0131 ve birlikte \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flar. Bu a\u015fama, t\u00fcm projenin omurgas\u0131n\u0131 olu\u015fturur ve robot kolunun ger\u00e7ek d\u00fcnyadaki performans\u0131n\u0131 do\u011frudan etkiler. Ana d\u00f6ng\u00fc, s\u00fcrekli olarak mikrofonu dinler, gelen ses verisini i\u015fler, komutun ne anlama geldi\u011fini \u00e7\u00f6zer ve son olarak robot koluna ilgili eylemi ger\u00e7ekle\u015ftirmesi i\u00e7in talimat verir. Bu s\u00fcre\u00e7te, olas\u0131 hatalar\u0131 y\u00f6netmek ve kullan\u0131c\u0131ya geri bildirim sa\u011flamak da \u00f6nemlidir. \u00d6rne\u011fin, komut anla\u015f\u0131lamad\u0131\u011f\u0131nda veya robot kolu bir engelle kar\u015f\u0131la\u015ft\u0131\u011f\u0131nda, sistemin uygun bir \u015fekilde tepki vermesi gerekir. Bu b\u00f6l\u00fcm, t\u00fcm bile\u015fenlerin nas\u0131l bir araya getirilece\u011fini ve bu entegre sistemin ger\u00e7ek d\u00fcnya senaryolar\u0131nda nas\u0131l uygulanabilece\u011fini bir vaka analiziyle a\u00e7\u0131klayacakt\u0131r. Bu sayede, projenin sadece teorik bir \u00e7al\u0131\u015fma olmad\u0131\u011f\u0131n\u0131, pratik uygulamalara da sahip oldu\u011funu g\u00f6stermi\u015f olaca\u011f\u0131z.<\/p>\n<h3>T\u00fcm Mod\u00fclleri Bir Araya Getirme: Ana D\u00f6ng\u00fc<\/h3>\n<p>Robot kolumuzun Hinglish komutlar\u0131n\u0131 dinleyip yan\u0131t verebilmesi i\u00e7in, daha \u00f6nce ayr\u0131 ayr\u0131 geli\u015ftirdi\u011fimiz t\u00fcm mod\u00fclleri bir ana d\u00f6ng\u00fc i\u00e7inde entegre etmemiz gerekiyor. Bu ana d\u00f6ng\u00fc, sistemin s\u00fcrekli olarak \u00e7al\u0131\u015fmas\u0131n\u0131 ve kullan\u0131c\u0131 etkile\u015fimlerine tepki vermesini sa\u011flar. \u0130\u015fleyi\u015f s\u0131ras\u0131 \u015fu \u015fekildedir:<\/p>\n<ol>\n<li><strong>Mikrofon Dinleme:<\/strong> Sistem, USB mikrofondan s\u00fcrekli olarak ses giri\u015fini dinler. Bu, <code>speech_recognition<\/code> k\u00fct\u00fcphanesinin <code>listen()<\/code> metodu ile ger\u00e7ekle\u015ftirilir. Belirli bir s\u00fcre sessizlik alg\u0131land\u0131\u011f\u0131nda veya ses seviyesi belirli bir e\u015fi\u011fin alt\u0131na d\u00fc\u015ft\u00fc\u011f\u00fcnde kay\u0131t durdurulur.<\/li>\n<li><strong>Konu\u015fma Tan\u0131ma (ASR):<\/strong> Kaydedilen ses verisi, <code>ses_tanima()<\/code> fonksiyonumuz arac\u0131l\u0131\u011f\u0131yla metne d\u00f6n\u00fc\u015ft\u00fcr\u00fcl\u00fcr. Bu a\u015famada, \u00e7evrimd\u0131\u015f\u0131 Vosk motoru veya \u00e7evrimi\u00e7i Google Speech Recognition API&#8217;si kullan\u0131labilir.<\/li>\n<li><strong>Niyet Alg\u0131lama (NLU):<\/strong> ASR&#8217;den gelen metin, <code>niyet_algila()<\/code> fonksiyonumuza iletilir. Bu fonksiyon, metni analiz ederek kullan\u0131c\u0131n\u0131n amac\u0131n\u0131 (eylem, hedef, konum gibi) \u00e7\u0131kar\u0131r. E\u011fer ge\u00e7erli bir niyet alg\u0131lanamazsa, sistem kullan\u0131c\u0131ya bir hata mesaj\u0131 verebilir.<\/li>\n<li><strong>Robot Kol Hareketi (Kontrol):<\/strong> Alg\u0131lanan niyet, <code>komutu_yurut()<\/code> fonksiyonuna g\u00f6nderilir. Bu fonksiyon, niyete uygun olarak robot kolunun servo motorlar\u0131n\u0131 kontrol eden \u00f6nceden tan\u0131mlanm\u0131\u015f hareket dizilerini tetikler.<\/li>\n<li><strong>Geri Bildirim:<\/strong> Her ad\u0131mda kullan\u0131c\u0131ya g\u00f6rsel (LED&#8217;ler) veya sesli (metin-konu\u015fma &#8211; TTS) geri bildirim sa\u011flanabilir. \u00d6rne\u011fin, &#8220;Komut anla\u015f\u0131ld\u0131, paket al\u0131n\u0131yor&#8221; gibi bir mesaj, kullan\u0131c\u0131 deneyimini art\u0131r\u0131r.<\/li>\n<\/ol>\n<p>Bu d\u00f6ng\u00fc, sistem kapat\u0131lana kadar s\u00fcrekli olarak tekrar eder. Hata y\u00f6netimi de bu d\u00f6ng\u00fcn\u00fcn \u00f6nemli bir par\u00e7as\u0131d\u0131r. Konu\u015fma tan\u0131ma hatas\u0131, niyet alg\u0131lama hatas\u0131 veya robot kolunun fiziksel bir engelle kar\u015f\u0131la\u015fmas\u0131 gibi durumlarda, sistemin g\u00fcvenli bir \u015fekilde tepki vermesi ve kullan\u0131c\u0131y\u0131 bilgilendirmesi gerekir. \u00d6rne\u011fin, &#8220;\u00dczg\u00fcn\u00fcm, komutunuzu anlayamad\u0131m&#8221; veya &#8220;Robot kolu bir engele tak\u0131ld\u0131&#8221; gibi geri bildirimler, sistemin daha kullan\u0131c\u0131 dostu olmas\u0131n\u0131 sa\u011flar.<\/p>\n<div class=\"code-container\">\n<pre><code>\n# T\u00fcm fonksiyonlar\u0131 i\u00e7e aktar\n# from speech_recognition_module import ses_tanima\n# from nlu_module import niyet_algila\n# from robot_control_module import komutu_yurut\n\ndef ana_dongu():\n    print(\"Robot kolu Hinglish komutlar\u0131n\u0131 bekliyor...\")\n    while True:\n        try:\n            taninan_metin = ses_tanima() # Ses al ve metne \u00e7evir\n            if taninan_metin:\n                print(f\"Tan\u0131nan metin: '{taninan_metin}'\")\n                niyet = niyet_algila(taninan_metin) # Niyeti alg\u0131la\n                if niyet[\"eylem\"] != \"bilinmiyor\":\n                    print(f\"Alg\u0131lanan niyet: {niyet}\")\n                    komutu_yurut(niyet) # Robot kolunu hareket ettir\n                else:\n                    print(\"\u00dczg\u00fcn\u00fcm, komutunuzu anlayamad\u0131m veya tan\u0131d\u0131k bir eylem bulamad\u0131m.\")\n            time.sleep(1) # Bir sonraki dinleme i\u00e7in k\u0131sa bir bekleme\n\n        except Exception as e:\n            print(f\"Bir hata olu\u015ftu: {e}\")\n            # Hata durumunda GPIO'yu temizle veya g\u00fcvenli duruma ge\u00e7\n            # GPIO.cleanup() # E\u011fer RPi.GPIO kullan\u0131l\u0131yorsa\n            break # Ana d\u00f6ng\u00fcden \u00e7\u0131k veya hata sonras\u0131 devam et\n\n# ana_dongu() \u00e7a\u011fr\u0131s\u0131 ile sistem ba\u015flat\u0131l\u0131r\n      <\/code><\/pre>\n<\/p><\/div>\n<p>Bu ana d\u00f6ng\u00fc tasla\u011f\u0131, projenin t\u00fcm bile\u015fenlerini bir araya getirerek robot kolunun ger\u00e7ek zamanl\u0131 olarak \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flar. Her bir mod\u00fcl\u00fcn \u00e7\u0131kt\u0131s\u0131, bir sonraki mod\u00fcl i\u00e7in girdi g\u00f6revi g\u00f6r\u00fcr ve bu zincirleme reaksiyon, kullan\u0131c\u0131n\u0131n sesli komutunun fiziksel bir eyleme d\u00f6n\u00fc\u015fmesini sa\u011flar.<\/p>\n<h3>Vaka Analizi: Depo Otomasyonu ve Hinglish&#8217;in G\u00fcc\u00fc<\/h3>\n<p>Geli\u015ftirdi\u011fimiz Hinglish anlayan robot kolunun ger\u00e7ek d\u00fcnyadaki potansiyelini daha iyi anlamak i\u00e7in, bir depo otomasyonu senaryosunu inceleyelim. B\u00fcy\u00fck depolar genellikle \u00e7ok dilli i\u015f g\u00fcc\u00fcne sahip olabilir. \u00d6zellikle Hindistan gibi \u00e7ok dilli \u00fclkelerde, \u00e7al\u0131\u015fanlar g\u00fcnl\u00fck ileti\u015fimlerinde s\u0131kl\u0131kla Hinglish kullan\u0131rlar. Bu senaryoda, operat\u00f6rlerin k\u00fc\u00e7\u00fck paketleri raflardan al\u0131p belirli bir konuma ta\u015f\u0131mas\u0131 veya s\u0131ralamas\u0131 gereken bir g\u00f6rev oldu\u011funu varsayal\u0131m. Geleneksel olarak, bu t\u00fcr g\u00f6revler manuel olarak veya \u00f6nceden programlanm\u0131\u015f robotlar taraf\u0131ndan ger\u00e7ekle\u015ftirilir. Ancak, her paketin farkl\u0131 bir konuma gitmesi gerekti\u011finde veya operasyonel gereksinimler s\u0131k s\u0131k de\u011fi\u015fti\u011finde, manuel m\u00fcdahale veya robotlar\u0131 yeniden programlama s\u00fcreci zaman al\u0131c\u0131 ve maliyetli olabilir.<\/p>\n<p>Hinglish anlayan robot kolumuz, bu senaryoda \u00f6nemli avantajlar sunar. Operat\u00f6r, robot koluna basit Hinglish komutlar\u0131 vererek (\u00f6rne\u011fin, &#8220;Yeh packet le lo&#8221; &#8211; Bu paketi al, &#8220;Dusre shelf par rakho&#8221; &#8211; Di\u011fer rafa koy, &#8220;Thoda right ghumao&#8221; &#8211; Biraz sa\u011fa d\u00f6n) an\u0131nda g\u00f6rev atayabilir. Robot, bu komutlar\u0131 anlayacak ve ilgili eylemi ger\u00e7ekle\u015ftirecektir. Bu, \u00f6zellikle e\u011fitim seviyesi farkl\u0131 olan veya ana dili Hint\u00e7e olan \u00e7al\u0131\u015fanlar i\u00e7in dil bariyerini ortadan kald\u0131r\u0131r ve i\u015f ak\u0131\u015f\u0131n\u0131 h\u0131zland\u0131r\u0131r.<\/p>\n<p><strong>Avantajlar\u0131:<\/strong><\/p>\n<ul>\n<li><strong>Dil Bariyerinin A\u015f\u0131lmas\u0131:<\/strong> \u00c7ok dilli i\u015f g\u00fcc\u00fcn\u00fcn robotlarla daha do\u011fal ve verimli ileti\u015fim kurmas\u0131n\u0131 sa\u011flar.<\/li>\n<li><strong>H\u0131zl\u0131 Adaptasyon:<\/strong> Yeni g\u00f6revler veya de\u011fi\u015fen ko\u015fullar i\u00e7in robotu yeniden programlama ihtiyac\u0131n\u0131 azalt\u0131r; operat\u00f6r do\u011frudan sesli komutlarla y\u00f6nlendirebilir.<\/li>\n<li><strong>Maliyet Etkinli\u011fi:<\/strong> LLM&#8217;lere veya pahal\u0131 bulut servislerine ba\u011f\u0131ml\u0131 olmad\u0131\u011f\u0131 i\u00e7in, d\u00fc\u015f\u00fck b\u00fct\u00e7eli otomasyon \u00e7\u00f6z\u00fcmleri sunar.<\/li>\n<li><strong>Operasyonel Verimlilik:<\/strong> Tekrarlayan ve basit ta\u015f\u0131ma\/s\u0131ralama g\u00f6revlerinde insan hatas\u0131n\u0131 azalt\u0131r ve h\u0131z\u0131 art\u0131r\u0131r.<\/li>\n<li><strong>\u00c7evrimd\u0131\u015f\u0131 \u00c7al\u0131\u015fma:<\/strong> \u0130nternet ba\u011flant\u0131s\u0131n\u0131n k\u0131s\u0131tl\u0131 oldu\u011fu veya g\u00fcvenilir olmad\u0131\u011f\u0131 depolarda bile kesintisiz \u00e7al\u0131\u015fma sa\u011flar.<\/li>\n<\/ul>\n<p><strong>Zorluklar:<\/strong><\/p>\n<ul>\n<li><strong>G\u00fcr\u00fclt\u00fcl\u00fc Ortamlar:<\/strong> Depo gibi g\u00fcr\u00fclt\u00fcl\u00fc ortamlarda konu\u015fma tan\u0131ma do\u011frulu\u011fu d\u00fc\u015febilir. Y\u00fcksek kaliteli mikrofonlar ve g\u00fcr\u00fclt\u00fc azaltma algoritmalar\u0131 bu sorunu hafifletebilir.<\/li>\n<li><strong>Komut \u00c7e\u015fitlili\u011fi:<\/strong> S\u0131n\u0131rl\u0131 bir komut setiyle \u00e7al\u0131\u015fmak, robotun yapabilece\u011fi g\u00f6revleri k\u0131s\u0131tlayabilir. Daha geni\u015f bir kelime da\u011farc\u0131\u011f\u0131 ve niyet yelpazesi i\u00e7in s\u00fcrekli geli\u015ftirme gereklidir.<\/li>\n<li><strong>Aksan Farkl\u0131l\u0131klar\u0131:<\/strong> Hinglish konu\u015fan ki\u015filer aras\u0131nda aksan farkl\u0131l\u0131klar\u0131 olabilir. Konu\u015fma tan\u0131ma modelinin farkl\u0131 aksanlara uyum sa\u011flayacak \u015fekilde e\u011fitilmesi veya adapte edilmesi gerekebilir.<\/li>\n<\/ul>\n<p>Bu vaka analizi, LLM&#8217;siz bir yakla\u015f\u0131mla bile, belirli bir etki alan\u0131nda ve dil ortam\u0131nda ak\u0131ll\u0131 robotik \u00e7\u00f6z\u00fcmlerin nas\u0131l geli\u015ftirilebilece\u011fini ve \u00f6nemli operasyonel faydalar sa\u011flayabilece\u011fini a\u00e7\u0131k\u00e7a g\u00f6stermektedir. Bu proje, \u00f6zellikle geli\u015fmekte olan pazarlarda ve yerel dil ihtiya\u00e7lar\u0131 olan sekt\u00f6rlerde b\u00fcy\u00fck bir potansiyele sahiptir.<\/p>\n<h2>Geli\u015ftirme \u0130pu\u00e7lar\u0131 ve \u0130leri Seviye Optimizasyonlar<\/h2>\n<p>Hinglish anlayan robot kolu projemizin temelini att\u0131ktan sonra, sistemin performans\u0131n\u0131, g\u00fcvenilirli\u011fini ve kullan\u0131c\u0131 deneyimini art\u0131rmak i\u00e7in \u00e7e\u015fitli optimizasyonlar ve geli\u015ftirmeler yap\u0131labilir. Bu b\u00f6l\u00fcm, projenizi bir sonraki seviyeye ta\u015f\u0131mak isteyenler i\u00e7in pratik ipu\u00e7lar\u0131 ve ileri seviye yakla\u015f\u0131mlar sunmaktad\u0131r. \u00d6zellikle konu\u015fma tan\u0131ma do\u011frulu\u011funu art\u0131rmak, robot kolunun tepki s\u00fcresini k\u0131saltmak ve sistemi daha sa\u011flam hale getirmek, uzun vadede projenin ba\u015far\u0131s\u0131 i\u00e7in kritik \u00f6neme sahiptir. D\u00fc\u015f\u00fck maliyetli bir platform olan Raspberry Pi&#8217;nin kaynaklar\u0131n\u0131 en verimli \u015fekilde kullanmak, her zaman g\u00f6z \u00f6n\u00fcnde bulundurulmas\u0131 gereken bir fakt\u00f6rd\u00fcr. Ayr\u0131ca, kullan\u0131c\u0131lar\u0131n farkl\u0131 beklentilerine ve \u00e7al\u0131\u015fma ortamlar\u0131n\u0131n de\u011fi\u015fken ko\u015fullar\u0131na uyum sa\u011flayabilen bir sistem tasarlamak, projenin uygulanabilirli\u011fini art\u0131racakt\u0131r. Bu ipu\u00e7lar\u0131, sadece mevcut sistemi iyile\u015ftirmekle kalmayacak, ayn\u0131 zamanda gelecekteki benzer projeler i\u00e7in de de\u011ferli bir rehber olacakt\u0131r.<\/p>\n<h3>Do\u011fruluk ve Yan\u0131t S\u00fcresi Optimizasyonu: Daha Ak\u0131ll\u0131 Bir Robot<\/h3>\n<p>Robot kolunun daha verimli ve kullan\u0131c\u0131 dostu olmas\u0131 i\u00e7in konu\u015fma tan\u0131ma do\u011frulu\u011funu ve sistemin yan\u0131t s\u00fcresini optimize etmek b\u00fcy\u00fck \u00f6nem ta\u015f\u0131r. \u0130\u015fte baz\u0131 ipu\u00e7lar\u0131:<\/p>\n<ul>\n<li><strong>Mikrofon Kalitesi ve Konumu:<\/strong> Y\u00fcksek kaliteli, y\u00f6nl\u00fc bir mikrofon kullanmak, ortam g\u00fcr\u00fclt\u00fcs\u00fcn\u00fc azaltmaya yard\u0131mc\u0131 olur. Mikrofonu robota veya operat\u00f6re yak\u0131n bir konuma yerle\u015ftirmek de ses yakalama kalitesini art\u0131r\u0131r.<\/li>\n<li><strong>G\u00fcr\u00fclt\u00fc Azaltma Algoritmalar\u0131:<\/strong> Ses giri\u015fini i\u015flemeden \u00f6nce, dijital sinyal i\u015fleme (DSP) teknikleri kullanarak ortam g\u00fcr\u00fclt\u00fcs\u00fcn\u00fc filtrelemek, konu\u015fma tan\u0131ma do\u011frulu\u011funu \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131rabilir. Python&#8217;da <code>pyaudio<\/code> ve <code>scipy<\/code> k\u00fct\u00fcphaneleri bu t\u00fcr i\u015flemler i\u00e7in kullan\u0131labilir.<\/li>\n<li><strong>Konu\u015fma Tan\u0131ma Modelini E\u011fitme\/\u00d6zelle\u015ftirme:<\/strong> E\u011fer Vosk veya Pocketsphinx gibi yerel bir ASR motoru kullan\u0131yorsan\u0131z, Hinglish&#8217;e \u00f6zg\u00fc bir veri setiyle modeli yeniden e\u011fitmek veya mevcut modelleri adapte etmek (fine-tuning), do\u011frulu\u011fu art\u0131racakt\u0131r. Bu, \u00f6zellikle belirli bir sekt\u00f6r\u00fcn terminolojisini i\u00e7eren komutlar i\u00e7in faydal\u0131d\u0131r.<\/li>\n<li><strong>Niyet Alg\u0131lama \u0130\u00e7in Geli\u015fmi\u015f Kurallar\/Modeller:<\/strong> Anahtar kelime e\u015fle\u015ftirmenin \u00f6tesine ge\u00e7erek, daha karma\u015f\u0131k d\u00fczenli ifadeler veya hafif makine \u00f6\u011frenimi modelleri (\u00f6rne\u011fin, SVM veya basit bir sinir a\u011f\u0131) kullanarak niyet alg\u0131lamay\u0131 geli\u015ftirebilirsiniz. Bu, daha esnek ve \u00e7e\u015fitli komutlar\u0131 anlamay\u0131 sa\u011flar.<\/li>\n<li><strong>Kod Optimizasyonu:<\/strong> Python kodunuzu daha verimli hale getirin. \u00d6zellikle d\u00f6ng\u00fclerde ve yo\u011fun hesaplama gerektiren k\u0131s\u0131mlarda performans odakl\u0131 yakla\u015f\u0131mlar kullan\u0131n. Raspberry Pi&#8217;nin s\u0131n\u0131rl\u0131 kaynaklar\u0131n\u0131 g\u00f6z \u00f6n\u00fcnde bulundurarak gereksiz i\u015flemleri azalt\u0131n.<\/li>\n<li><strong>Asenkron \u0130\u015flem:<\/strong> Mikrofon dinleme ve robot kolu hareketleri gibi farkl\u0131 g\u00f6revleri e\u015fzamanl\u0131 olarak y\u00fcr\u00fctmek i\u00e7in asenkron programlama (<code>asyncio<\/code> k\u00fct\u00fcphanesi) veya \u00e7oklu i\u015f par\u00e7ac\u0131\u011f\u0131 (threading) kullanmak, sistemin genel yan\u0131t s\u00fcresini iyile\u015ftirebilir.<\/li>\n<li><strong>\u00d6nbellekleme:<\/strong> S\u0131k kullan\u0131lan komutlar veya hareket dizileri i\u00e7in \u00f6nbellekleme (caching) yaparak robotun tepki s\u00fcresini k\u0131saltabilirsiniz.<\/li>\n<\/ul>\n<p>Bu optimizasyonlar, robot kolunuzun sadece \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flamakla kalmayacak, ayn\u0131 zamanda onu daha g\u00fcvenilir, h\u0131zl\u0131 ve ak\u0131ll\u0131 hale getirecektir. Her bir iyile\u015ftirme, kullan\u0131c\u0131 deneyimini do\u011frudan etkileyerek projenin genel ba\u015far\u0131s\u0131na katk\u0131da bulunur.<\/p>\n<h3>G\u00fcvenlik ve Kullan\u0131c\u0131 Deneyimi: \u0130nsan Odakl\u0131 Tasar\u0131m<\/h3>\n<p>Herhangi bir robotik sistemde g\u00fcvenlik, tasar\u0131m\u0131n en \u00f6ncelikli unsurlar\u0131ndan biri olmal\u0131d\u0131r. \u00d6zellikle insanlarla etkile\u015fim halinde olan robot kollar\u0131nda, olas\u0131 kazalar\u0131 \u00f6nlemek i\u00e7in \u00e7e\u015fitli \u00f6nlemler al\u0131nmal\u0131d\u0131r. Ayr\u0131ca, kullan\u0131c\u0131 deneyimi de projenin kabul edilebilirli\u011fi ve kullan\u0131labilirli\u011fi a\u00e7\u0131s\u0131ndan kritik \u00f6neme sahiptir.<\/p>\n<ul>\n<li><strong>Acil Durdurma Mekanizmalar\u0131:<\/strong> Robot kolunun an\u0131nda durdurulmas\u0131n\u0131 sa\u011flayan fiziksel bir acil durdurma d\u00fc\u011fmesi (kill switch) entegre edin. Bu, beklenmedik durumlar veya hatal\u0131 komutlar kar\u015f\u0131s\u0131nda h\u0131zl\u0131 m\u00fcdahale imkan\u0131 sunar.<\/li>\n<li><strong>Hareket S\u0131n\u0131rlamalar\u0131:<\/strong> Yaz\u0131l\u0131mda robot kolunun fiziksel hareket aral\u0131klar\u0131n\u0131 tan\u0131mlay\u0131n ve bu s\u0131n\u0131rlar\u0131n d\u0131\u015f\u0131na \u00e7\u0131kmas\u0131n\u0131 engelleyin. Bu, motorlar\u0131n veya mekanik yap\u0131n\u0131n zarar g\u00f6rmesini \u00f6nler.<\/li>\n<li><strong>G\u00f6rsel ve \u0130\u015fitsel Geri Bildirim:<\/strong> Robotun durumunu (dinliyor, komutu anlad\u0131, hareket ediyor, hata olu\u015ftu) belirten LED \u0131\u015f\u0131klar\u0131 veya basit sesli geri bildirimler kullan\u0131n. Bu, kullan\u0131c\u0131n\u0131n robotun ne yapt\u0131\u011f\u0131n\u0131 anlamas\u0131na yard\u0131mc\u0131 olur ve beklentilerini y\u00f6netir.<\/li>\n<li><strong>Hata Mesajlar\u0131 ve Kurtarma:<\/strong> Sistem bir hata ile kar\u015f\u0131la\u015ft\u0131\u011f\u0131nda (\u00f6rne\u011fin, komut anla\u015f\u0131lamad\u0131, hareket engellendi), kullan\u0131c\u0131ya net ve anla\u015f\u0131l\u0131r bir mesaj verin. M\u00fcmk\u00fcnse, sistemin g\u00fcvenli bir duruma ge\u00e7mesini veya hatadan kurtulma ad\u0131mlar\u0131 \u00f6nermesini sa\u011flay\u0131n.<\/li>\n<li><strong>Farkl\u0131 Aksanlara Uyum:<\/strong> Hinglish&#8217;in b\u00f6lgesel aksan farkl\u0131l\u0131klar\u0131 g\u00f6sterebilece\u011fini unutmay\u0131n. Konu\u015fma tan\u0131ma sisteminizi farkl\u0131 aksanlardan \u00f6rneklerle test edin ve gerekirse modelinizi daha geni\u015f bir yelpazeyi kapsayacak \u015fekilde geli\u015ftirin.<\/li>\n<li><strong>Kullan\u0131c\u0131 Testleri:<\/strong> Projenizi ger\u00e7ek kullan\u0131c\u0131larla test edin. Onlar\u0131n geri bildirimleri, sistemin zay\u0131f noktalar\u0131n\u0131 ve iyile\u015ftirme alanlar\u0131n\u0131 belirlemenize yard\u0131mc\u0131 olacakt\u0131r. Kullan\u0131c\u0131lar\u0131n do\u011fal olarak nas\u0131l komut verdiklerini g\u00f6zlemlemek, niyet alg\u0131lama kurallar\u0131n\u0131z\u0131 geli\u015ftirmek i\u00e7in de\u011ferli bilgiler sunar.<\/li>\n<li><strong>Mod\u00fcler Tasar\u0131m:<\/strong> Sisteminizi mod\u00fcler tutun. Bu, bir bile\u015fen ar\u0131zaland\u0131\u011f\u0131nda veya y\u00fckseltilmesi gerekti\u011finde t\u00fcm sistemi etkilemeden de\u011fi\u015fiklik yapmay\u0131 kolayla\u015ft\u0131r\u0131r.<\/li>\n<\/ul>\n<p>Bu g\u00fcvenlik ve kullan\u0131c\u0131 deneyimi odakl\u0131 yakla\u015f\u0131mlar, robot kolunuzun sadece teknik olarak i\u015flevsel olmas\u0131n\u0131 de\u011fil, ayn\u0131 zamanda g\u00fcvenli, kullan\u0131\u015fl\u0131 ve insanlar taraf\u0131ndan kolayca benimsenebilir olmas\u0131n\u0131 sa\u011flar. \u0130nsan-robot etkile\u015fiminin merkezine kullan\u0131c\u0131y\u0131 koymak, ba\u015far\u0131l\u0131 bir robotik projenin anahtar\u0131d\u0131r.<\/p>\n<h2>Sonu\u00e7 ve Gelecek Perspektifleri<\/h2>\n<p>Bu makale boyunca, Raspberry Pi \u00fczerinde LLM kullanmadan, Hinglish komutlar\u0131n\u0131 anlayabilen bir robot kolunun nas\u0131l in\u015fa edilece\u011fini ad\u0131m ad\u0131m inceledik. Projemiz, konu\u015fma tan\u0131ma, niyet alg\u0131lama ve robot kol kontrol\u00fc gibi temel robotik ve yapay zeka kavramlar\u0131n\u0131 bir araya getirerek, d\u00fc\u015f\u00fck maliyetli donan\u0131mlarla bile karma\u015f\u0131k sorunlara yenilik\u00e7i \u00e7\u00f6z\u00fcmler \u00fcretilebilece\u011fini g\u00f6sterdi. \u00d6zellikle Hinglish gibi karma dilli bir ortamda, geleneksel do\u011fal dil i\u015fleme yakla\u015f\u0131mlar\u0131n\u0131n nas\u0131l etkili bir \u015fekilde kullan\u0131labilece\u011fini ve bu sayede dil bariyerlerinin a\u015f\u0131labilece\u011fini ortaya koyduk. Depo otomasyonu gibi ger\u00e7ek d\u00fcnya senaryolar\u0131nda, bu t\u00fcr bir robot kolunun sundu\u011fu avantajlar\u0131 ve kar\u015f\u0131la\u015f\u0131labilecek zorluklar\u0131 da de\u011ferlendirdik. Projenin her a\u015famas\u0131nda, Raspberry Pi&#8217;nin esnekli\u011fi ve GPIO yetenekleri sayesinde donan\u0131m ve yaz\u0131l\u0131m entegrasyonunun ne kadar kolayla\u015ft\u0131\u011f\u0131n\u0131 g\u00f6rd\u00fck. LLM&#8217;lere ba\u011f\u0131ml\u0131 olmayan bu yakla\u015f\u0131m, \u00f6zellikle gizlilik, maliyet ve \u00e7evrimd\u0131\u015f\u0131 \u00e7al\u0131\u015fma gereksinimleri olan uygulamalar i\u00e7in s\u00fcrd\u00fcr\u00fclebilir ve eri\u015filebilir bir alternatif sunmaktad\u0131r.<\/p>\n<p>Gelecekte, bu projenin yetenekleri daha da geni\u015fletilebilir. \u00d6rne\u011fin, g\u00f6r\u00fcnt\u00fc i\u015fleme (computer vision) entegrasyonu ile robot kolu, nesneleri sadece sesli komutlarla de\u011fil, ayn\u0131 zamanda g\u00f6rsel olarak da tan\u0131yabilir ve konumland\u0131rabilir. Daha karma\u015f\u0131k hareket dizileri ve adaptif \u00f6\u011frenme algoritmalar\u0131, robotun daha \u00e7e\u015fitli ve dinamik g\u00f6revleri yerine getirmesini sa\u011flayabilir. Ayr\u0131ca, farkl\u0131 diller veya dil kombinasyonlar\u0131 i\u00e7in destek eklemek, projenin k\u00fcresel uygulanabilirli\u011fini art\u0131racakt\u0131r. Bu t\u00fcr projeler, g\u00f6m\u00fcl\u00fc sistemler ve yapay zekan\u0131n kesi\u015fim noktas\u0131nda, inovasyon i\u00e7in s\u0131n\u0131rs\u0131z bir potansiyel sunmaktad\u0131r. Raspberry Pi gibi platformlar, bu potansiyeli ger\u00e7e\u011fe d\u00f6n\u00fc\u015ft\u00fcrmek i\u00e7in g\u00fc\u00e7l\u00fc ve eri\u015filebilir ara\u00e7lar sa\u011flamaktad\u0131r.<\/p>\n<h2>S\u0131k\u00e7a Sorulan Sorular<\/h2>\n<h3>1. Bu proje i\u00e7in hangi Raspberry Pi modeli \u00f6nerilir?<\/h3>\n<p>Proje i\u00e7in en az Raspberry Pi 3B+ modeli \u00f6nerilir. Ancak, daha iyi performans ve daha h\u0131zl\u0131 yan\u0131t s\u00fcreleri i\u00e7in Raspberry Pi 4 veya Raspberry Pi 5 modelleri tercih edilmelidir. Bu modeller, daha fazla i\u015flem g\u00fcc\u00fc ve bellek sunarak konu\u015fma tan\u0131ma ve di\u011fer i\u015flem yo\u011fun g\u00f6revleri daha ak\u0131c\u0131 bir \u015fekilde yerine getirebilir.<\/p>\n<h3>2. Hinglish d\u0131\u015f\u0131nda ba\u015fka diller eklenebilir mi?<\/h3>\n<p>Evet, elbette. Projenin konu\u015fma tan\u0131ma (ASR) ve niyet alg\u0131lama (NLU) mod\u00fcllerini farkl\u0131 diller i\u00e7in \u00f6zelle\u015ftirerek ba\u015fka diller de eklenebilir. ASR i\u00e7in ilgili dilin modelini (\u00f6rne\u011fin, Vosk&#8217;un T\u00fcrk\u00e7e modeli) kullanman\u0131z, NLU i\u00e7in ise o dilin dilbilgisi kurallar\u0131na ve kelime da\u011farc\u0131\u011f\u0131na uygun anahtar kelime desenleri ve kurallar olu\u015fturman\u0131z gerekecektir.<\/p>\n<h3>3. LLM kullanmaman\u0131n temel avantaj\u0131 nedir?<\/h3>\n<p>LLM kullanmaman\u0131n temel avantajlar\u0131 aras\u0131nda d\u00fc\u015f\u00fck maliyet, \u00e7evrimd\u0131\u015f\u0131 \u00e7al\u0131\u015fma yetene\u011fi, daha az kaynak t\u00fcketimi ve daha iyi gizlilik kontrol\u00fc yer al\u0131r. LLM&#8217;ler genellikle y\u00fcksek i\u015flem g\u00fcc\u00fc ve bulut tabanl\u0131 API&#8217;lere ba\u011f\u0131ml\u0131l\u0131k gerektirirken, bu yakla\u015f\u0131m Raspberry Pi gibi d\u00fc\u015f\u00fck maliyetli ve g\u00f6m\u00fcl\u00fc sistemlerde \u00e7al\u0131\u015fabilir, internet ba\u011flant\u0131s\u0131na ihtiya\u00e7 duymaz ve hassas verilerin cihaz d\u0131\u015f\u0131na \u00e7\u0131kmas\u0131n\u0131 engeller.<\/p>\n<h3>4. Proje maliyeti ne kadar olur?<\/h3>\n<p>Projenin maliyeti, se\u00e7ilen Raspberry Pi modeline, robot kol kitinin karma\u015f\u0131kl\u0131\u011f\u0131na ve di\u011fer bile\u015fenlerin kalitesine g\u00f6re de\u011fi\u015fiklik g\u00f6sterir. Ortalama olarak, Raspberry Pi (50-80$), robot kol kiti (30-100$), USB mikrofon (10-30$) ve di\u011fer k\u00fc\u00e7\u00fck bile\u015fenler (20-40$) ile toplam maliyet 100-250$ (yakla\u015f\u0131k 3000-8000 TL) aras\u0131nda de\u011fi\u015febilir. Bu, LLM tabanl\u0131 \u00e7\u00f6z\u00fcmlere k\u0131yasla olduk\u00e7a uygun maliyetli bir se\u00e7enektir.<\/p>\n<h3>5. Robot kolu ne kadar hassas hareket edebilir?<\/h3>\n<p>Robot kolunun hassasiyeti, kullan\u0131lan servo motorlar\u0131n kalitesine, mekanik yap\u0131n\u0131n sa\u011flaml\u0131\u011f\u0131na ve PWM sinyallerinin hassasiyetine ba\u011fl\u0131d\u0131r. Genellikle hobi s\u0131n\u0131f\u0131 servo motorlar 1-2 derecelik hassasiyet sunar. Daha hassas uygulamalar i\u00e7in end\u00fcstriyel s\u0131n\u0131f servo motorlar veya step motorlar kullan\u0131labilir, ancak bu maliyeti art\u0131r\u0131r ve daha karma\u015f\u0131k kontrol gerektirebilir. Yaz\u0131l\u0131m taraf\u0131nda, PWM darbe oranlar\u0131n\u0131 daha ince ayarlamak da hassasiyeti art\u0131rabilir.<\/p>\n<p>#RaspberryPi #Robotik #Do\u011falDil\u0130\u015fleme #Hinglish #G\u00f6m\u00fcl\u00fcSistemler<\/p>\n<div class=\"github-example-link\"><strong>\u00d6rnek kod:<\/strong> <a href=\"https:\/\/github.com\/fatihsoysalcom\/hinglish-command-parser\" target=\"_blank\" rel=\"noopener noreferrer\">github.com\/fatihsoysalcom\/hinglish-command-parser<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"Dijitalle\u015fmenin h\u0131zla yay\u0131ld\u0131\u011f\u0131 g\u00fcn\u00fcm\u00fcz d\u00fcnyas\u0131nda, insan-makine etkile\u015fimi giderek daha do\u011fal ve sezgisel hale geliyor.","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[132],"tags":[],"class_list":{"0":"post-45328","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-asp-net","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Raspberry Pi \u00dczerinde LLM Kullanmadan Hinglish Anlayan Robot Kolu \u0130n\u015fa Etmek - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/raspberry-pi-uzerinde-llm-kullanmadan-hinglish-anlayan-robot-kolu-insa-etmek\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Raspberry Pi \u00dczerinde LLM Kullanmadan Hinglish Anlayan Robot Kolu \u0130n\u015fa Etmek\" \/>\n<meta property=\"og:description\" content=\"Dijitalle\u015fmenin h\u0131zla yay\u0131ld\u0131\u011f\u0131 g\u00fcn\u00fcm\u00fcz d\u00fcnyas\u0131nda, insan-makine etkile\u015fimi giderek daha do\u011fal ve sezgisel hale geliyor.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/raspberry-pi-uzerinde-llm-kullanmadan-hinglish-anlayan-robot-kolu-insa-etmek\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-22T18:10:12+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-22T18:10:57+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"38 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/raspberry-pi-uzerinde-llm-kullanmadan-hinglish-anlayan-robot-kolu-insa-etmek\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/raspberry-pi-uzerinde-llm-kullanmadan-hinglish-anlayan-robot-kolu-insa-etmek\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Raspberry Pi \u00dczerinde LLM Kullanmadan Hinglish Anlayan Robot Kolu \u0130n\u015fa Etmek\",\"datePublished\":\"2026-10-22T18:10:12+00:00\",\"dateModified\":\"2026-10-22T18:10:57+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/raspberry-pi-uzerinde-llm-kullanmadan-hinglish-anlayan-robot-kolu-insa-etmek\/\"},\"wordCount\":6626,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"ASP.NET\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/raspberry-pi-uzerinde-llm-kullanmadan-hinglish-anlayan-robot-kolu-insa-etmek\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/raspberry-pi-uzerinde-llm-kullanmadan-hinglish-anlayan-robot-kolu-insa-etmek\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/raspberry-pi-uzerinde-llm-kullanmadan-hinglish-anlayan-robot-kolu-insa-etmek\/\",\"name\":\"Raspberry Pi \u00dczerinde LLM Kullanmadan Hinglish Anlayan Robot Kolu \u0130n\u015fa Etmek - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-10-22T18:10:12+00:00\",\"dateModified\":\"2026-10-22T18:10:57+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/raspberry-pi-uzerinde-llm-kullanmadan-hinglish-anlayan-robot-kolu-insa-etmek\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/raspberry-pi-uzerinde-llm-kullanmadan-hinglish-anlayan-robot-kolu-insa-etmek\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/raspberry-pi-uzerinde-llm-kullanmadan-hinglish-anlayan-robot-kolu-insa-etmek\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Raspberry Pi \u00dczerinde LLM Kullanmadan Hinglish Anlayan Robot Kolu \u0130n\u015fa Etmek\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Raspberry Pi \u00dczerinde LLM Kullanmadan Hinglish Anlayan Robot Kolu \u0130n\u015fa Etmek - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/raspberry-pi-uzerinde-llm-kullanmadan-hinglish-anlayan-robot-kolu-insa-etmek\/","og_locale":"tr_TR","og_type":"article","og_title":"Raspberry Pi \u00dczerinde LLM Kullanmadan Hinglish Anlayan Robot Kolu \u0130n\u015fa Etmek","og_description":"Dijitalle\u015fmenin h\u0131zla yay\u0131ld\u0131\u011f\u0131 g\u00fcn\u00fcm\u00fcz d\u00fcnyas\u0131nda, insan-makine etkile\u015fimi giderek daha do\u011fal ve sezgisel hale geliyor.","og_url":"https:\/\/fatihsoysal.com\/blog\/raspberry-pi-uzerinde-llm-kullanmadan-hinglish-anlayan-robot-kolu-insa-etmek\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-10-22T18:10:12+00:00","article_modified_time":"2026-10-22T18:10:57+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"38 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/raspberry-pi-uzerinde-llm-kullanmadan-hinglish-anlayan-robot-kolu-insa-etmek\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/raspberry-pi-uzerinde-llm-kullanmadan-hinglish-anlayan-robot-kolu-insa-etmek\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Raspberry Pi \u00dczerinde LLM Kullanmadan Hinglish Anlayan Robot Kolu \u0130n\u015fa Etmek","datePublished":"2026-10-22T18:10:12+00:00","dateModified":"2026-10-22T18:10:57+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/raspberry-pi-uzerinde-llm-kullanmadan-hinglish-anlayan-robot-kolu-insa-etmek\/"},"wordCount":6626,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["ASP.NET"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/raspberry-pi-uzerinde-llm-kullanmadan-hinglish-anlayan-robot-kolu-insa-etmek\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/raspberry-pi-uzerinde-llm-kullanmadan-hinglish-anlayan-robot-kolu-insa-etmek\/","url":"https:\/\/fatihsoysal.com\/blog\/raspberry-pi-uzerinde-llm-kullanmadan-hinglish-anlayan-robot-kolu-insa-etmek\/","name":"Raspberry Pi \u00dczerinde LLM Kullanmadan Hinglish Anlayan Robot Kolu \u0130n\u015fa Etmek - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-10-22T18:10:12+00:00","dateModified":"2026-10-22T18:10:57+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/raspberry-pi-uzerinde-llm-kullanmadan-hinglish-anlayan-robot-kolu-insa-etmek\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/raspberry-pi-uzerinde-llm-kullanmadan-hinglish-anlayan-robot-kolu-insa-etmek\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/raspberry-pi-uzerinde-llm-kullanmadan-hinglish-anlayan-robot-kolu-insa-etmek\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Raspberry Pi \u00dczerinde LLM Kullanmadan Hinglish Anlayan Robot Kolu \u0130n\u015fa Etmek"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/45328","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=45328"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/45328\/revisions"}],"predecessor-version":[{"id":45329,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/45328\/revisions\/45329"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=45328"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=45328"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=45328"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}