Arduino Line Follower With PID and 90 Degree Turns

48,705

86

13

Introduction: Arduino Line Follower With PID and 90 Degree Turns

This is my line follower with PID and arduino.

It does 90 degree turns.

I will show you how i build it.

Have fun!

Step 1: First of All the Result

Step 2: Materials

Step 3: Connections Between Arduino Nano and Line Sensor

Between Arduino nano and line sensors (Pololu QRT8-RC)

Its similar like in the image, but i usea another pins.

Now,

Arduino---|---Sensor

D2----------|--------8

D3----------|--------7

D4----------|--------6

D5----------|--------5

D6----------|--------4

D7----------|--------3

D8----------|--------2

D9----------|--------1

5V----------|-------Vcc(+)

Gnd(-) ----|-------Gnd(-)

Step 4: Connections Between Arduino Nano and Motor Diver

The conection its similar like its shown in the image.

I varie the original circuit to fit with the arduino nano, so i use ports A's not D's.

Arduino------|-----Motor diver

D10 ----------|-----PWM A

A5------------|------IN2 A

A4 -----------|------IN1 A

A3------------|------STANDBY

A2------------|------IN1 B

A1------------|------IN2 B

D11-----------|-----PWM B

5V------------|------Vcc(+)

Gnd(-)-------|------Gnd(-)

VM its a special case, beacuse it goes to the positive (+) of the battery, like in the first image.

Step 5: Connections Between Motor Diver and Motors

Its very simple,

Just follow the connections of the image and thats it.

Step 6: Chasis

I made it from a square of acrylic with a motor tool, you may use CNC or other techniques.

The bot have foamy to protect the sensors from the external light.

Step 7: Code

Here you can download the complete code.

I use PID derived from the theory of control.

You may ajust the values of Kd, Kp, and maybe the base motor speed.

Those values were found experimentally, so you may try diferent values.

Circuits Contest 2016

Participated in the
Circuits Contest 2016

1 Person Made This Project!

Recommendations

  • The 1000th Contest

    The 1000th Contest
  • Battery Powered Contest

    Battery Powered Contest
  • Hand Tools Only Challenge

    Hand Tools Only Challenge

13 Discussions

0
chayanforyou
chayanforyou

4 months ago

Its PD control not PID control.

0
Mikro_E
Mikro_E

6 months ago

Nics job My Friend , What is the width of the black line you are using?

4
chetan0412
chetan0412

1 year ago

hello, tried to complile code and found below error,

"QTRSensorsRC' does not name a type"

0
Jithosh
Jithosh

Reply 7 months ago

You need add the library 'Qtr Sensors'

0
SyamsaH
SyamsaH

3 years ago

Nice, work! but how is the code, if we change Polulu QTR8 with DIY line tracker sensor module. I can't find the QTR8 at my country.

0
HilariusY
HilariusY

Reply 3 years ago

I want to ask that same question too. Cant find any IR array in my country

0
nafisrumc123
nafisrumc123

1 year ago

will this robot follow the discontinuity of line???

Screenshot_20190829-154504~2.png
1
VănÐ
VănÐ

1 year ago

It for arduino uno r3

0
emrahmutlubas
emrahmutlubas

3 years ago

What should be the position values on the black background and the white line. Thank you.

0
GUSGUSGUS22
GUSGUSGUS22

3 years ago

!!!!!!SOBERBIO!!!! yo lo ise esta genial graxx