{"id":1642,"date":"2020-02-28T23:06:52","date_gmt":"2020-02-28T23:06:52","guid":{"rendered":"http:\/\/mikrobotik.com\/wp2\/?p=1642"},"modified":"2022-07-31T14:01:35","modified_gmt":"2022-07-31T11:01:35","slug":"arduino-usb-seri-cevirici-olarak-kullanmak","status":"publish","type":"post","link":"https:\/\/www.mikrobotik.com\/wp2\/2020\/02\/28\/arduino-usb-seri-cevirici-olarak-kullanmak\/","title":{"rendered":"Arduino USB seri \u00e7evirici olarak kullanmak ve ESP8266-01 programlamak."},"content":{"rendered":"<p>Bu yaz\u0131mda, uzun zamand\u0131r denemek istedi\u011fim bir \u00e7al\u0131\u015fman\u0131n sonucunu aktarmaya \u00e7al\u0131\u015faca\u011f\u0131m.<br \/>\nBir\u00e7ok Arduino kullanan ki\u015fi belki de bunu biliyordur. Ben uzun zamand\u0131r FT232RL kullan\u0131yorum. Uzun zamand\u0131r da ESP8266-01 mod\u00fcl\u00fcn\u00fc FT232RL ile programl\u0131yordum.<\/p>\n<p>XP kulland\u0131\u011f\u0131mdan dolay\u0131 yeni s\u00fcr\u00fcmler sorun yaratt\u0131\u011f\u0131 i\u00e7in bir t\u00fcrl\u00fc deneyememi\u015ftim.<br \/>\n\u015eimdi ise s\u00fcr\u00fcmleri XP ye g\u00f6re ayarlad\u0131\u011f\u0131m i\u00e7in bunu ba\u015farabildim.<br \/>\nSizler yeni versiyon windows kullan\u0131yorsan\u0131z sadece s\u00fcr\u00fcc\u00fcleri g\u00fcncelle demeniz yeterlidir.<br \/>\n<span style=\"color: #ff6600;\">A\u015fa\u011f\u0131daki resimlerde g\u00f6rece\u011finiz gibi XP i\u00e7in ESP k\u00fct\u00fcphanesi 2.5.0 kullanabildim. Y\u00fcksek versiyonlarda PTYHON hatas\u0131 veriyor.\u00a0<\/span><\/p>\n<p><strong><span style=\"color: #ff0000;\">\u00d6ncelikle anlatmak istedi\u011fim konu Arduino kart\u0131m\u0131z\u0131n nas\u0131l FT232RL gibi USB seri \u00e7evirici olarak kullan\u0131labilece\u011fidir.<\/span><\/strong><\/p>\n<p>Bunun i\u00e7in yapman\u0131z gereken ilk hareket, Arduino kart\u0131n\u0131n RESET ucunu GND ucuna ba\u011flaman\u0131zd\u0131r. Bu ba\u011flant\u0131 Arduino kart\u0131ndaki mikrokontrol entegresini devre d\u0131\u015f\u0131 b\u0131rakarak USB seri \u00e7evirici entegresinin u\u00e7lar\u0131na direkt ula\u015fman\u0131z\u0131 sa\u011flar.<\/p>\n<p>Burada bir sorun sizi bekliyor olacakt\u0131r. Kart\u0131n \u00fczerinde Tx yazan yer ve Rx yazan yer \u00a0asl\u0131nda, USB seri \u00e7evirici kullan\u0131rken <span style=\"color: #ff6600;\">TERS<\/span> olarak kullan\u0131lmas\u0131 gerekir. Bunu \u00a0nedenini ise a\u015fa\u011f\u0131daki resimde K\u0131rm\u0131z\u0131 ve Mavi \u00e7izgileri takip ederek g\u00f6rebilirsiniz. USB seri \u00e7evirici entegrenin Tx ucunu sona kadar takip etti\u011finizde, entegreye u\u011frad\u0131\u011f\u0131n\u0131 ve sonra \u00e7\u0131k\u0131\u015fa gitti\u011fini g\u00f6receksiniz. Bilgiler normal \u00e7al\u0131\u015fmada, Entegrenin RX giri\u015fine gitti\u011fi i\u00e7in Entegrenin Rx ucuna g\u00f6re pimlere yaz\u0131lm\u0131\u015ft\u0131r. Fakat USB seri \u00e7eviriciden gelen u\u00e7 Tx ucudur. \u015eayet mikrokontrol entegresini RESET ba\u011flant\u0131s\u0131yla etkisiz hale getirirseniz, Rx yaz\u0131lan yeri Tx ucu olarak kullan\u0131rs\u0131n\u0131z. <strong>Detayl\u0131 bilgi i\u00e7in a\u015fa\u011f\u0131daki resimlere dikkat edin. \u00a0<\/strong><\/p>\n<p><strong><span style=\"color: #ff6600;\">Normalde arduinoya y\u00fckleme yaparken, \u015fayet Tx ve Rx u\u00e7lar\u0131nda bir devre ba\u011fl\u0131ysa, y\u00fckleme hatas\u0131 verir. Sebebi ise entegrenin u\u00e7lar\u0131yla, ch340 usb seri \u00e7evirici entegresinin u\u00e7lar\u0131n\u0131n, devredeki ba\u011flant\u0131larla \u00e7ak\u0131\u015fmas\u0131d\u0131r. Bu durumda Tx ve Rx u\u00e7lar\u0131ndaki ba\u011flant\u0131y\u0131 s\u00f6k\u00fcp y\u00fckleme yapar\u0131z ve ba\u015far\u0131l\u0131 \u015fekilde y\u00fcklendikten sonra Bu u\u00e7lar\u0131n devre ba\u011flant\u0131s\u0131n\u0131 yapar\u0131z.\u00a0<\/span><\/strong><\/p>\n<p><strong><br \/>\n<\/strong><a href=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/02\/UNO_USB_SERi_cizim.jpg\" rel=\"lightbox[1642]\"><img decoding=\"async\" class=\"lightbox aligncenter wp-image-1644 size-full lazyload\" data-src=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/02\/UNO_USB_SERi_cizim.jpg\" alt=\"\" width=\"864\" height=\"544\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 864px; --smush-placeholder-aspect-ratio: 864\/544;\" \/><\/a><\/p>\n<p><a href=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/02\/arduino_cizim.jpg\" rel=\"lightbox[1642]\"><img decoding=\"async\" class=\"lightbox aligncenter wp-image-1643 size-full lazyload\" data-src=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/02\/arduino_cizim.jpg\" alt=\"\" width=\"818\" height=\"618\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 818px; --smush-placeholder-aspect-ratio: 818\/618;\" \/><\/a><\/p>\n<p>Buraya kadar Arduino kartlar\u0131n\u0131n nas\u0131l USB \/ SER\u0130 \u00e7evirici olarak kulland\u0131\u011f\u0131m\u0131z\u0131 g\u00f6rd\u00fck. \u015eimdi ise Bu ba\u011flant\u0131y\u0131 kullanarak ESP8266-01 mod\u00fcl\u00fcn\u00fc nas\u0131l programlayabiliriz bunu g\u00f6rece\u011fiz.<br \/>\n<span style=\"color: #ff6600;\">Ben zaten AT komutlar\u0131 ile ESP kullan\u0131yorum diyenler i\u00e7in k\u00fc\u00e7\u00fck bir a\u00e7\u0131klama.\u00a0<\/span><br \/>\nBu \u015fekilde programlanan ESP8266-01 pcbleri programland\u0131ktan sonra Arduinoya ihtiyac\u0131 olmadan kendi ba\u015f\u0131na \u00e7al\u0131\u015f\u0131rlar. Ayn\u0131 Nodemcu program y\u00fcklenmi\u015f ESP8266-01 pcbler gibi \u00e7al\u0131\u015f\u0131r. AT komutlar\u0131na cevap vermezler.<br \/>\nBundan dolay\u0131 \u015fayet ESP AT komutlar\u0131n\u0131 kullanmak isterseniz yeniden i\u00e7erisine SDK program\u0131n\u0131 y\u00fcklemeniz gerek. ( Bu dikkatli verece\u011finiz bir karar. Fakat sorun olacak bir karar de\u011fil. ESP8266-01 mod\u00fcl\u00fcn\u00fcz\u00fc, tekrar ilk al\u0131nd\u0131\u011f\u0131 haline getirebilirsiniz.<br \/>\n<a href=\"https:\/\/www.mikrobotik.com\/wp2\/2019\/03\/25\/esp8266-01-sdk-ve-nodemcu-flash-program-yukleme-2\/\" target=\"_blank\" rel=\"noopener noreferrer\"><strong>SDK program\u0131 y\u00fcklemek i\u00e7in bu linkten yard\u0131m alabilirsiniz.<\/strong><\/a><\/p>\n<p>ESP mod\u00fcl\u00fcn\u00fc programlarken, Arduino \u0130DE program\u0131nda \u00a0Dosya men\u00fcs\u00fcnde Tercihler k\u0131sm\u0131n\u0131 se\u00e7erek ESP kart\u0131n\u0131 kullanaca\u011f\u0131m\u0131z\u0131 bildirmek i\u00e7in a\u015fa\u011f\u0131daki gibi kart\u0131m\u0131z\u0131 buraya yazmam\u0131z gerek.<br \/>\n<span style=\"color: #ff6600;\">Yaz\u0131lmas\u0131 gereken sat\u0131r :\u00a0<\/span><br \/>\n<strong>http:\/\/arduino.esp8266.com\/stable\/package_esp8266com_index.json<\/strong><\/p>\n<p><a href=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/02\/1arduino_tercihler.jpg\" rel=\"lightbox[1642]\"><img decoding=\"async\" class=\"lightbox aligncenter wp-image-1647 size-full lazyload\" data-src=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/02\/1arduino_tercihler.jpg\" alt=\"\" width=\"1280\" height=\"734\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1280px; --smush-placeholder-aspect-ratio: 1280\/734;\" \/><\/a><\/p>\n<p>Bu sat\u0131r\u0131 yazd\u0131ktan sonra, Ara\u00e7lar \/ Kart se\u00e7imine gidip KART Y\u00d6NET\u0130C\u0130S\u0130N\u0130 se\u00e7meniz gerek, yeni kartlar\u0131n k\u00fct\u00fcphanelerinin y\u00fcklenmesini sa\u011flamal\u0131y\u0131z. A\u015fa\u011f\u0131daki ekrandaki gibi XP i\u00e7in ben 2.5.0 olan versiyonu y\u00fckledim. Sizler yeni versiyon windows kullan\u0131yorsan\u0131z son versiyonu se\u00e7ip y\u00fckleyebilirsiniz.<\/p>\n<p><a href=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/02\/arduino_esp_kart_yukle.jpg\" rel=\"lightbox[1642]\"><img decoding=\"async\" class=\"lightbox aligncenter wp-image-1648 size-full lazyload\" data-src=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/02\/arduino_esp_kart_yukle.jpg\" alt=\"\" width=\"1280\" height=\"773\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1280px; --smush-placeholder-aspect-ratio: 1280\/773;\" \/><\/a><\/p>\n<p>Daha sonra ise Kart se\u00e7imini yine Ara\u00e7lar \/ KART k\u0131sm\u0131ndan Generic ESP8266 Module&#8217;\u00fc se\u00e7meniz gerekir. Bunu da se\u00e7tikten sonra KART AYARLARINDA de\u011fi\u015fiklik yapman\u0131z gerek. Bunun Flash mode ve RESET method k\u0131sm\u0131 \u00f6nemli bunlar haberle\u015fme ile ilgili. Resimdeki gibi de\u011fi\u015ftirmeniz gerekir.<\/p>\n<p><a href=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/02\/arduino_programmer.jpg\" rel=\"lightbox[1642]\"><img decoding=\"async\" class=\"lightbox aligncenter wp-image-1649 size-full lazyload\" data-src=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/02\/arduino_programmer.jpg\" alt=\"\" width=\"1280\" height=\"771\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1280px; --smush-placeholder-aspect-ratio: 1280\/771;\" \/><\/a><br \/>\n<strong><span style=\"color: #ff6600;\">ESP mod\u00fcl\u00fcn haf\u0131za kapasitesi nas\u0131l bulunacak.<\/span><\/strong> Bu k\u0131s\u0131mda size yard\u0131mc\u0131 olacak bir program var.\u00a0<span style=\"color: #ff6600;\">check_flash_config <\/span>\u00a0Bu program ile kart\u0131n\u0131z\u0131n kapasitesini g\u00f6rebilirsiniz. Program kart ile haberle\u015ferek gerekli bilgileri al\u0131r ve size g\u00f6sterir. Normalde siyah pcb li ESP8266-01 mod\u00fcl\u00fc kullan\u0131yorsan\u0131z 1Mbyte olarak se\u00e7ebilirsiniz. Ne yazarsan\u0131z yaz\u0131n bu program\u0131 kulland\u0131\u011f\u0131n\u0131zda sizin do\u011fru veya yanl\u0131\u015f se\u00e7im yapt\u0131\u011f\u0131n\u0131z\u0131 g\u00f6steriyor. Ayr\u0131ca se\u00e7meniz gereken k\u0131sm\u0131 da size g\u00f6steriyor. SPIFFS ile haf\u0131za k\u0131sm\u0131 ayr\u0131l\u0131yor. <span style=\"color: #ff6600;\">Bu k\u0131s\u0131m biraz daha ilerledi\u011finizde gerekli olabilecektir.<\/span> \u00c7\u00fcnk\u00fc ESP mod\u00fcl\u00fcn\u00fczde bulunan spi haf\u0131za entegresinde dosya sistemi i\u00e7in bir yer ayr\u0131lmaktad\u0131r. Bu dosya sistemi ileride webserver gibi programlar yaparken laz\u0131m olacakt\u0131r. Mesela HTML dosyas\u0131n\u0131 basit olarak program i\u00e7erisine yaz\u0131yoruz. Bu \u015fekilde haf\u0131zay\u0131 t\u00fcketmi\u015f oluyoruz. Bunu yapmak yerine spi dosya sistemini kullanarak html sayfalar\u0131m\u0131z\u0131 dosya olarak oraya koyar\u0131z ve sadece program i\u00e7erisinden \u00e7a\u011f\u0131r\u0131r\u0131z. Bu \u015fekilde programlama haf\u0131zam\u0131z dolmayacakt\u0131r.<br \/>\n<span style=\"color: #ff6600;\">SPIFFS ( SPI FLASH FILE SYSTEM : SPI flash haf\u0131zada tutulan dosya sistemi )<\/span><br \/>\nBu k\u0131sm\u0131 \u015fimdilik benim se\u00e7ti\u011fim gibi <strong><span style=\"color: #ff6600;\">NO SPIFFS<\/span><\/strong> olarak se\u00e7ebilirsiniz.<br \/>\nBuradaki linkten ayr\u0131nt\u0131l\u0131 bilgi alabilirsiniz.<br \/>\n<a href=\"https:\/\/tttapa.github.io\/ESP8266\/Chap11%20-%20SPIFFS.html\" target=\"_blank\" rel=\"noopener noreferrer\"><strong>https:\/\/tttapa.github.io\/ESP8266\/Chap11%20-%20SPIFFS.html<\/strong><\/a><\/p>\n<p>Buraya kadar her \u015feyi yapt\u0131ysan\u0131z\u00a0<span style=\"color: #ff6600;\">check_flash_config <\/span>\u00a0Program\u0131n\u0131 IDE ye y\u00fckleyip ESP ye yollayabilirsiniz. Program \u00e7al\u0131\u015ft\u0131\u011f\u0131nda seri monit\u00f6rde gerekli bilgileri g\u00f6rebilirsiniz.<br \/>\nD\u00fczeltmeleri yap\u0131p tekrar kontrol edin. Art\u0131k sizin parametreleriniz bunlard\u0131r. <span style=\"color: #ff6600;\">Bir kopyas\u0131n\u0131 al\u0131n derim.<\/span><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">\/*\r\n  ESP8266 CheckFlashConfig by Markus Sattler\r\n  This sketch tests if the EEPROM settings of the IDE match to the Hardware\r\n*\/\r\n\r\nvoid setup(void) {\r\n  Serial.begin(115200);\r\n}\r\n\r\nvoid loop() {\r\n\r\n  uint32_t realSize = ESP.getFlashChipRealSize();\r\n  uint32_t ideSize = ESP.getFlashChipSize();\r\n  FlashMode_t ideMode = ESP.getFlashChipMode();\r\n\r\n  Serial.printf(\"Flash real id:   %08X\\n\", ESP.getFlashChipId());\r\n  Serial.printf(\"Flash real size: %u bytes\\n\\n\", realSize);\r\n\r\n  Serial.printf(\"Flash ide  size: %u bytes\\n\", ideSize);\r\n  Serial.printf(\"Flash ide speed: %u Hz\\n\", ESP.getFlashChipSpeed());\r\n  Serial.printf(\"Flash ide mode:  %s\\n\", (ideMode == FM_QIO ? \"QIO\" : ideMode == FM_QOUT ? \"QOUT\" : ideMode == FM_DIO ? \"DIO\" : ideMode == FM_DOUT ? \"DOUT\" : \"UNKNOWN\"));\r\n\r\n  if (ideSize != realSize) {\r\n    Serial.println(\"Flash Chip configuration wrong!\\n\");\r\n  } else {\r\n    Serial.println(\"Flash Chip configuration ok.\\n\");\r\n  }\r\n\r\n  delay(5000);\r\n}<\/pre>\n<p>&nbsp;<\/p>\n<p>Bu programdan sonra art\u0131k me\u015fhur blink program\u0131n\u0131 y\u00fckleyebiliriz. Tabii ki bu program arduino ledine g\u00f6re yaz\u0131ld\u0131\u011f\u0131ndan ve ESP-01 mod\u00fcl\u00fcn\u00fcn b\u00f6yle bir led&#8217;i olmad\u0131\u011f\u0131ndan LED BUILTIN komutunu port numaras\u0131na g\u00f6re de\u011fi\u015ftirmeniz gerekir. Benim mod\u00fclde \u00e7al\u0131\u015fabilecek tek led seri haberle\u015fme ledidir. Bu da gpio -1 e ba\u011fl\u0131 oldu\u011fundan buraya ekledi\u011fim program seri port ledinin istedi\u011fimiz s\u00fcrede yan\u0131p s\u00f6nmesini sa\u011flayacakt\u0131r.<br \/>\nProgramda Seri port sat\u0131rlar\u0131 iptal edilmi\u015ftir. \u00c7\u00fcnk\u00fc benim mod\u00fclde seri port ledinin yan\u0131p s\u00f6nmesi gerekiyordu. Seri port sat\u0131rlar\u0131n\u0131 a\u00e7m\u0131\u015f oldu\u011fumda \u00e7ak\u0131\u015fma s\u00f6z konusu oluyordu. Sizin mod\u00fcl\u00fcn\u00fczde ba\u015fka bir led varsa program\u0131n\u0131z\u0131 ona g\u00f6re ayarlarsan\u0131z. Siz bu sat\u0131rlar\u0131 a\u00e7arsan\u0131z seri monit\u00f6rde Ledin durumuyla senkronize olarak\u00a0LED ON ve LED OFF kelimelerini g\u00f6receksiniz.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">\/*\r\n ESP8266 Blink by Simon Peter\r\n Blink the blue LED on the ESP-01 module\r\n This example code is in the public domain\r\n \r\n The blue LED on the ESP-01 module is connected to GPIO1 \r\n (which is also the TXD pin; so we cannot use Serial.print() at the same time)\r\n \r\n Note that this sketch uses LED_BUILTIN to find the pin with the internal LED\r\n*\/\r\n\r\nvoid setup() {\r\n  pinMode(1, OUTPUT);     \/\/ Initialize the LED_BUILTIN pin as an output\r\n  \/\/Serial.begin(115200);\r\n}\r\n\r\n\/\/ the loop function runs over and over again forever\r\nvoid loop() {\r\n  digitalWrite(1, LOW);   \/\/ Turn the LED on (Note that LOW is the voltage level\r\n                                    \/\/ but actually the LED is on; this is because \r\n                                    \/\/ it is acive low on the ESP-01)\r\n  delay(3000);                      \/\/ Wait for a second\r\n  \/\/Serial.println(\"led off\");\r\n  delay(250);                      \/\/ Wait for one-quarter of second\r\n\r\n  digitalWrite(1, HIGH);  \/\/ Turn the LED off by making the voltage HIGH\r\n  delay(3000);                      \/\/ Wait for two seconds (to demonstrate the active low LED)\r\n  \/\/Serial.println(\"led on\");\r\n  delay(250);                      \/\/ Wait for one-quarter of second\r\n}<\/pre>\n<p>&nbsp;<\/p>\n<p>Bu programlar\u0131 \u00e7al\u0131\u015ft\u0131rarak denemeye ba\u015flam\u0131\u015f olacaks\u0131n\u0131z. Burada \u015funu da s\u00f6ylemeliyim. \u015eayet her\u015fey do\u011fru bir \u015fekilde gittiyse IDE ekran\u0131nda programlarken bu \u015fekilde bir g\u00f6r\u00fcnt\u00fc \u00e7\u0131kmal\u0131. Buradaki y\u00fczdeler program\u0131n ne kadar\u0131 ESP ye yolland\u0131 onu g\u00f6sterir. \u015eayet bunu g\u00f6remeden tak\u0131l\u0131yorsa hata vermi\u015f olabilir ya da ba\u015fka bir sorun olabilir. <span style=\"color: #ff6600;\">\u015eunu da s\u00f6ylemeliyim ki, Arduinoya g\u00f6ndermek kadar h\u0131zl\u0131 olmayacak. Biraz beklemeniz gerek hemen tak\u0131ld\u0131\u011f\u0131n\u0131 d\u00fc\u015f\u00fcnmeyin.\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/02\/programlamasonuc.jpg\" rel=\"lightbox[1642]\"><img decoding=\"async\" class=\"lightbox aligncenter wp-image-1651 size-full lazyload\" data-src=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/02\/programlamasonuc.jpg\" alt=\"\" width=\"1280\" height=\"245\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1280px; --smush-placeholder-aspect-ratio: 1280\/245;\" \/><\/a><\/p>\n<p>Buraya kadar da arduino ile ESP programlamaya bakt\u0131k. Peki ESP kart\u0131m\u0131z\u0131 nas\u0131l arduinoya ba\u011flayaca\u011f\u0131z. Bunu da resimlerde g\u00f6rd\u00fc\u011f\u00fcn\u00fcz gibi USB seri \u00e7evirici olarak ba\u011flaman\u0131z gerek.<br \/>\n<span style=\"color: #ff0000;\"><strong>Arduino<\/strong><\/span> \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <span style=\"color: #ff0000;\"><strong>\u00a0ESP<\/strong><\/span><br \/>\n3V3 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a03V3 pim<br \/>\nGND \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 GND pim<br \/>\nTx ( dijital pin 0) \u00a0Rx pim<br \/>\nRx (dijital pin 1) \u00a0Tx Pim.<\/p>\n<p>Bu \u015fekilde ba\u011flaman\u0131z yeter. Fakat ESP nin kendi i\u00e7inde de ba\u011flaman\u0131z gereken u\u00e7lar var. Bunu da a\u015fa\u011f\u0131daki \u015femadan g\u00f6rebilirsiniz. Foto\u011fraflarda g\u00f6rd\u00fc\u011f\u00fcn\u00fcz PCB nin devre \u015femas\u0131 ve ba\u011flant\u0131 \u015femas\u0131 a\u015fa\u011f\u0131dad\u0131r.<br \/>\n<a href=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/02\/20200224_160328.jpg\" rel=\"lightbox[1642]\"><img decoding=\"async\" class=\"lightbox aligncenter wp-image-1653 size-full lazyload\" data-src=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/02\/20200224_160328.jpg\" alt=\"\" width=\"1651\" height=\"960\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1651px; --smush-placeholder-aspect-ratio: 1651\/960;\" \/><\/a><a href=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/02\/20200224_160341.jpg\" rel=\"lightbox[1642]\"><br \/>\n<img decoding=\"async\" class=\"lightbox aligncenter wp-image-1654 size-full lazyload\" data-src=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/02\/20200224_160341.jpg\" alt=\"\" width=\"1651\" height=\"1238\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1651px; --smush-placeholder-aspect-ratio: 1651\/1238;\" \/><\/a>Yukar\u0131daki resimde ye\u015fil breadboard \u00fczerinde 3.3V seviye d\u00f6n\u00fc\u015f\u00fcm\u00fc i\u00e7in diren\u00e7ler vard\u0131r. Bunun sebebi Arduino Tx \u00e7\u0131k\u0131\u015f\u0131 5V tur. Bunun ESP ye direkt uygulanmas\u0131 sorunlara yol a\u00e7abilece\u011finden Tx sinyalinin 3.3V seviyesine d\u00fc\u015f\u00fcr\u00fclmesi gerekir. A\u015fa\u011f\u0131da ise bu k\u0131sm\u0131n \u015femas\u0131 bulunmaktad\u0131r. 2K yerine standart olan 2K2 kullan\u0131labilir. 5V yazan yer Tx pimine ba\u011flanacakt\u0131r. 3.3V yazan yer ise ESP mod\u00fcl\u00fcn Rx pimine ba\u011flanacakt\u0131r.<br \/>\n<img decoding=\"async\" class=\"aligncenter size-full wp-image-1655 lazyload\" data-src=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/02\/voltage-divider-circuit.png\" alt=\"\" width=\"408\" height=\"151\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 408px; --smush-placeholder-aspect-ratio: 408\/151;\" \/><\/p>\n<p>\u015eayet arduino ide kullanacaksan\u0131z ve Arduinonuzu kullanmak yerine FT232RL usb seri \u00e7eviriciyi kullanmak isterseniz yine arduino yerine bu mod\u00fcl\u00fc ba\u011flayabilirsiniz. <span style=\"color: #ff6600;\">Tek fark edecek k\u0131s\u0131m Bendeki FT232RL mod\u00fcl\u00fc 3.3V jumper ile se\u00e7ildi\u011finden aradaki seviye d\u00f6n\u00fc\u015f\u00fcm diren\u00e7lerini koymama gerek yok.<\/span><br \/>\nA\u015fa\u011f\u0131da ba\u011flant\u0131 \u015feklini g\u00f6rebilirsiniz.<br \/>\n<a href=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/02\/20200224_153535.jpg\" rel=\"lightbox[1642]\"><img decoding=\"async\" class=\"lightbox aligncenter wp-image-1652 size-full lazyload\" data-src=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/02\/20200224_153535.jpg\" alt=\"\" width=\"1782\" height=\"708\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1782px; --smush-placeholder-aspect-ratio: 1782\/708;\" \/><\/a><\/p>\n<p><strong><span style=\"color: #ff6600;\">Foto\u011fraflarda g\u00f6rd\u00fc\u011f\u00fcn\u00fcz pcb bu \u015fekildedir.\u00a0<\/span><\/strong><br \/>\n<a href=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/02\/esp_kart1.jpg\" rel=\"lightbox[1642]\"><img decoding=\"async\" class=\"lightbox aligncenter wp-image-1660 size-full lazyload\" data-src=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/02\/esp_kart1.jpg\" alt=\"\" width=\"644\" height=\"474\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 644px; --smush-placeholder-aspect-ratio: 644\/474;\" \/><\/a><\/p>\n<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-1661 lazyload\" data-src=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/02\/esp_kart2.jpg\" alt=\"\" width=\"402\" height=\"301\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 402px; --smush-placeholder-aspect-ratio: 402\/301;\" \/><\/p>\n<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-1659 lazyload\" data-src=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/02\/esp_flash_devre.png\" alt=\"\" width=\"601\" height=\"370\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 601px; --smush-placeholder-aspect-ratio: 601\/370;\" \/><\/p>\n<p>Yukar\u0131daki devrenin benim devremden fark\u0131, gpio-0 ve GPIO-2 ye 10K PULL UP diren\u00e7 ba\u011flanm\u0131\u015ft\u0131r. 5V powerbank tan besledi\u011fim i\u00e7in 3V3 reg. entegresi kullan\u0131lm\u0131\u015ft\u0131r.<br \/>\n<span style=\"color: #ff6600;\"><strong>Bunun d\u0131\u015f\u0131nda yukar\u0131daki ilk resimde PC GND diye bir ifade var.<\/strong><\/span> Bu asl\u0131nda normal GND ucudur. Fakat bazen devreden PC ye bir ak\u0131m ak\u0131\u015f\u0131 olabiliyor. Bunu engellemek i\u00e7in bir diyot ile normal GND ye ba\u011flanm\u0131\u015ft\u0131r. Bu hi\u00e7 de akla yatk\u0131n olmasa da zaman i\u00e7erisinde sinyallerde sorunlar ya\u015fad\u0131\u011f\u0131m i\u00e7in koydum. <strong><span style=\"color: #ff6600;\">Kullanmayabilirsiniz ya da g\u00fcvenli olsun diye kullanabilirsiniz.<\/span><\/strong> <span style=\"color: #ff0000;\"><strong>\u015eunu da unutmamak gerekir<\/strong><\/span>. Arduino ile bu pcb yi kulland\u0131\u011f\u0131mda diyot \u00fczerinde kalan gerilim sorun yaratt\u0131\u011f\u0131ndan, <strong><span style=\"color: #ff6600;\">Arduino ile kullan\u0131ld\u0131\u011f\u0131nda normal GND u\u00e7lar\u0131n\u0131 kullanmak zorunda kald\u0131m.<\/span><\/strong> FT232RL kart\u0131nda sorunsuz olarak PCGND ucu \u00e7al\u0131\u015fmaktad\u0131r.<\/p>\n<p>PCB de seviye d\u00f6n\u00fc\u015f\u00fcm yap\u0131lmad\u0131\u011f\u0131ndan Arduino ile kullan\u0131ld\u0131\u011f\u0131nda Arduinonun TX ucundan \u00e7\u0131kan sinyali 3V3 seviye d\u00f6n\u00fc\u015f\u00fcm\u00fcnden ge\u00e7irmeniz gerekir. FT232RL mod\u00fcl\u00fc kulland\u0131\u011f\u0131mdan ve 3V3 pcb \u00fczerinde jumper ile ayr\u0131ld\u0131\u011f\u0131ndan sorun te\u015fkil etmedi.<\/p>\n<p><span style=\"color: #ff6600;\">Bunlar\u0131n d\u0131\u015f\u0131nda dikkat etmemiz gereken ba\u011flant\u0131 ise arduino veya usb seri \u00e7evirici mod\u00fclden al\u0131nan 3V3 gerilimdir. 3V3 gerilimin, ESP nin ak\u0131m\u0131n\u0131 kar\u015f\u0131layamad\u0131\u011f\u0131 ve bir s\u00fcre sonra ESP nin RESET durumuna ge\u00e7ti\u011fi g\u00f6r\u00fclmektedir. . Bunu engellemek i\u00e7in, \u00a05V powerbank kulland\u0131m. Tabii ki GND si PCB GND si ile birle\u015ftirildi\u011finden sorun yaratmad\u0131.<\/span><\/p>\n<p><span style=\"color: #0000ff;\"><span style=\"color: #ff00ff;\">Son \u015femada NORMAL \/ FLASH anahtar\u0131 vard\u0131r. Arduinodan program y\u00fcklerken bu anahtar FLASH k\u0131sm\u0131nda olacak. Program y\u00fckleme bitince bu anahtar a\u00e7\u0131l\u0131p NORMAL k\u0131sma al\u0131nacak. Her y\u00fcklemede bu i\u015flem yap\u0131lacakt\u0131r. \u0130lk y\u00fckledi\u011finizde FLASH konumundayken BLINK program\u0131n\u0131n \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 g\u00f6receksiniz. Bu ancak enerji kesilip tekrar verilesiye kadar ge\u00e7erlidir. \u0130lk enerji verdi\u011finizde FLASH konumundaysa sizden y\u00fckleme bekliyor demektir. Bundan dolay\u0131 da BLINK program\u0131n\u0131 \u00e7al\u0131\u015ft\u0131rmayacakt\u0131r. Unuttu\u011funuzda, Normal konuma alman\u0131z da yetmeyebilir. Normal konuma al\u0131p RESET&#8217;e basman\u0131z ya da enerjiyi kesmeniz gerekebilir.\u00a0<\/span>\u00a0<\/span><\/p>\n<p>Her y\u00fcklemeden \u00f6nce <span style=\"color: #ff0000;\">RESET<\/span> butonuna bir kez basman\u0131z iyi olacakt\u0131r. Bu konuda sorun ya\u015famad\u0131m ama baz\u0131 arkada\u015flar ya\u015fayabilir.<\/p>\n<p><a href=\"https:\/\/drive.google.com\/open?id=178kb5CByONXtipIO67kyOZGXhDelK92h\" target=\"_blank\" rel=\"noopener noreferrer\"><strong>T\u00fcm dosyalara buradan ula\u015fabilirsiniz.\u00a0<\/strong><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bu yaz\u0131mda, uzun zamand\u0131r denemek istedi\u011fim bir \u00e7al\u0131\u015fman\u0131n sonucunu aktarmaya \u00e7al\u0131\u015faca\u011f\u0131m. Bir\u00e7ok Arduino kullanan ki\u015fi belki de bunu biliyordur. Ben uzun zamand\u0131r FT232RL kullan\u0131yorum. Uzun zamand\u0131r da ESP8266-01 mod\u00fcl\u00fcn\u00fc FT232RL&#8230; <\/p>\n","protected":false},"author":1,"featured_media":1666,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,7],"tags":[],"class_list":["post-1642","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arduino","category-esp"],"_links":{"self":[{"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/posts\/1642","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=1642"}],"version-history":[{"count":4,"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/posts\/1642\/revisions"}],"predecessor-version":[{"id":2396,"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/posts\/1642\/revisions\/2396"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/media\/1666"}],"wp:attachment":[{"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/media?parent=1642"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/categories?post=1642"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/tags?post=1642"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}