{"id":2568,"date":"2025-06-02T09:31:37","date_gmt":"2025-06-02T06:31:37","guid":{"rendered":"https:\/\/www.aydiner.gen.tr\/?p=2568"},"modified":"2025-06-12T22:25:59","modified_gmt":"2025-06-12T19:25:59","slug":"arduino-cizgi-izleyen-robot","status":"publish","type":"post","link":"https:\/\/www.aydiner.gen.tr\/index.php\/2025\/06\/02\/arduino-cizgi-izleyen-robot\/","title":{"rendered":"Arduino \u00c7izgi \u0130zleyen Robot"},"content":{"rendered":"<pre class=\"brush: php; title: ; notranslate\" title=\"\">\r\n\/\/ ------------------------\r\n\/\/ PIN TANIMLARI\r\n\/\/ ------------------------\r\n\r\n\/\/ \u00c7izgi sens\u00f6r pinleri\r\nconst int solPin = 2;\r\nconst int ortaPin = 3;\r\nconst int sagPin = 4;\r\n\r\n\/\/ Motor kontrol pinleri (PWM destekli)\r\nconst int ENA = 5;   \/\/ Sa\u011f motor h\u0131z\r\nconst int IN1 = 7;   \/\/ Sa\u011f motor y\u00f6n\r\nconst int IN2 = 6;\r\n\r\nconst int ENB = 9;   \/\/ Sol motor h\u0131z\r\nconst int IN3 = 11;  \/\/ Sol motor y\u00f6n\r\nconst int IN4 = 10;\r\n\r\n\/\/ ------------------------\r\n\/\/ AYARLAR\r\n\/\/ ------------------------\r\nint motorHiziSag = 100; \/\/ Sol motor h\u0131z\u0131 (0-255)en d\u00fc\u015f\u00fck 65 olabilir\r\nint motorHiziSol = 100; \/\/ Sa\u011f motor h\u0131z\u0131 (0-255)EN d\u00fc\u015f\u00fck 55\r\n\r\nvoid setup() {\r\n  \/\/ Sens\u00f6r pinlerini giri\u015f olarak ayarla\r\n  pinMode(solPin, INPUT);\r\n  pinMode(ortaPin, INPUT);\r\n  pinMode(sagPin, INPUT);\r\n\r\n  \/\/ Motor pinlerini \u00e7\u0131k\u0131\u015f olarak ayarla\r\n  pinMode(ENA, OUTPUT);\r\n  pinMode(IN1, OUTPUT);\r\n  pinMode(IN2, OUTPUT);\r\n\r\n  pinMode(ENB, OUTPUT);\r\n  pinMode(IN3, OUTPUT);\r\n  pinMode(IN4, OUTPUT);\r\n\r\n  \/\/ Seri haberle\u015fmeyi ba\u015flat\r\n  Serial.begin(9600);\r\n}\r\n\r\nvoid loop() {\r\n  \/\/ Sens\u00f6rlerden veri oku\r\n  int sol = !digitalRead(solPin);\r\n  int orta = !digitalRead(ortaPin);\r\n  int sag = !digitalRead(sagPin);\r\n\r\n  \/\/ Seri Monit\u00f6r&#039;e yazd\u0131r\r\n  Serial.print(&quot;Sol: &quot;);\r\n  Serial.print(sol);\r\n  Serial.print(&quot; | Orta: &quot;);\r\n  Serial.print(orta);\r\n  Serial.print(&quot; | Sag: &quot;);\r\n  Serial.println(sag);\r\n\r\n  \/\/ Sens\u00f6rlere g\u00f6re karar ver\r\n  if (orta == 0 &amp;&amp; sol == 1 &amp;&amp; sag == 1) {\r\n    ileri();\r\n  } \r\n  else if (sol == 0 &amp;&amp; orta == 1 &amp;&amp; sag == 1) {\r\n    solaDon();\r\n  } \r\n  else if (sag == 0 &amp;&amp; orta == 1 &amp;&amp; sol == 1) {\r\n    sagaDon();\r\n  }\r\n  else if (sol == 0 &amp;&amp; orta == 0 &amp;&amp; sag == 1) {\r\n    sagaKeskin();\r\n  }\r\n  else if (sol == 1 &amp;&amp; orta == 0 &amp;&amp; sag == 0) {\r\n    solaKeskin();\r\n  }\r\n  else if (sol == 0 &amp;&amp; orta == 0 &amp;&amp; sag == 0) {\r\n    ileri(); \/\/ geni\u015f \u00e7izgi olabilir\r\n  } \r\n  else {\r\n    dur(); \/\/ \u00e7izgi kaybolduysa\r\n  }\r\n\r\n  delay(10);\r\n}\r\n\r\n\/\/ ------------------------\r\n\/\/ MOTOR FONKS\u0130YONLARI\r\n\/\/ ------------------------\r\n\r\nvoid ileri() {\r\n  analogWrite(ENA, motorHiziSag);\r\n  analogWrite(ENB, motorHiziSol);\r\n  digitalWrite(IN1, HIGH);\r\n  digitalWrite(IN2, LOW);\r\n  digitalWrite(IN3, HIGH);\r\n  digitalWrite(IN4, LOW);\r\n}\r\n\r\nvoid solaDon() {\r\n  analogWrite(ENA, 85);  \/\/ sol yava\u015f\r\n  analogWrite(ENB, 0);      \/\/ sa\u011f normal\r\n  digitalWrite(IN1, HIGH);\r\n  digitalWrite(IN2, LOW);\r\n  digitalWrite(IN3, HIGH);\r\n  digitalWrite(IN4, LOW);\r\n}\r\n\r\nvoid sagaDon() {\r\n  analogWrite(ENA, 0);      \/\/ sol normal\r\n  analogWrite(ENB, 85);  \/\/ sa\u011f yava\u015f\r\n  digitalWrite(IN1, HIGH);\r\n  digitalWrite(IN2, LOW);\r\n  digitalWrite(IN3, HIGH);\r\n  digitalWrite(IN4, LOW);\r\n}\r\n\r\nvoid solaKeskin() {\r\n  analogWrite(ENA, 0);                     \/\/ sol durur\r\n  analogWrite(ENB, 85);          \/\/ sa\u011f d\u00f6ner\r\n  digitalWrite(IN1, LOW);\r\n  digitalWrite(IN2, LOW);\r\n  digitalWrite(IN3, HIGH);\r\n  digitalWrite(IN4, LOW);\r\n}\r\n\r\nvoid sagaKeskin() {\r\n  analogWrite(ENA, 85);          \/\/ sol d\u00f6ner\r\n  analogWrite(ENB, 0);                     \/\/ sa\u011f durur\r\n  digitalWrite(IN1, HIGH);\r\n  digitalWrite(IN2, LOW);\r\n  digitalWrite(IN3, LOW);\r\n  digitalWrite(IN4, LOW);\r\n}\r\n\r\nvoid dur() {\r\n  analogWrite(ENA, 0);\r\n  analogWrite(ENB, 0);\r\n  digitalWrite(IN1, LOW);\r\n  digitalWrite(IN2, LOW);\r\n  digitalWrite(IN3, LOW);\r\n  digitalWrite(IN4, LOW);\r\n}\r\n\r\n<\/pre>\n<p><a href=\"https:\/\/www.aydiner.gen.tr\/wp-content\/uploads\/2025\/06\/MVIMG_20250602_091924-scaled.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-medium wp-image-2572\" src=\"https:\/\/www.aydiner.gen.tr\/wp-content\/uploads\/2025\/06\/MVIMG_20250602_091924-225x300.jpg\" alt=\"\" width=\"225\" height=\"300\" srcset=\"https:\/\/www.aydiner.gen.tr\/wp-content\/uploads\/2025\/06\/MVIMG_20250602_091924-225x300.jpg 225w, https:\/\/www.aydiner.gen.tr\/wp-content\/uploads\/2025\/06\/MVIMG_20250602_091924-768x1024.jpg 768w, https:\/\/www.aydiner.gen.tr\/wp-content\/uploads\/2025\/06\/MVIMG_20250602_091924-1152x1536.jpg 1152w, https:\/\/www.aydiner.gen.tr\/wp-content\/uploads\/2025\/06\/MVIMG_20250602_091924-1536x2048.jpg 1536w, https:\/\/www.aydiner.gen.tr\/wp-content\/uploads\/2025\/06\/MVIMG_20250602_091924-scaled.jpg 1920w\" sizes=\"auto, (max-width: 225px) 100vw, 225px\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\/\/ &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; \/\/ PIN TANIMLARI \/\/ &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; \/\/ \u00c7izgi sens\u00f6r pinleri const int solPin = 2; const int ortaPin = [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2572,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8,202],"tags":[24,246],"class_list":["post-2568","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ino","category-robotik","tag-arduino","tag-cizgi-izleyen-robot"],"_links":{"self":[{"href":"https:\/\/www.aydiner.gen.tr\/index.php\/wp-json\/wp\/v2\/posts\/2568","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=2568"}],"version-history":[{"count":5,"href":"https:\/\/www.aydiner.gen.tr\/index.php\/wp-json\/wp\/v2\/posts\/2568\/revisions"}],"predecessor-version":[{"id":2575,"href":"https:\/\/www.aydiner.gen.tr\/index.php\/wp-json\/wp\/v2\/posts\/2568\/revisions\/2575"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.aydiner.gen.tr\/index.php\/wp-json\/wp\/v2\/media\/2572"}],"wp:attachment":[{"href":"https:\/\/www.aydiner.gen.tr\/index.php\/wp-json\/wp\/v2\/media?parent=2568"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.aydiner.gen.tr\/index.php\/wp-json\/wp\/v2\/categories?post=2568"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.aydiner.gen.tr\/index.php\/wp-json\/wp\/v2\/tags?post=2568"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}