Adafruit Motor Shield Tutorial

by TrungT4 in Circuits > Arduino

129320 Views, 86 Favorites, 0 Comments

Adafruit Motor Shield Tutorial

558eca4c4936d4edb50000f3.jpeg

The Adafruit Motor Shield is a great and quick way to control DC motors, servos or even stepper motors. It has the capability of controlling up to 2 stepper motors, 4 DC motors. and 2 servos. I think this shield would be a good start for beginners because of its versatility for its price range.

Basic Materials

11655292_649271921883248_1969140658_n.jpg
11651285_649271901883250_1896661154_n.jpg
11667997_649271875216586_2141304446_n.jpg
11655515_649271888549918_1017235791_n.jpg
11125238_649271881883252_1700064583_n.jpg

For this tutorial, there are some must-have:

1. An Arduino board (I'm using the Arduino Uno R3 but I think any versions would work)

2. Adafruit Motor Shield v1.0 (I got this one at a local store but I think it is also available on Amazon or other similar sites)

3. DC motors: I have a Tamiya double gearbox lying around so I'm going to use it as the motors.

4. Servos (optional): Just to demonstrate what the motor shield can also do

5. External power supply (optional): just in case your shield needs some extra juice

6. Breadboard, jumper wires

7. Arduino IDE, Processing, and the motor shield library (which I'm going to show you how to install it afterwards)

Download the Library

81-00.jpg
558eb6bc15be4d938000010f.jpeg

First, download the library by clicking the link below.

https://github.com/adafruit/Adafruit-Motor-Shield-...

Uncompress the ZIP file onto your desktop (to make it easier)

Rename the uncompressed folder AFMotor. Be sure that there are the AFMotor.cpp and the AFMotor.h files in the AFMotor folder.

Go to My documents on your computer. Find the arduino library folder and put the AFMotor folder inside it.

Restart your Arduino IDE and check if you have a submenu called File -> Example -> AFMotor

If you can see the submenu, congratulation since you have successfully installed the shield's library.

If you can't see the submenu, check the steps above. If you still can't see it, look for a solution online from the manufacturer or from the site below.

https://learn.adafruit.com/adafruit-motor-shield/l...

Installing the Shield Onto the Arduino

11647361_649286728548434_1884672317_n.jpg
11692976_649286721881768_527937111_n (1).jpg

Pretty obvious. Stack the shield on top of the Arduino board. That's it!

Connect the Motors and the Servos to the Shield

558ec13045bceb31fe000018.jpeg
558ec74c15be4d938000012f.jpeg

It looks a little bit complicated, isn't it?

But it's actually pretty simple if you look closely at the picture.

The black servo is connected to the SERVO_1 slot on the board while the blue one is connected to the SERVO_2.

The DC motor at the further corner (the one with red and purple wires) is connected to the M4 ports on the screw terminal block.

The DC motor next to it (the one with white and brown wires) is connected to the M3 ports on the screw terminal block.

So now the only terminal block that is left unused is the middle one (the ground one).

The positive end of the external power supply (the 9V battery) is connected to the +M terminal block on the board while the negative end is connected to the GND one. If the LED on the shield lights up, it means that the power input for the shield works.

Last thing, connect the Arduino to the computer for coding afterwards. I didn't do that in the picture but I think you can figure it out on your own.

We're almost there..

Coding

images.png
download (1).jpg

I have included two separate codes in this instructables: one is for the Arduino IDE and the other is for Processing.

The Arduino code is used to control the board, while the Processing one is used for better visualization.

The Arduino board and the computer are connected through serial connection, so make sure you check the com port first.

And we are done!

What's Next?

images.jpg

So this is an introduction for my next project in the near future: I'm going to build an internet-controlled telepresence robot based on this. I have already made some design and coding and I hope it will work.

If you have any questions, feel free to ask me. I will try my best to answer all of your questions.

Anyways thank you for checking out my instructables and I hope it will help you with your projects.

UPDATE: I have just finished the telepresence robot project so if you want to check it out, I included the link below.

https://www.instructables.com/id/Internet-Controlled-Telepresence-Robot/