{"id":1561,"date":"2019-11-02T20:42:53","date_gmt":"2019-11-02T20:42:53","guid":{"rendered":"http:\/\/mikrobotik.com\/wp2\/?p=1561"},"modified":"2023-03-31T16:00:14","modified_gmt":"2023-03-31T13:00:14","slug":"coklu-android-kontrol-esp8266-01-ve-bluetooth-server","status":"publish","type":"post","link":"https:\/\/www.mikrobotik.com\/wp2\/2019\/11\/02\/coklu-android-kontrol-esp8266-01-ve-bluetooth-server\/","title":{"rendered":"\u00c7oklu android kontrol (ESP8266-01 ve Bluetooth Server)"},"content":{"rendered":"<p>Bu konumuzda 2 ki\u015filik oyun kontrol\u00fcn\u00fc, android cihazlar\u0131m\u0131z ile nas\u0131l yapabilece\u011fimizi g\u00f6rece\u011fiz. Oyun program\u0131 olarak TV PONG GAME denilen nostaljik bir tv oyunu \u00fczerinde deneyece\u011fiz. \u00a0Bu oyunda kontrol potansiyometre ile kablolu olarak sa\u011flan\u0131yordu. Biz ise bunu ESP8266-01 (nodemcu modunda) + Bluetooth haberle\u015fmesi ile yapaca\u011f\u0131z.<br \/>\n( HC-05 Hc-06 gibi Bluetooth mod\u00fcl kullanmadan 2 android aras\u0131 ger\u00e7ekle\u015ftirece\u011fiz.)<\/p>\n<p>\u00d6ncelikle \u015funu s\u00f6ylemeliyim. Bu oyunu ald\u0131\u011f\u0131m site kapand\u0131. Oyunu yazan ki\u015finin, sayfalar\u0131n\u0131 daha \u00f6nce kay\u0131t etti\u011fim i\u00e7in \u00e7evrimd\u0131\u015f\u0131 inceleyebileceksiniz. Oyun nostaljik bir oyundur. TV \u00fczerinde \u00e7al\u0131\u015f\u0131r. Bunun yan\u0131s\u0131ra arduino nano 328p kart\u0131na uyumlu hale getirilmi\u015ftir. K\u00fct\u00fcphanesi program i\u00e7ine g\u00f6m\u00fcl\u00fcp de\u011fi\u015fiklikler yap\u0131lm\u0131\u015ft\u0131r. ( Gerekli dosyalar\u0131 t\u00fcm dosyalar\u0131n verildi\u011fi linkten temin edebilirsiniz. )<\/p>\n<p><strong>Ben burada<\/strong> <span style=\"color: #0000ff;\">oyunun kontrol mant\u0131\u011f\u0131n\u0131, Potansiyometre yerine koydu\u011fum PWM sisteminden ( ki bunu yava\u015f kald\u0131\u011f\u0131 i\u00e7in iptal ettim.), R2R Dijital analog d\u00f6n\u00fc\u015ft\u00fcrme sistemini, 2 android cihaz\u0131n bluetooth \u00fczerinden haberle\u015fmesi, bilgiler topland\u0131\u011f\u0131nda 1. android cihaz, WI-FI \u00fczerinden \u00a0ESP8266-01 mod\u00fcl\u00fcne, socket mimarisi kullan\u0131larak g\u00f6nderilmesi, bir de bu bilgilerin al\u0131n\u0131p i\u015flenece\u011fi PIC16F1827 kontrol entegresinin kullan\u0131m\u0131n\u0131 anlataca\u011f\u0131m.\u00a0<\/span><\/p>\n<p><span style=\"color: #ff6600;\">PIC16F1827 i\u00e7indeki program\u0131 TXT editor ile a\u00e7arak kolayl\u0131kla ayn\u0131 mant\u0131\u011f\u0131 kullan\u0131p ARDUINO ya \u00e7evirebilirsiniz. Mant\u0131k \u00e7ok basittir. \u00a0PORTA ve PORTB deki 4 bitlik bilgileri sizler dijital pimler ile olu\u015fturabilirsiniz. Fakat bunu kullanmak i\u00e7in normal dijital pim gibi kullanmay\u0131p 4 bitlik i\u015flem yapmal\u0131s\u0131n\u0131z.\u00a0<\/span><\/p>\n<p>\u00d6ncelikle oyundan bahsedelim. Bu oyun 1970 lerde \u00e7\u0131kmaya ba\u015flad\u0131. Sonras\u0131nda tek entegreye oturtularak atari gibi sistemlerde kullan\u0131lmaya ba\u015flad\u0131. Kendi zaman\u0131n\u0131n en iyisiydi. Bir entegrede birden fazla oyun olu\u015fturulmu\u015ftu ve televizyonda oynanabiliyordu. Tabii ki o zamanlar mikrokontrol entegreleri bu kadar yayg\u0131nla\u015fmam\u0131\u015ft\u0131. <strong>\u015eimdi ise isterseniz bu tip oyunlar\u0131 kendi cihazlar\u0131n\u0131z i\u00e7in kendiniz de kolayl\u0131kla yapabilirsiniz<\/strong>.<br \/>\n<span style=\"color: #ff6600;\">Eski oyun sistemleri hakk\u0131nda ayr\u0131nt\u0131l\u0131 bilgi almak isteyenler<\/span> <a href=\"http:\/\/www.davesclassicarcade.com\/consoles.html\" target=\"_blank\" rel=\"noopener\"><strong>bu siteden ba\u015flayabilirler.<\/strong><\/a><br \/>\n<span style=\"color: #ff6600;\">Ayr\u0131ca PONG tipi oyunlar\u0131n tarih\u00e7esi i\u00e7in<\/span> <a href=\"http:\/\/www.pong-story.com\/intro.htm\" target=\"_blank\" rel=\"noopener\"><strong>bu siteye bakabilirler.<\/strong><\/a><\/p>\n<p><strong>\u015eimdi ise konumuza d\u00f6n\u00fcp pong tv \u015femas\u0131yla ba\u015flayal\u0131m.<\/strong><br \/>\n<a href=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2019\/11\/PONG_sema_Wiring1.2.jpg\" rel=\"lightbox[1561]\"><img decoding=\"async\" class=\"lightbox aligncenter wp-image-2473 size-medium lazyload\" data-src=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2019\/11\/PONG_sema_Wiring1.2.jpg\" alt=\"\" width=\"300\" height=\"154\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 300px; --smush-placeholder-aspect-ratio: 300\/154;\" \/><\/a><span style=\"color: #ff0000;\"><strong>Ayr\u0131ca bu ba\u011flant\u0131lar entegre \u00fczerinde i\u015faretlendi\u011fi i\u00e7in bu ba\u011flant\u0131lar\u0131n arduino nano ya da uno \u00a0ba\u011flant\u0131 noktalar\u0131na denk getirmek i\u00e7in a\u015fa\u011f\u0131daki PINOUT denilen \u015femalardan faydalanabilirsiniz.<\/strong><\/span><br \/>\n<span style=\"color: #ff0000;\">1. resim<\/span> yukar\u0131daki \u015feman\u0131n entegreye ba\u011flant\u0131s\u0131n\u0131 g\u00f6sterir. baz\u0131 isimleri net okuman\u0131z i\u00e7in.<br \/>\n<span style=\"color: #ff0000;\">2. resim<\/span> de ise entegre ba\u011flant\u0131lar\u0131 ve arduino nano veya uno ba\u011flant\u0131lar\u0131n\u0131 i\u00e7erir.Buna g\u00f6re e\u015fle\u015ftirme yap\u0131p ba\u011flant\u0131lar\u0131 yapabilirsiniz.<br \/>\n<a href=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2019\/11\/PONG_sema_ChipPinout1.2.jpg\" rel=\"lightbox[1561]\"><img decoding=\"async\" class=\"lightbox aligncenter wp-image-1562 size-full lazyload\" data-src=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2019\/11\/PONG_sema_ChipPinout1.2.jpg\" alt=\"\" width=\"600\" height=\"358\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 600px; --smush-placeholder-aspect-ratio: 600\/358;\" \/><\/a><\/p>\n<p><a href=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2019\/11\/arduino_nano_v3_pin_diyagrami_b.jpg\" rel=\"lightbox[1561]\"><img decoding=\"async\" class=\"lightbox aligncenter wp-image-1575 size-full lazyload\" data-src=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2019\/11\/arduino_nano_v3_pin_diyagrami_b.jpg\" alt=\"\" width=\"1103\" height=\"777\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1103px; --smush-placeholder-aspect-ratio: 1103\/777;\" \/><\/a><br \/>\n<span style=\"color: #ff6600;\">Yukar\u0131daki devrede<\/span> 2 pot oyundaki hareketi kontrol ediyor. ( 2 oyuncu i\u00e7in.) <strong>Game reset<\/strong> skoru s\u0131f\u0131rl\u0131yor oyunu ba\u015flat\u0131yor. <strong>Game select<\/strong> \u00e7e\u015fitli oyun tiplerini se\u00e7iyor. <strong>Paddle size<\/strong> hareketli \u00e7ubu\u011fun boyutunu de\u011fi\u015ftiriyor. <strong>Speed<\/strong> topu 2 farkl\u0131 h\u0131zda \u00e7al\u0131\u015ft\u0131r\u0131yor. ( Program i\u00e7erisinde top h\u0131z\u0131 \u00e7ok h\u0131zland\u0131\u011f\u0131nda h\u0131za ayak uydurmak zor olabilir. Yar\u0131 h\u0131z ve Tam h\u0131z var.) <strong>Angles<\/strong> ise topun 20 derece a\u00e7\u0131yla ya da 20\/40 a\u00e7\u0131yla hareket etmesini sa\u011fl\u0131yor.<\/p>\n<p><span style=\"color: #ff6600;\">T\u00fcm bu kontroller PIC 16F1827 entegresine ba\u011fl\u0131 ESP8266-01 \u00fczerinden gelen bilgi ile kontrol ediliyor.<br \/>\n<\/span><br \/>\n<strong><span style=\"color: #ff6600;\">Android programlar\u0131 2 tanedir.<\/span><\/strong><br \/>\n1. program birinci oyuncu ve ana kontrollerin tamam\u0131n\u0131 i\u00e7eriyor. RESET vs.<br \/>\n2. program ise <span style=\"color: #ff6600;\">2. android cihaz\u0131n,<\/span>\u00a0<span style=\"color: #ff6600;\">bluetooth server \u00fczerinden 1. android cihaza ba\u011flan\u0131p,<\/span> 2. oyuncunun \u00e7ubuk hareket bilgisini iletiyor.<br \/>\nBirinci android program toplam bilgiyi 200ms de bir esp8266-01 e g\u00f6nderiyor. Bu bilgilerin tamam\u0131 HEX olarak iletiliyor. Nedeni ise desimal olarak g\u00f6nderilirse 100 dedi\u011finizde ASCII olarak 49 48 48 yani 1 0 0 olarak 3 byte geliyordu. HEX olarak g\u00f6nderildi\u011finde direkt olarak gelmesi sa\u011fland\u0131.15 denildi\u011finde 1 byte olarak 0xFF kodu gelmektedir.<\/p>\n<p><strong>GELEN B\u0130LG\u0130 :<\/strong> \u00a0 ESP 1P 2P RESET GAME SELECT PADDLE SIZE SPEED ANGELS<br \/>\nESP 13 7 1 1 1 1 1 gibi bilgi gelir ve PIC kontrolc\u00fc bu bilgiyi par\u00e7alay\u0131p portlara g\u00f6nderir.<br \/>\nESP bir \u00f6n bilgidir. Ayn\u0131 zamanda seri haberle\u015fmede Uyand\u0131rma sinyalidir.<br \/>\n<span style=\"color: #ff6600;\">Bu ESP kelimesini yakalarsa arkas\u0131ndaki bilgiyi al\u0131r. Yakalayamazsa bilgiyi almadan kesmeden \u00e7\u0131kar.<\/span><\/p>\n<p><span style=\"color: #ff6600;\">A\u015fa\u011f\u0131dakiler ise Seri port \u00fczerinden al\u0131nan bilgilerdir.\u00a0<\/span><br \/>\n(ESP 4 0 1 1 1 0 1)(ESP 4 0 1 1 1 0 1)(ESP 4 0 1 1 1 0 1)<br \/>\nAyr\u0131ca HEX \u00a0olarak g\u00f6rmek istedi\u011finizde bu \u015fekildedir. 1 byte olarak g\u00f6nderilir.<br \/>\n28 45 53 50 20 34 20 30 20 31 20 31 20 31 20 30 20 31 29<br \/>\n28 ve 29 ba\u015ftaki ve sondaki parantezlerdir.<br \/>\n<span style=\"color: #ff6600;\">Geri kalan\u0131 da ASCII tablosundan \u00e7\u00f6zd\u00fc\u011f\u00fcn\u00fczde ESP ile ba\u015flayan sat\u0131r oldu\u011funu g\u00f6receksiniz.\u00a0<\/span><\/p>\n<p>Android programda, oyunun hareketini 0-15 aras\u0131 ayarlayan bir slider kulland\u0131m. \u00a0Fakat slider Android 6 ve \u00fczerinde geni\u015fleyemedi\u011fi i\u00e7in incecik \u00e7izgi \u00fczerinde elimizi kayd\u0131rmak zor olaca\u011f\u0131ndan, geni\u015flik ayarlar\u0131n\u0131 rahat yapabilece\u011fim CANVAS \u00e7izim aletini kulland\u0131m. Bu \u015fekilde geni\u015f bir y\u00fczey elde ettim. Buradaki ayarlar ise Android program \u00fczerinde g\u00f6r\u00fcnmektedir.<br \/>\nCANVAS piksel olarak \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan 0-255 aras\u0131 de\u011fer al\u0131r. Bunu 0-15 yapmak i\u00e7in 16 ya b\u00f6ld\u00fcm. Bu \u015fekilde toplam hareket 0-15 aras\u0131 oldu.<br \/>\n<span style=\"color: #ff6600;\">NEDEN b\u00f6yle bir hareket ger\u00e7ekle\u015ftirdim.\u00a0<\/span><br \/>\n\u00c7\u00fcnk\u00fc PIC16F1827 nin port say\u0131s\u0131n\u0131 daha uygun \u015fekilde kullanmam gerekti. 4 bit ile \u00e7al\u0131\u015facak bir R2R dijital analog \u00e7evirici devrem vard\u0131. 0-16 aras\u0131n\u0131 0-5V olarak ayarlayabilecektim. Potansiyometrenin yapt\u0131\u011f\u0131 da bu. Dikkat ederseniz potansiyometreler, analog giri\u015flere ba\u011flanm\u0131\u015f ve 0-5V aras\u0131 de\u011ferin program i\u00e7erisinde i\u015flenmesiyle hareket sa\u011flanm\u0131\u015f.<br \/>\n( <span style=\"color: #ff6600;\">Ayr\u0131ca hareket eden bloklar s\u0131n\u0131rlara fazla gitmesin diye 2-13 aras\u0131 s\u0131n\u0131rlad\u0131m. Kolay oynanabilsin diye<\/span> )<\/p>\n<p>R2R devresi a\u015fa\u011f\u0131daki \u015fekilde dizayn edilir. Bu devrede 1. oyuncu i\u00e7in PORTA n\u0131n A1,A2,A3,A4 u\u00e7lar\u0131 kullan\u0131ld\u0131. 2. oyuncu i\u00e7in, PORTB nin B4,B5,B6,B7 u\u00e7lar\u0131 kullan\u0131ld\u0131. 2 adet R2R devrsi, 2 oyuncu i\u00e7in de ayr\u0131 olarak yap\u0131ld\u0131. <span style=\"color: #ff6600;\">R2R \u00e7evirici hakk\u0131nda daha fazla bilgi i\u00e7in<\/span> <strong>b<a href=\"https:\/\/www.tek.com\/blog\/tutorial-digital-analog-conversion-r-2r-dac\" target=\"_blank\" rel=\"noopener\">u sayfaya bakabilirsiniz.\u00a0<\/a><\/strong><br \/>\n<img decoding=\"async\" class=\"aligncenter size-full wp-image-1564 lazyload\" data-src=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2019\/11\/Tutorial-R2R-DAC.jpg\" alt=\"\" width=\"730\" height=\"416\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 730px; --smush-placeholder-aspect-ratio: 730\/416;\" \/>Bu devre ile potansiyometrenin hareketini kablosuz olarak taklit etmi\u015f olduk. \u00a0Di\u011fer butonlar\u0131 da android \u00fczerinden bilgi g\u00f6nderdi\u011fimiz i\u00e7in di\u011fer Portlara payla\u015ft\u0131rd\u0131m. RESET ve GAME SELECT basb\u0131rak butonlar\u0131, devaml\u0131 HIGH \u00a0pozisyonda bulunmal\u0131, bunlar\u0131 bilgi g\u00f6nderirken k\u0131sa bir s\u00fcre LOW yap\u0131p sonras\u0131nda yeniden HIGH olarak g\u00f6nderdim. Di\u011fer butonlar ise Toggle olarak \u00e7al\u0131\u015ft\u0131. Yani bas\u0131ld\u0131\u011f\u0131nda devaml\u0131 HIGH bir daha bas\u0131l\u0131rsa LOW olacak \u015fekilde.<br \/>\n<span style=\"color: #ff6600;\">PIC kontrolc\u00fc sadece esp8266-01 den bilgiyi al\u0131p oyun i\u00e7in gerekli olan mekanik kontrolleri sa\u011flar. Arduino program\u0131na kar\u0131\u015fmaz.<\/span><\/p>\n<p>Arduino program\u0131n\u0131 da programlar aras\u0131nda bulabilirsiniz. Arduino program\u0131n\u0131n i\u00e7ine k\u00fct\u00fcphane yerle\u015ftirilmi\u015f ve gerekli de\u011fi\u015fiklikler yap\u0131lm\u0131\u015ft\u0131r.<br \/>\nA\u015fa\u011f\u0131da ise PIC 16F1827 ile yap\u0131lan kontrol devresi bulunmaktad\u0131r. \u00c7izimde g\u00f6rd\u00fc\u011f\u00fcn\u00fcz gibi \u00fcstteki R2R devresinde b\u00fct\u00fcn giri\u015fler HIGH oldu\u011funda \u00e7\u0131k\u0131\u015ftaki gerilim 5V civar\u0131nda, alttaki R2R devresinde t\u00fcm giri\u015fler LOW oldu\u011fundan \u00e7\u0131k\u0131\u015f 0V tur. Buradaki buton \u00e7\u0131k\u0131\u015flar\u0131n\u0131 arduino \u00fczerindeki anahtarlar\u0131n ba\u011fl\u0131 bulundu\u011fu yerlere ba\u011flarsan\u0131z buton olarak \u00e7al\u0131\u015facakt\u0131r.<br \/>\n<span style=\"color: #ff6600;\">Ben pcb \u00fczerinde RESET ve GAME SELECT butonlar\u0131n\u0131 ayr\u0131ca kulland\u0131m. Yani pcb \u00fczerinden de kontrol yapabilirsiniz. Butonlar\u0131 PIC entegresinden gelen bilgilerle paralel olarak d\u00fc\u015f\u00fcn\u00fcn herhangi birine bas\u0131lsa g\u00f6revini yapar.\u00a0<\/span><br \/>\n<a href=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2019\/11\/16f1827_tvout_R2R_dizayn_3.jpg\" rel=\"lightbox[1561]\"><img decoding=\"async\" class=\"lightbox aligncenter wp-image-1567 size-full lazyload\" data-src=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2019\/11\/16f1827_tvout_R2R_dizayn_3.jpg\" alt=\"\" width=\"3031\" height=\"2131\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 3031px; --smush-placeholder-aspect-ratio: 3031\/2131;\" \/><\/a><\/p>\n<p>Ger\u00e7ek devre. :<br \/>\n<a href=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2019\/11\/gercekdevre_pcb.jpg\" rel=\"lightbox[1561]\"><img decoding=\"async\" class=\"lightbox aligncenter wp-image-1579 lazyload\" data-src=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2019\/11\/gercekdevre_pcb.jpg\" alt=\"\" width=\"559\" height=\"406\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 559px; --smush-placeholder-aspect-ratio: 559\/406;\" \/><\/a><\/p>\n<p><strong>Android programlar\u0131n ekran g\u00f6r\u00fcnt\u00fcleri bu \u015fekildedir.<\/strong><br \/>\n<span style=\"color: #ff6600;\">Birinci oyuncu ekran\u0131 _1. yar\u0131 ve 2. yar\u0131:\u00a0<\/span><a href=\"https:\/\/drive.google.com\/open?id=15X6HV2QwPePrZhgLBA2lQu7-ZGjB3mtK\" target=\"_blank\" rel=\"noopener\"><strong>Android program\u0131 kaynak dosyas\u0131 1. oyuncu.<\/strong><\/a><br \/>\n<a href=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2019\/11\/android-1-oyuncu_2.png\" rel=\"lightbox[1561]\"><img decoding=\"async\" class=\"lightbox alignleft wp-image-1569 lazyload\" data-src=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2019\/11\/android-1-oyuncu_2.png\" alt=\"\" width=\"228\" height=\"389\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 228px; --smush-placeholder-aspect-ratio: 228\/389;\" \/><\/a><a href=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2019\/11\/android-1-oyuncu_1.png\" rel=\"lightbox[1561]\"><img decoding=\"async\" class=\"lightbox alignnone wp-image-1571 lazyload\" data-src=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2019\/11\/android-1-oyuncu_1.png\" alt=\"\" width=\"226\" height=\"385\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 226px; --smush-placeholder-aspect-ratio: 226\/385;\" \/><\/a><\/p>\n<p><span style=\"color: #ff6600;\"><br \/>\n\u0130kinci oyuncu ekran\u0131 :<\/span>\u00a0 <a href=\"https:\/\/drive.google.com\/open?id=1S0JZLTlm045h6ALbHKAcBsb3EssIXoo5\" target=\"_blank\" rel=\"noopener\"><strong>Android program\u0131 kaynak dosyas\u0131 2. oyuncu.\u00a0<\/strong><\/a><br \/>\n<a href=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2019\/11\/android-2-oyuncu.png\" rel=\"lightbox[1561]\"><img decoding=\"async\" class=\"lightbox aligncenter wp-image-1570 lazyload\" data-src=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2019\/11\/android-2-oyuncu.png\" alt=\"\" width=\"189\" height=\"322\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 189px; --smush-placeholder-aspect-ratio: 189\/322;\" \/><\/a><\/p>\n<p><strong>\u00c7al\u0131\u015fmas\u0131 ise \u015fu \u015fekildedir<\/strong>. 1. program i\u00e7in 1. android cihazdan, karta enerji verildi\u011finde ortaya \u00e7\u0131kan \u00a0ESP8266 wifi sunucusunu se\u00e7in. (<strong> \u015eifresi: 12345678\u00a0<\/strong>) Sonras\u0131nda en altta bulunan Connect \u00a0butonuna basarsan\u0131z 1. oyuncu bilgi g\u00f6ndermeye ba\u015flar. Yukar\u0131daki butonlardan oyunu ayarlaya bilirsiniz ve kayd\u0131rma \u00e7ubu\u011fu ile hareketi sa\u011flars\u0131n\u0131z.<br \/>\n<span style=\"color: #ff6600;\">2. oyuncuyu dahil etmek i\u00e7in bluetooth aktif etmelisiniz.<\/span><br \/>\nZaten programa girdi\u011finizde Bluetooth aktif etmemi\u015fseniz sizi uyaracakt\u0131r.<br \/>\n2. oyuncunun cihaz\u0131na ba\u011fl\u0131 programda bluetooth aktif edip, ba\u011flant\u0131ya izin ver butonuna bas\u0131n.<br \/>\nBunu yapt\u0131\u011f\u0131n\u0131zda 2. oyuncu cihaz\u0131 bluetooth server olarak ba\u011flanacak ve di\u011fer cihazlar\u0131n kendisine ba\u011flanmas\u0131na izin verecek.<br \/>\nArt\u0131k di\u011fer cihazlar sizin bluetooth sunucunuza ba\u011flanabilecektir.<br \/>\n1. oyuncunun ekran\u0131nda BLUE ON butonuna bas\u0131p gelen ekrandan 2. oyuncu android cihaz\u0131n\u0131 se\u00e7ti\u011finizde, ba\u011flant\u0131 sa\u011flanacak ve her iki telefonda da CONNECTION OK ye\u015fil olarak \u00e7\u0131kacak. Sonras\u0131nda, 2. oyuncu 1. oyuncunun telefonuna kendi hareket bilgisini yollayabilecektir. Kayd\u0131rma \u00e7ubu\u011fu hareket etti\u011finde de\u011fil, 50ms de bir g\u00f6nderim olacakt\u0131r. Bundan dolay\u0131 elinizi \u00e7ok h\u0131zl\u0131 gezdirseniz de 50ms de bir kontrol etti\u011fi de\u011feri kar\u015f\u0131 tarafa yollayacakt\u0131r.<br \/>\nAyr\u0131ca ekranda elinizi kayd\u0131rd\u0131\u011f\u0131n\u0131zda kayd\u0131rma \u00e7ubu\u011fu \u00fczerinde g\u00f6nderdi\u011finiz de\u011fer yazmaktad\u0131r. Program daha h\u0131zl\u0131 olsun isterseniz bu yaz\u0131lan bilgi bloklar\u0131n\u0131 kald\u0131rabilirsiniz.<br \/>\nBirinci oyuncu ekran\u0131nda ise BLUE ON butonunun alt\u0131nda, 2. oyuncudan gelen bilgi de g\u00f6r\u00fcnmektedir.<br \/>\nBu h\u0131z cihaz\u0131n\u0131z\u0131n h\u0131z\u0131yla do\u011fru orant\u0131l\u0131d\u0131r. Eski telefonlarda hareket yava\u015f olarak hissedilse de yeni tip telefonlarda problemsiz \u00e7al\u0131\u015fmaktad\u0131r. Bu zamanlamalar\u0131 daha a\u015fa\u011f\u0131 d\u00fc\u015f\u00fcrebilirsiniz daha h\u0131zl\u0131 bilgi ak\u0131\u015f\u0131 olacakt\u0131r.<\/p>\n<p><span style=\"color: #0000ff;\">Tek dikkat etmeniz gereken 2. oyuncu cihaz\u0131 g\u00f6nderim h\u0131z\u0131n\u0131n 1. oyuncu al\u0131m h\u0131z\u0131ndan daha b\u00fcy\u00fck olmas\u0131. \u00c7\u00fcnk\u00fc tam tersi oldu\u011funda 2. oyuncu bolca bilgi g\u00f6nderir ve buffer (tampon) doldurur. G\u00f6nderemedi\u011fi i\u00e7in kilitlenme olu\u015facakt\u0131r. 1. android cihaz ise ger\u00e7ek de\u011fer yerine buffer i\u00e7indeki de\u011ferlerle u\u011fra\u015faca\u011f\u0131ndan hareket istedi\u011finiz gibi sonu\u00e7lanmayacakt\u0131r.\u00a0<\/span><\/p>\n<p><span style=\"color: #ff0000;\"><strong>NOT:<\/strong> 1. oyuncu cihaz\u0131nda hem CANVAS hem de Slider bulunmakta. Aradaki fark\u0131 g\u00f6rmek isterseniz diye b\u0131rakt\u0131m. \u0130kisi de ayn\u0131 bilgiyi verecektir, fakat sliderda elinizi kayd\u0131r\u0131rken g\u00f6z\u00fcn\u00fcz oyunda oldu\u011fundan, slider \u00e7ubu\u011funa dokunman\u0131z zor olabilecektir.\u00a0<\/span><\/p>\n<p>A\u015fa\u011f\u0131daki program ise PIC 16F1827 i\u00e7indeki programd\u0131r. PICBASIC ile yap\u0131lm\u0131\u015ft\u0131r.<br \/>\n<span style=\"color: #ff6600;\">PBP3.0 ve yukar\u0131s\u0131 kullan\u0131yorsan\u0131z bu \u015fekilde kullanabilirsiniz. Daha alt versiyon kullan\u0131yorsan\u0131z CONFIG yazan sat\u0131rlar\u0131n i\u00e7indeki sigorta ayarlar\u0131n\u0131 kendi bildi\u011finiz \u015fekilde de\u011fi\u015ftirin.<br \/>\nPIC BASIC kullanmayanlar ise verilen HEX dosyas\u0131n\u0131 entegreye programlay\u0131c\u0131 vas\u0131tas\u0131yla g\u00f6nderebilirler.<br \/>\nYa da sadece arduino kullan\u0131yorsan\u0131z benzer mant\u0131kla program\u0131 arduinoya \u00e7evirip ikinci bir arduino nano yu kullanabilirsiniz ya da arduino mini yi. Oyun program\u0131 i\u00e7in UNO veya NANO de\u011fi\u015fiklik yapmadan kullan\u0131labilir.\u00a0<\/span><\/p>\n<pre class=\"height-set:true height:300 lang:default decode:true\" title=\"PICBASIC program\u0131 16F1827 i\u00e7in. \">'****************************************************************\r\n'*  Name    : UNTITLED.BAS                                      *\r\n'*  Author  : [select VIEW...EDITOR OPTIONS]                    *\r\n'*  Notice  : Copyright (c) 2019 [select VIEW...EDITOR OPTIONS] *\r\n'*          : All Rights Reserved                               *\r\n'*  Date    : 26.08.2019                                        *\r\n'*  Version : 1.0                                               *\r\n'*  Notes   :                                                   *\r\n'*          :                                                   *\r\n'****************************************************************\r\n#config\r\n  __config _CONFIG1, _FOSC_INTOSC &amp; _WDTE_OFF &amp; _PWRTE_ON &amp; _MCLRE_OFF &amp; _CP_ON &amp; _CPD_ON &amp; _BOREN_OFF &amp; _CLKOUTEN_OFF &amp; _IESO_OFF &amp; _FCMEN_OFF\r\n  __config _CONFIG2, _WRT_ALL &amp; _PLLEN_OFF &amp; _STVREN_OFF &amp; _LVP_OFF &amp; _BORV_LO &amp; _LVP_OFF\r\n#ENDCONFIG\r\n\r\n; 32mhz OSC  _________________________\r\nDEFINE OSC 32\r\nOSCCON= %11110000 \r\n;_______________________________________\r\n\r\nANSELA=0\r\nANSELB=0\r\n APFCON1=%00000000   \r\n                    \r\n APFCON0=%00000000\r\nWPUB=255\r\nWPUA=255\r\n;DACCON0=0\r\nadcon0=0\r\nadcon1=0\r\n;LATA.5=1\r\nOPTION_REG.7=0\r\nTRISA=%00000000\r\nTRISB=%00000010     ' PORTB.1 RX UCU \u0130NPUT YAPILDI\r\n\r\n   ; ****   ba\u015fka programdan d\u00f6n\u00fc\u015ft\u00fcr\u00fcld\u00fc\u011f\u00fc i\u00e7in baz\u0131 de\u011fi\u015fkenler\r\n   ;  kullan\u0131lm\u0131yor silebilirsiniz.  **************************\r\n   \r\nSL  VAR BYTE                      ; spbrgh low byte\r\nSH  VAR BYTE                      ; spbrgh HIGH byte\r\nmode    var     byte              ; mode ayar durumu haberle\u015fme h\u0131z\u0131\r\nyeni    var     byte              ; ayar moduna girildi mi.\r\nduty    var     word     ; 0-1000 ARASINDA PWM M\u0130N MAX ARASINDA OLACAK\r\ndd  var byte[47]\r\ndon var byte\r\ntemp    var byte\r\n;say     var byte\r\nsat     var byte\r\nsut     var byte\r\nsut1    var byte\r\n;yaz     var byte\r\nstart  var byte\r\nready   var byte\r\ntemp1   var byte\r\ntemp2   var byte\r\nhatatemp    var word\r\ndondur  var byte\r\n\r\n duty=500\r\n\r\n; ********  32 mhz de   9600 baud 8 N 1 ****************\r\nDEFINE HSER_RCSTA 90h ; Enable serial port &amp; continuous receive\r\nDEFINE HSER_TXSTA 24h ;' Enable transmit, BRGH = 0\r\nDEFINE HSER_CLROERR 1 ;' Clear overflow automatically\r\nDEFINE HSER_SPBRGH 3\r\nDEFINE HSER_SPBRG 64         ;++++++++++++  SPBRG  L olmal\u0131 +++++++++++++++++++++\r\nBAUDCON= %01001000         ' Enable 16 bit baudrate generator\r\n\r\nSYMBOL  GIE  =INTCON.7  \r\nSYMBOL  PEIE =INTCON.6  \r\nSYMBOL  RCIE =PIE1.5    \r\nSYMBOL  RCIF =PIR1.5\r\n;hserout [\"LCD H\"]\r\n\r\n;BACKLED:     ****** PWM k\u0131sm\u0131 yava\u015f oldu\u011fundan iptal edildi. *********\r\n\r\n; DEFINE CCP1_REG PORTB\r\n;  DEFINE CCP1_BIT 3    \r\n;   DEFINE CCP2_REG PORTA\r\n;  DEFINE CCP2_BIT 7  \r\n;  CCPTMRS=%11110100\r\n;  PR2=249\r\n;  PR4=249\r\n; CCP1CON=$0C\r\n; CCP2CON=$0C\r\n;  T2CON=%00000110        'Prescaller \/ 16, Timer2 ON  \r\n;   T4CON=%00000110\r\n\r\n\r\n dd[1]=0\r\n dd[2]=0\r\n don=0\r\n \r\n ; hserout [\"LCD hhhhhhhhH\"]\r\nRCIE=1\r\nPEIE=1\r\nGIE=1\r\n\r\nON INTERRUPT GOTO KESME \r\n disable\r\nbaslaa:\r\n  ;don=1\r\nif don=1 then\r\n \r\n   temp1= dd[1]\r\n   \r\n  temp1=temp1 &amp; %00001111\r\n porta=porta &amp; %11110000\r\n  porta=porta | temp1\r\n\r\n   temp1=dd[2]\r\n    \r\n  temp1=temp1 &amp; %00001111\r\n   ;hserout [\" deger port b \",dec3 temp1,\"   \",dec3 portb,\"   \",dec3 dd[2],10,13] \r\n   temp1=temp1 &lt;&lt; 4\r\n   ;hserout [\" deger port b1 \",dec3 temp1,\"   \",dec3 dd[2],10,13]\r\n   \r\n    \r\n portb=portb &amp; %00001111\r\n  portb=portb | temp1 \r\n  ;hserout [\" deger port bbbb \",dec3 temp1,\"   \",dec3 portb,\"   \",dec3 dd[2],10,13]     \r\n \r\n    \r\n    \r\n    don=0\r\n; RESET butonu    0=reset   1= normal \u00e7al\u0131\u015fma\r\n  portb.3=dd[3]\r\n; GAME SELECT butonu   0=se\u00e7 1 normal\r\n  portb.0=dd[4]\r\n; PADDLE SIZE 0=BIG  1=SMALL\r\n  porta.4=dd[5]\r\n;SPEED     0=FAST    1= Slow  \r\n  porta.6=dd[6]\r\n;ANGELS     0=20\/40 derece    1= 20 derece \r\n  porta.7=dd[7]  \r\nendif\r\n\r\nbekle:        ;ESP den bilgi gelesiye kadar sadece burada kontrol edecek gelince kesmeye gidecek. \r\n   enable\r\n   if don=1 then \r\n   disable\r\n   goto baslaa\r\n   endif\r\ngoto bekle   \r\n\r\n\r\nDISABLE\r\nKESME:  ; SER\u0130 PORT KESMES\u0130\r\n\r\nGIE=0\r\ndon=0\r\n\r\n HSERIN 2,atla2, [WAIT(\"ESP\"),hex2 dd[1],hex2 dd[2],hex2 dd[3],hex2 dd[4],hex2 dd[5],hex2 dd[6],hex2 dd[7]]\r\n ; hserout [\"bilgiler \",dec2 dd[1],\"   \",dec2 dd[2],\"   \",dec1 dd[3],dec1 dd[4],dec1 dd[5],dec1 dd[6],dec1 dd[7],10,13]\r\n\r\nATLA:\r\n   ; don sadece dd1 dolu ise bo\u015f ise don=0 olacak. esp ye do\u011fru bilgi gelmemi\u015ftir. \r\ndon=1  \r\n\r\natla2:\r\n  ;hserout [\"1.oyuncu  :  \",dec3 dd[1],10,13] \r\n  ;hserout [\"2.oyuncu  :  \",dec3 dd[2],10,13] \r\n\r\nTEMP=RCREG\r\nGIE=1\r\n\r\nreturn\r\n;enable\r\n\r\n\r\n end\r\n<\/pre>\n<p><span style=\"color: #ff6600;\">Yukar\u0131daki program Ger\u00e7ek devrede kullan\u0131lacakt\u0131r.<\/span><br \/>\n<strong>Proteus program\u0131yla kullan\u0131lacak olan dosya ad\u0131<\/strong> <strong>:<\/strong> 16f1827_pong_esp_R_2R_3_ent_1_proteus.pbp<\/p>\n<p><strong>Ger\u00e7ek devre PIC 16F1827 \u00a0picbasic program ad\u0131:<br \/>\n<\/strong>\u00a016f1827_pong_esp_R_2R_3_ent_1.pbp<\/p>\n<p style=\"text-align: left;\"><span style=\"color: #ff0000;\"><strong>ESP8266-01 Program\u0131 :\u00a0<\/strong><\/span><br \/>\n\u00d6ncelikle elinizde ESP8266-01 mod\u00fcl\u00fcn\u00fcz varsa bu sayfadan yararlanarak onu nodemcu moduna ge\u00e7irmeniz gerekiyor.<br \/>\n<a href=\"https:\/\/www.mikrobotik.com\/wp2\/2018\/06\/01\/esp_01\/\" target=\"_blank\" rel=\"noopener\"><strong>Nodemcuya \u00e7evirme i\u00e7in Bu yaz\u0131ma bak\u0131n\u0131z.\u00a0<\/strong><\/a><br \/>\n<span style=\"color: #ff6600;\">ESP8266-01 mod\u00fcl\u00fcn\u00fc Nodemcu ya \u00e7evirip sonra SDK( AT komutlar\u0131n\u0131n kullan\u0131ld\u0131\u011f\u0131) \u015eekline \u00e7evirmek i\u00e7in<\/span> <a href=\"https:\/\/www.mikrobotik.com\/wp2\/2019\/03\/25\/esp8266-01-sdk-ve-nodemcu-flash-program-yukleme-2\/\" target=\"_blank\" rel=\"noopener\"><strong>Bu yaz\u0131ma bak\u0131n\u0131z<\/strong><\/a>.<\/p>\n<p>Daha sonra ise yine ayn\u0131 sayfadan faydalanarak\u00a0<span style=\"color: #ff0000;\"><strong>tcp_bridge.lua<\/strong><\/span> program\u0131n\u0131 y\u00fckleyin.<br \/>\nBu program, WI-FI \u00fczerinden gelen bilgileri otomatik olarak seri port&#8217;a aktar\u0131r. Bu bilgiler SOKET mimarisi kullan\u0131larak g\u00f6nderilmektedir. <span style=\"color: #ff6600;\">MIT APP INVENTOR 2 de 2 tip Wi-Fi kullan\u0131m\u0131 vard\u0131r. Soket tipi i\u00e7in bir uzant\u0131ya ihtiyac\u0131n\u0131z var. Bu uzant\u0131 \u015fu anda program i\u00e7inde mevcuttur. Soket demek, Gelen bilgiler, internetten gelen bilgi katar\u0131 gibi de\u011fildir. Http gibi bilgiler olmadan direkt olarak sadece bilgilerinizi g\u00f6nderir.<\/span><\/p>\n<p>Gelen bilgileri Proteus kullanma beceriniz varsa kolayl\u0131kla verdi\u011fim proteus dosyas\u0131 ile USB seri \u00e7evirici ( <span style=\"color: #ff6600;\">3.3V se\u00e7ene\u011fi olmas\u0131na dikkat edin<\/span>.) ve ESP8266-01 mod\u00fcl\u00fcn\u00fc kullanarak g\u00f6rebilirsiniz. Android programlar\u0131n\u0131 proteus \u00fczerinde deneyebilirsiniz.<br \/>\n\u015eayet Proteus bilgim yok diyorsan\u0131z 2. videoda g\u00f6sterildi\u011fi gibi, seri port programlar\u0131ndan biriyle de g\u00f6rebilirsiniz.<\/p>\n<p>A\u015fa\u011f\u0131daki resimde esp ve usb seri \u00e7evirici ba\u011flant\u0131s\u0131n\u0131 g\u00f6r\u00fcyorsunuz. Bu ba\u011flant\u0131 ile PC \u00fczerinde proteus ya da seri terminal program\u0131 kullanarak, Android programdan gelen bilgiyi g\u00f6rebilirsiniz.<br \/>\n<img decoding=\"async\" class=\"aligncenter size-full wp-image-1577 lazyload\" data-src=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2019\/11\/esp8266_01_pc_bagla.jpg\" alt=\"\" width=\"768\" height=\"512\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 768px; --smush-placeholder-aspect-ratio: 768\/512;\" \/><\/p>\n<p><span style=\"color: #ff6600;\"><span style=\"color: #ff0000;\"><strong>NOT :<\/strong> <\/span>Burada ESP8266-01 Nodemcu modunda kullan\u0131l\u0131yor. Fakat SDK modunda da kullan\u0131labilecektir. ( SDK mode : AT komut setinin kullan\u0131ld\u0131\u011f\u0131 bir mode dur. ) Bu \u015fekilde kullanmak isterseniz her oyuncu kendi bilgisini direkt g\u00f6nderece\u011finden Bluetooth ba\u011flant\u0131s\u0131na gerek olmayacakt\u0131r ve 2 den fazla oyuncu da olabilecektir diye d\u00fc\u015f\u00fcn\u00fcyorum. Bu \u015fekilde kullan\u0131m denenmedi. Fakat PC ortam\u0131nda deneyerek video \u00e7ektim. 3. videoda bu fark\u0131 ve nas\u0131l yapaca\u011f\u0131n\u0131z\u0131 g\u00f6stermeye \u00e7al\u0131\u015ft\u0131m. Ayr\u0131ca bu videoda wifi iletiminin soket ve http metotlar\u0131n\u0131n fark\u0131n\u0131 g\u00f6rebileceksiniz.\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/drive.google.com\/open?id=1W331L9YApSK78MMUAeUusY-sn2CoBuCi\" target=\"_blank\" rel=\"noopener\"><strong>T\u00dcM DOSYALARA BURADAN ULA\u015eAB\u0130L\u0130RS\u0130N\u0130Z<\/strong><\/a><\/p>\n<p><span style=\"color: #ff6600;\"><strong>Ger\u00e7ek devre videosu :\u00a0<\/strong><\/span><a href=\"https:\/\/www.youtube.com\/watch?v=XCsQWVxtmE4\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-1593 lazyload\" data-src=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2019\/11\/you_1.png\" alt=\"\" width=\"925\" height=\"447\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 925px; --smush-placeholder-aspect-ratio: 925\/447;\" \/><\/a><\/p>\n<p><span style=\"color: #ff6600;\"><strong>Proteus ve seri terminal \u00fczerinde androidden gelen bilgileri g\u00f6rebilme.\u00a0<\/strong><\/span><\/p>\n<p><a href=\"https:\/\/www.youtube.com\/watch?time_continue=1&amp;v=kx7N_LngeGg&amp;feature=emb_logo\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-1594 lazyload\" data-src=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2019\/11\/you_2.png\" alt=\"\" width=\"926\" height=\"446\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 926px; --smush-placeholder-aspect-ratio: 926\/446;\" \/><\/a><\/p>\n<p><span style=\"color: #ff0000;\"><strong>ESP iletiminde \u00c7OKLU ba\u011flant\u0131 ve Soket ve Http ba\u011flant\u0131lar\u0131 :\u00a0<\/strong><\/span><\/p>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=LcJuSjtDT3U&amp;feature=emb_logo\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-1595 lazyload\" data-src=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2019\/11\/you_3.png\" alt=\"\" width=\"923\" height=\"451\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 923px; --smush-placeholder-aspect-ratio: 923\/451;\" \/><\/a><\/p>\n<p>Konu hakk\u0131ndaki sorular\u0131n\u0131z\u0131 veya yorumlar\u0131n\u0131z\u0131 yorum k\u0131sm\u0131na b\u0131rakabilirsiniz. En k\u0131sa zamanda d\u00f6n\u00fc\u015f yap\u0131lacakt\u0131r.<\/p>\n<p>Ayr\u0131ca <span style=\"color: #ff0000;\">youtube kanal\u0131ma \u00fcye olursan\u0131z,<\/span> konu daha yay\u0131nlanmadan, videolar\u0131n\u0131 seyretmeniz m\u00fcmk\u00fcn olacakt\u0131r.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bu konumuzda 2 ki\u015filik oyun kontrol\u00fcn\u00fc, android cihazlar\u0131m\u0131z ile nas\u0131l yapabilece\u011fimizi g\u00f6rece\u011fiz. Oyun program\u0131 olarak TV PONG GAME denilen nostaljik bir tv oyunu \u00fczerinde deneyece\u011fiz. \u00a0Bu oyunda kontrol potansiyometre ile kablolu olarak sa\u011flan\u0131yordu. Biz ise bunu ESP8266-01 (nodemcu modunda) + Bluetooth haberle\u015fmesi ile yapaca\u011f\u0131z. ( HC-05 Hc-06 gibi Bluetooth mod\u00fcl kullanmadan 2 android aras\u0131 ger\u00e7ekle\u015ftirece\u011fiz.) [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1566,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,7,24,3,21],"tags":[],"class_list":["post-1561","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arduino","category-esp","category-mit-app-inventor-2","category-pic","category-proteus"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/posts\/1561","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/comments?post=1561"}],"version-history":[{"count":3,"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/posts\/1561\/revisions"}],"predecessor-version":[{"id":2477,"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/posts\/1561\/revisions\/2477"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/media\/1566"}],"wp:attachment":[{"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/media?parent=1561"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/categories?post=1561"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/tags?post=1561"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}