{"id":2554,"date":"2025-04-22T14:09:42","date_gmt":"2025-04-22T11:09:42","guid":{"rendered":"https:\/\/www.aydiner.gen.tr\/?p=2554"},"modified":"2025-04-22T14:12:36","modified_gmt":"2025-04-22T11:12:36","slug":"engelden-kacan-robot","status":"publish","type":"post","link":"https:\/\/www.aydiner.gen.tr\/index.php\/2025\/04\/22\/engelden-kacan-robot\/","title":{"rendered":"Engelden Ka\u00e7an Robot"},"content":{"rendered":"<pre class=\"brush: php; title: ; notranslate\" title=\"\">\r\n\r\n#define echoPin 12 \/\/Ultrasonik sens\u00f6r\u00fcn echo pini Arduino&#039;nun 12.pinine\r\n#define trigPin 13 \/\/Ultrasonik sens\u00f6r\u00fcn trig pini Arduino&#039;nun 13.pinine tan\u0131mland\u0131.\r\n#define MotorR1 7\r\n#define MotorR2 6\r\n#define MotorRE 9 \/\/ Motor pinlerini tan\u0131ml\u0131yoruz.\r\n#define MotorL1 5\r\n#define MotorL2 4\r\n#define MotorLE 3\r\nlong sure, uzaklik; \/\/s\u00fcre ve uzakl\u0131k diye iki de\u011fi\u015fken tan\u0131ml\u0131yoruz.\r\nvoid setup() {\r\n\/\/ ultrasonik sens\u00f6r Trig pininden ses dalgalar\u0131 g\u00f6nderdi\u011fi i\u00e7in OUTPUT (\u00c7\u0131k\u0131\u015f),\r\n\/\/ bu dalgalar\u0131 Echo pini ile geri ald\u0131\u011f\u0131 i\u00e7in INPUT (Giri\u015f) olarak tan\u0131mlan\u0131r.\r\npinMode(echoPin, INPUT);\r\npinMode(trigPin, OUTPUT);\r\npinMode(MotorL1, OUTPUT);\r\npinMode(MotorL2, OUTPUT);\r\npinMode(MotorLE, OUTPUT); \/\/Motorlar\u0131m\u0131z\u0131 \u00e7\u0131k\u0131\u015f olarak tan\u0131ml\u0131yoruz.\r\npinMode(MotorR1, OUTPUT);\r\npinMode(MotorR2, OUTPUT);\r\npinMode(MotorRE, OUTPUT);\r\nSerial.begin(9600);\r\n}\r\nvoid loop() {\r\ndigitalWrite(trigPin, LOW); \/\/sens\u00f6r pasif hale getirildi\r\ndelayMicroseconds(5);\r\ndigitalWrite(trigPin, HIGH); \/\/Sensore ses dalgas\u0131n\u0131n \u00fcretmesi i\u00e7in emir verildi\r\ndelayMicroseconds(10);\r\ndigitalWrite(trigPin, LOW); \/\/Yeni dalgalar\u0131n \u00fcretilmemesi i\u00e7in trig pini LOW konumuna getirildi\r\nsure = pulseIn(echoPin, HIGH,30000); \/\/ses dalgas\u0131n\u0131n geri d\u00f6nmesi i\u00e7in ge\u00e7en sure \u00f6l\u00e7\u00fcl\u00fcyor\r\nuzaklik = sure \/ 29.1 \/ 2; \/\/\u00f6l\u00e7\u00fclen s\u00fcre uzakl\u0131\u011fa \u00e7evriliyor\r\n\r\n\r\n\r\n\r\nSerial.println(uzaklik);\r\nif (uzaklik &lt; 15) \/\/ Uzakl\u0131k 15&#039;den k\u00fc\u00e7\u00fck ise,\r\n{\r\ngeri(); \/\/ 150 ms geri git\r\ndelay(150);\r\nsag(); \/\/ 250 ms sa\u011fa d\u00f6n\r\ndelay(250);\r\n}\r\nelse { \/\/ de\u011fil ise,\r\nileri(); \/\/ ileri git\r\n}\r\n}\r\nvoid ileri(){ \/\/ Robotun ileri y\u00f6nde hareketi i\u00e7in fonksiyon tan\u0131ml\u0131yoruz.\r\ndigitalWrite(MotorR1, HIGH); \/\/ Sa\u011f motorun ileri hareketi aktif\r\ndigitalWrite(MotorR2, LOW); \/\/ Sa\u011f motorun geri hareketi pasif\r\nanalogWrite(MotorRE, 100); \/\/ Sa\u011f motorun h\u0131z\u0131 150\r\ndigitalWrite(MotorL1, HIGH); \/\/ Sol motorun ileri hareketi aktif\r\ndigitalWrite(MotorL2, LOW); \/\/ Sol motorun geri hareketi pasif\r\nanalogWrite(MotorLE, 100); \/\/ Sol motorun h\u0131z\u0131 150\r\n}\r\nvoid sag(){ \/\/ Robotun sa\u011fa d\u00f6nme hareketi i\u00e7in fonksiyon tan\u0131ml\u0131yoruz.\r\ndigitalWrite(MotorR1, HIGH); \/\/ Sa\u011f motorun ileri hareketi aktif\r\ndigitalWrite(MotorR2, LOW); \/\/ Sa\u011f motorun geri hareketi pasif\r\nanalogWrite(MotorRE, 0); \/\/ Sa\u011f motorun h\u0131z\u0131 0 (Motor duruyor)\r\ndigitalWrite(MotorL1, HIGH); \/\/ Sol motorun ileri hareketi aktif\r\ndigitalWrite(MotorL2, LOW); \/\/ Sol motorun geri hareketi pasif\r\nanalogWrite(MotorLE, 100); \/\/ Sol motorun h\u0131z\u0131 150\r\n}\r\nvoid geri(){ \/\/ Robotun geri y\u00f6nde hareketi i\u00e7in fonksiyon tan\u0131ml\u0131yoruz.\r\ndigitalWrite(MotorR1, LOW); \/\/ Sa\u011f motorun ileri hareketi pasif\r\ndigitalWrite(MotorR2, HIGH); \/\/ Sa\u011f motorun geri hareketi aktif\r\nanalogWrite(MotorRE, 100); \/\/ Sa\u011f motorun h\u0131z\u0131 150\r\ndigitalWrite(MotorL1, LOW); \/\/ Sol motorun ileri hareketi pasif\r\ndigitalWrite(MotorL2, HIGH); \/\/ Sol motorun geri hareketi aktif\r\nanalogWrite(MotorLE, 100); \/\/ Sol motorun h\u0131z\u0131 150\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n<\/pre>\n<p>Pin Tan\u0131mlamalar\u0131:<br \/>\nEcho ve Trig Pinleri: Ultrasonik sens\u00f6r\u00fcn, mesafe \u00f6l\u00e7\u00fcm\u00fcn\u00fc yapabilmesi i\u00e7in Echo pini giri\u015f olarak, Trig pini \u00e7\u0131k\u0131\u015f olarak tan\u0131mlanm\u0131\u015f.<\/p>\n<p>Motor Pinleri: 4 motor pininin her biri belirli y\u00f6nlere g\u00f6re tan\u0131mlanm\u0131\u015f. Ayr\u0131ca motorlar\u0131n h\u0131zlar\u0131n\u0131 ayarlamak i\u00e7in enable pinleri de tan\u0131mlanm\u0131\u015f.<\/p>\n<p>setup() Fonksiyonu:<br \/>\nPinlerin \u00e7\u0131k\u0131\u015f (OUTPUT) ya da giri\u015f (INPUT) olarak ayarland\u0131\u011f\u0131 fonksiyon.<\/p>\n<p>Trig pini \u00e7\u0131k\u0131\u015f olarak ayarland\u0131 \u00e7\u00fcnk\u00fc bu pin ses dalgas\u0131 g\u00f6nderiyor, Echo pini ise geri d\u00f6nen ses dalgas\u0131n\u0131 almak i\u00e7in giri\u015f olarak ayarlanm\u0131\u015f.<\/p>\n<p>loop() Fonksiyonu:<br \/>\nUltrasonik sens\u00f6r okumas\u0131:<\/p>\n<p>digitalWrite(trig, LOW) ve delayMicroseconds(5) ile sens\u00f6r pasif hale getiriliyor.<\/p>\n<p>Sonra digitalWrite(trig, HIGH) ile ses dalgas\u0131 g\u00f6nderiliyor ve hemen ard\u0131ndan digitalWrite(trig, LOW) ile yeni dalga g\u00f6nderilmemesi sa\u011flan\u0131yor.<\/p>\n<p>pulseIn(echo, HIGH) komutu, ses dalgas\u0131n\u0131n geri d\u00f6n\u00fc\u015f s\u00fcresini \u00f6l\u00e7er ve bu s\u00fcreyi mesafeye d\u00f6n\u00fc\u015ft\u00fcrmek i\u00e7in kullan\u0131l\u0131r.<\/p>\n<p>Mesafe, sure \/ 29.1 \/ 2 form\u00fcl\u00fc ile hesaplan\u0131r.<\/p>\n<p>Mesafe De\u011ferlendirmesi:<\/p>\n<p>E\u011fer mesafe 30 cm&#8217;den k\u00fc\u00e7\u00fckse, motorlar belli bir \u015fekilde hareket eder. Engelin etraf\u0131ndan dola\u015fmak i\u00e7in motorlar belli aral\u0131klarla y\u00f6n de\u011fi\u015ftirir. \u00d6nce iki motor da ileri hareket eder, sonra bir motor geri gider ve di\u011fer motor ileri gider.<\/p>\n<p>E\u011fer mesafe 30 cm&#8217;den b\u00fcy\u00fckse, motorlar ileri do\u011fru hareket eder (engelsiz yolda d\u00fcz gitmek i\u00e7in).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>#define echoPin 12 \/\/Ultrasonik sens\u00f6r\u00fcn echo pini Arduino&#039;nun 12.pinine #define trigPin 13 \/\/Ultrasonik sens\u00f6r\u00fcn trig pini Arduino&#039;nun 13.pinine tan\u0131mland\u0131. #define [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2555,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[202],"tags":[244],"class_list":["post-2554","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-robotik","tag-arduino-engelden-kacan-robot"],"_links":{"self":[{"href":"https:\/\/www.aydiner.gen.tr\/index.php\/wp-json\/wp\/v2\/posts\/2554","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.aydiner.gen.tr\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.aydiner.gen.tr\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.aydiner.gen.tr\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.aydiner.gen.tr\/index.php\/wp-json\/wp\/v2\/comments?post=2554"}],"version-history":[{"count":3,"href":"https:\/\/www.aydiner.gen.tr\/index.php\/wp-json\/wp\/v2\/posts\/2554\/revisions"}],"predecessor-version":[{"id":2558,"href":"https:\/\/www.aydiner.gen.tr\/index.php\/wp-json\/wp\/v2\/posts\/2554\/revisions\/2558"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.aydiner.gen.tr\/index.php\/wp-json\/wp\/v2\/media\/2555"}],"wp:attachment":[{"href":"https:\/\/www.aydiner.gen.tr\/index.php\/wp-json\/wp\/v2\/media?parent=2554"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.aydiner.gen.tr\/index.php\/wp-json\/wp\/v2\/categories?post=2554"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.aydiner.gen.tr\/index.php\/wp-json\/wp\/v2\/tags?post=2554"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}