{"id":9099,"date":"2022-12-17T13:11:32","date_gmt":"2022-12-17T10:11:32","guid":{"rendered":"https:\/\/roboromania.ro\/?p=9099"},"modified":"2022-12-17T13:24:52","modified_gmt":"2022-12-17T10:24:52","slug":"robot-de-urmarire-linie-folosind-arduino-si-modulul-l298n-pentru-incepatori","status":"publish","type":"post","link":"https:\/\/roboromania.ro\/?p=9099","title":{"rendered":"Robot de urm\u0103rire linie folosind Arduino \u0219i modulul L298N pentru incep\u0103tori"},"content":{"rendered":"<h4><span style=\"color: #3366ff;\">Robot de urm\u0103rire linie folosind Arduino \u0219i modulul L298N<\/span><br \/>\n<span style=\"color: #3366ff;\">Line Follower Robot Using Arduino And L298N Module<\/span><\/h4>\n<p>Robotul de urm\u0103rire a liniilor este un vehicul automat care urmeaz\u0103 o linie vizual\u0103 neagr\u0103 sau o cale pe o suprafa\u021b\u0103.<br \/>\nFolose\u0219te o linie neagr\u0103 pe o suprafa\u021b\u0103 alb\u0103 sau o linie alb\u0103 pe o suprafa\u021b\u0103 neagr\u0103.<br \/>\nVom \u00eenv\u0103\u021ba cum s\u0103 facem un robot de urm\u0103rire a liniilor folosind Arduino \u0219i modulul de driver de motor L298N.<\/p>\n<p><a href=\"https:\/\/roboromania.ro\/wp-content\/uploads\/2022\/12\/rfl.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-9100\" src=\"https:\/\/roboromania.ro\/wp-content\/uploads\/2022\/12\/rfl-300x200.jpg\" alt=\"rfl\" width=\"300\" height=\"200\" srcset=\"https:\/\/roboromania.ro\/wp-content\/uploads\/2022\/12\/rfl-300x200.jpg 300w, https:\/\/roboromania.ro\/wp-content\/uploads\/2022\/12\/rfl.jpg 750w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p><strong>CUM FUNC\u021aIONEAZ\u0102 ROBOTUL &#8222;LINE FOLLOWER&#8221; ?<\/strong><\/p>\n<p>Conceptul de robot de urm\u0103rire a liniilor este legat de transmiterea \u0219i recep\u021bia luminii. Culoarea alb\u0103 reflect\u0103 toat\u0103 lumina care cade pe ea, \u00een timp ce culoarea neagr\u0103 absoarbe toat\u0103 lumina.<br \/>\n\u00cen acest robot de urm\u0103rire a liniilor, am folosit transmi\u021b\u0103toare \u0219i receptoare IR.<br \/>\nC\u00e2nd lumina IR cade pe o suprafa\u021b\u0103 alb\u0103, este reflectat\u0103 \u00eenapoi c\u0103tre receptorul IR, gener\u00e2nd unele modific\u0103ri de tensiune care sunt analizate de Arduino.<br \/>\nC\u00e2nd lumina IR cade pe o suprafa\u021b\u0103 neagr\u0103, este absorbit\u0103 de suprafa\u021ba neagr\u0103 \u0219i nicio raz\u0103 nu este reflectat\u0103 \u00eenapoi, astfel \u00eenc\u00e2t receptorul IR nu prime\u0219te nicio raz\u0103.<br \/>\n\u00cen acest proiect, c\u00e2nd senzorul IR detecteaz\u0103 o suprafa\u021b\u0103 alb\u0103, starea de intrare Arduino devine HIGH, iar c\u00e2nd detecteaz\u0103 o linie neagr\u0103, devine LOW.<br \/>\nPe baza acestor intr\u0103ri, un Arduino Uno ofer\u0103 ie\u0219irea adecvat\u0103 pentru a controla urm\u0103ritorul de linie.<\/p>\n<p><strong>SCHEMA CIRCUIT ROBOT LINIE FOLLER<\/strong><br \/>\nLINE FOLLOWER ROBOT CIRCUIT DIAGRAM<\/p>\n<p><a href=\"https:\/\/roboromania.ro\/wp-content\/uploads\/2022\/12\/Line-Follower-Circuit-Diagram.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-9101\" src=\"https:\/\/roboromania.ro\/wp-content\/uploads\/2022\/12\/Line-Follower-Circuit-Diagram-300x221.jpg\" alt=\"Line-Follower-Circuit-Diagram\" width=\"300\" height=\"221\" srcset=\"https:\/\/roboromania.ro\/wp-content\/uploads\/2022\/12\/Line-Follower-Circuit-Diagram-300x221.jpg 300w, https:\/\/roboromania.ro\/wp-content\/uploads\/2022\/12\/Line-Follower-Circuit-Diagram.jpg 600w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p><strong>Urma\u021bi acest tabel pentru a v\u0103 face conexiunile.<\/strong><\/p>\n<p>L298N driver Pins &#8211;&gt; Arduino Pins<br \/>\nENA &#8211;&gt; jumper<br \/>\nIN1 &#8211;&gt; D9<br \/>\nIN2 &#8211;&gt; D6<br \/>\nIN3 &#8211;&gt; D5<br \/>\nIN4 &#8211;&gt; D3<br \/>\nENB &#8211;&gt; jumper<\/p>\n<p>Infrared Sensor pins &#8211;&gt; Arduino pins<br \/>\nVcc &#8211;&gt; 5v<br \/>\nGND &#8211;&gt; GND<br \/>\nRight IR sensor OUT &#8211;&gt; D13<br \/>\nLeft IR sensor OUT &#8211;&gt; D12<\/p>\n<p>Pentru modulul de driver de motor L298N, motoarele sunt conectate la bornele de motor ale modulului de driver de motor.<br \/>\nDriverul motorului are alte 3 borne, \u00een care unul este de 12 vol\u021bi conectat la baterie.<br \/>\nTerminalul GND este conectat la borna negativ\u0103 a bateriei \u0219i, de asemenea, este conectat la pinul GND al pl\u0103cii Arduino<br \/>\nSi 5v este conectat la 5v a pl\u0103cii Arduino.<\/p>\n<p><strong>COD ARDUINO PENTRU ROBOT LINE FOLLOWER<\/strong><br \/>\nARDUINO CODE FOR LINE FOLLOWER ROBOT<\/p>\n<p>\/\/ &#8211;&#8211;&#8211;&#8211;&#8211;&#8211;&#8211;&#8211;&#8211;&#8211;&#8211;<br \/>\n\/\/ roboromania.ro<br \/>\n#define MOTOR_SPEED 60<\/p>\n<p>int mot1=9;<br \/>\nint mot2=6;<br \/>\nint mot3=5;<br \/>\nint mot4=3;<br \/>\nint left=13;<br \/>\nint right=12;<br \/>\nint Left=0;<br \/>\nint Right=0;<\/p>\n<p>void LEFT (void);<br \/>\nvoid RIGHT (void);<br \/>\nvoid STOP (void);<\/p>\n<p>void setup() {<br \/>\npinMode(mot1,OUTPUT);<br \/>\npinMode(mot2,OUTPUT);<br \/>\npinMode(mot3,OUTPUT);<br \/>\npinMode(mot4,OUTPUT);<br \/>\npinMode(left,INPUT);<br \/>\npinMode(right,INPUT);<br \/>\ndigitalWrite(left,HIGH);<br \/>\ndigitalWrite(right,HIGH);<br \/>\n}<\/p>\n<p>void loop() {<br \/>\nanalogWrite(mot1,MOTOR_SPEED);<br \/>\nanalogWrite(mot2,0);<br \/>\nanalogWrite(mot3,MOTOR_SPEED);<br \/>\nanalogWrite(mot4,0);<br \/>\nwhile(1) {<br \/>\nLeft=digitalRead(left);<br \/>\nRight=digitalRead(right);<br \/>\nif((Left==0 &amp;&amp; Right==1)==1)<br \/>\nLEFT();<br \/>\nelse if((Right==0 &amp;&amp; Left==1)==1)<br \/>\nRIGHT();<br \/>\n}<br \/>\n}<\/p>\n<p>void LEFT (void) {<br \/>\nanalogWrite(mot3,0);<br \/>\nanalogWrite(mot4,30);<br \/>\nwhile(Left==0) {<br \/>\nLeft=digitalRead(left);<br \/>\nRight=digitalRead(right);<br \/>\nif(Right==0) {<br \/>\nint lprev=Left;<br \/>\nint rprev=Right;<br \/>\nSTOP();<br \/>\nwhile(((lprev==Left)&amp;&amp;(rprev==Right))==1) {<br \/>\nLeft=digitalRead(left);<br \/>\nRight=digitalRead(right);<br \/>\n}<br \/>\n}<br \/>\nanalogWrite(mot1,MOTOR_SPEED);<br \/>\nanalogWrite(mot2,0);<br \/>\n}<br \/>\nanalogWrite(mot3,MOTOR_SPEED);<br \/>\nanalogWrite(mot4,0);<br \/>\n}<\/p>\n<p>void RIGHT (void) {<br \/>\nanalogWrite(mot1,0);<br \/>\nanalogWrite(mot2,30);<br \/>\nwhile(Right==0) {<br \/>\nLeft=digitalRead(left);<br \/>\nRight=digitalRead(right);<br \/>\nif(Left==0) {<br \/>\nint lprev=Left;<br \/>\nint rprev=Right;<br \/>\nSTOP();<br \/>\nwhile(((lprev==Left)&amp;&amp;(rprev==Right))==1) {<br \/>\nLeft=digitalRead(left);<br \/>\nRight=digitalRead(right);<br \/>\n}<br \/>\n}<br \/>\nanalogWrite(mot3,MOTOR_SPEED);<br \/>\nanalogWrite(mot4,0);<br \/>\n}<br \/>\nanalogWrite(mot1,MOTOR_SPEED);<br \/>\nanalogWrite(mot2,0);<br \/>\n}<\/p>\n<p>void STOP (void) {<br \/>\nanalogWrite(mot1,0);<br \/>\nanalogWrite(mot2,0);<br \/>\nanalogWrite(mot3,0);<br \/>\nanalogWrite(mot4,0);<br \/>\n}<br \/>\n\/\/&#8211;&#8211;&#8211;&#8211;&#8211;&#8211;&#8211;&#8211;&#8211;&#8211;<\/p>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=5xP51VIVvyM&amp;t=24s\" target=\"_blank\">YouTube<\/a><\/p>\n<p><span style=\"color: #3366ff;\">Succes!<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Robot de urm\u0103rire linie folosind Arduino \u0219i modulul L298N Line Follower Robot Using Arduino And L298N Module Robotul de urm\u0103rire a liniilor este un vehicul automat care urmeaz\u0103 o linie vizual\u0103 neagr\u0103 sau o cale pe o suprafa\u021b\u0103. Folose\u0219te o linie neagr\u0103 pe o suprafa\u021b\u0103 alb\u0103 sau o linie alb\u0103 pe o suprafa\u021b\u0103 neagr\u0103. Vom [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[176],"tags":[],"class_list":["post-9099","post","type-post","status-publish","format-standard","hentry","category-tutoriale-arduino"],"_links":{"self":[{"href":"https:\/\/roboromania.ro\/index.php?rest_route=\/wp\/v2\/posts\/9099","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/roboromania.ro\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/roboromania.ro\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/roboromania.ro\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/roboromania.ro\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=9099"}],"version-history":[{"count":1,"href":"https:\/\/roboromania.ro\/index.php?rest_route=\/wp\/v2\/posts\/9099\/revisions"}],"predecessor-version":[{"id":9102,"href":"https:\/\/roboromania.ro\/index.php?rest_route=\/wp\/v2\/posts\/9099\/revisions\/9102"}],"wp:attachment":[{"href":"https:\/\/roboromania.ro\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=9099"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/roboromania.ro\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=9099"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/roboromania.ro\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=9099"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}