Raspberry Pi Robotics #2: Zumo Robot
In this video I construct a Pololu Zumo robot chassis, interface it to a Raspberry Pi using an L298N H-bridge motor controller, and use Python code to bring the robot to life!
You can see me continue this project with wireless keyboard control in this video: • Raspberry Pi Robotics ...
This video builds on my tutorial: "Raspberry Pi Robotics #1: GPIO Control" -- • Raspberry Pi Robotics ...
Note that this tutorial will work with any Pi (1, 2,3 or Zero).
You can find the wiring diagrams, as well as links for the components used in my Raspberry Pi robotics videos here: explainingcompu...
PLEASE NOTE THAT right at the bottom of the above page you will find important information about whether or not you need to connect GPIO pin 2 (5V) on your Pi to the 5V terminal on the L298N. With my L298N board I did not need to do this. But this will not always be the case.
More videos on computing and related topics can be found on my KZread channel at: / explainingcomputers
You may also enjoy my other channel at: / explainingthefuture
Пікірлер: 562
trust me you can't find any better tutorial on getting into robotics with pi all across youtube till this date
@ExplainingComputers
5 жыл бұрын
Many thanks. :)
@muhammedshareef2611
3 жыл бұрын
Till now😊
@superbros1690
3 жыл бұрын
I agree it’s so difficult for my class project, kind of really sucks!!
@BloblDev
2 жыл бұрын
@@muhammedshareef2611 yeah
I hope you will do some more robotics. Your presentations are so clear.
@NickGamingxns
6 жыл бұрын
Robert pendergast r
I love the way you speak and teach. You're not too slow, and not too fast. Your voice is very easy and effortless to follow and you always explain everything in good detail without being boring. :) Ty so much!
@Jozie88
8 жыл бұрын
One (or two) questions! How much did it matter which GPIO pins I use for L298N motor controller? If I want to connect more stuff on my PI at the same time, like LED matrix (4 pins plus ground if I remember correctly) and ultrasonic distance sensor HC-SR04, do I run out of GPIO pins which I can use? I'm still a bit lost with those ^__^ thanks in advance.
@ExplainingComputers
8 жыл бұрын
You can use any of the general GPIO inputs to connect to the motor controller -- look at about 5:36 in my GPIO Inputs video here kzread.info/dash/bejne/gHWgj7eFdcTapNo.html to see which pins they are (there is a diagram, lower screen). You will run out of available pins eventually, but not I think with the devices you list and running the L298N. :)
how can one person be so damn good at thinking from a noob's perspective? he basicly clears all the assumptions that have to be spoken out for my skill level.
you are the only coherent youtuber explaining how to use a raspberry pi. actual god
You are a GOD!!!!!! Thank tou so much!! 2021 and still nobody has a better tutorial. Of course now we are on Python 3.7 but still. The principles are the same!!
Mister Barnett, you do an excellent job of making the difficult to comprehend and making it quite easy too digest. You are a gifted instructor. Thank you for all of your videos.
@ExplainingComputers
7 жыл бұрын
Many thanks.
Invaluable videos. Learning what you learn in one of these videos would take you days and weeks of reading!
Best Robotics and Python tutorials ever created!
@ExplainingComputers
4 жыл бұрын
Wow, thanks!
Chris, many thanks for taking the time to put this and the many other videos you have together. The RPi and good people such as yourself have helped rekindle a passion for technology I haven't really had since I purchased my Commodore 64 so many years ago.
I just discovered your channel via a comment in another channel. I am impressed a thousand fold with the presentation. I must say I wish I had you as an influence when growing up. I learned a lot from a single video (the previous one of this series) and it was my first one I have ever watched of yours. I have experimented with an Arduino, and own a kit. I was looking into the Pi as a friend said you can link them to hardware too using an IDE and special libraries, and was looking into chaining both. Had no idea how it worked as I do not own one yet. Now I need a Pi, badly! I will recommend you to anyone who wants to know more about it as you present well.
@ExplainingComputers
6 жыл бұрын
Thanks for your kind and positive feedback. :)
Excellent tutorial. Certainly one of the better ones I've seen on the Pi and motor controller boards.
Thanks for this, just started studying Computer Science Artificial Intelligence in Robotics and this video got me interested in order a Pi and some components to start toying around with in my spare time!
Sir my twin children who are in 7th grade learned from your video regarding python coding. Now they are explaining to others. Do you like to see their video? There in no better tutorial in the whole of internet than yours until today
Great vids. I just started programming Python recently. This has been a sleeping goal for way too long (over 10 years). I have found my first practical application with this series. Thanks.
@ExplainingComputers
8 жыл бұрын
You may appreciate a video I am posting on 12 June all about using GPIO pins as inputs. It is a quite a long video and features a ton of Python coding that builds on what is in this video.
Christopher - This was one well made video - crisp, concise and value added - equally balanced for experts and novices. Thanks a bunch for helping me understand quite a bit about Raspberry Pi and how it can be applied! Keep doing this great work!
I hope you are still making these tutorials sir. You are such a great instructor. Thanks you very much.
@ExplainingComputers
4 жыл бұрын
I post a new video every Sunday. :)
Great video and tutorial. Very easy to follow. For anyone watching this video and building along with it please be aware of your hardware. In this video the presenter is using an older RPi with only 26 GPIO pins. The RPi 2 model b and the newer RPi 3 b and b+ broads have 40 GPIO pins. I had to change pin 7 to pin 12 for code to work properly for me. pin 7 was in an on state after boot on my board. You can see the state of each pin after boot from terminal ~$ gpio readall. I learned this the hard way. On my board some gpio pins are in an "on" "up" state. As stated above when looking at my table after running ~$ gpio readall bcm: 4, wPi: 7, name: gpio. 7, mode: in, v: 1, was causing issues for my code. I change to pin 12, gpio. 1 (v: 0, this was key for me) and code executed fine. There are ways to test your gpio's for failure as well. one being gpiotest. you will need the pigpio liabary installed. www.raspberrypi,org/forums/viewtopic.php?t=180505
@ExplainingComputers
6 жыл бұрын
Thanks for this. There is no need to change the code or to us other pins with a new Pi (and indeed in follow-up videos I use a 40 GPIO pin Pi Zero with the same code). I strongly suspect that some of the pins on your Pi are damaged, and hence in a constant "up" state.
@agcreatortn
6 жыл бұрын
I suspected this as well that i had damaged pins. I ran GPIOtest and they all passed. But I think your right, I think at least pin 7 for me is intermittently malfunctioning. I have a new RPi 3 b I just got over the weekend That I thought about testing. Anyways I think your videos are great for learning and fun builds. I am on zumo video 4 setting up ssh. I have a tank chassis that I am going to build following your other videos. I found a 5 in touch screen for the pi that runs off usb and hdmi and doesn't interfere with the gpio pins. I want to use this so I can lunch the code directly on the robot and expand its portability. I have question when using "curses", is there a way to only have the motors turn when holding down the directional keys and they stop when released?
im really enjoying your vidoes they are fairly clear and quite easy to understand, especially for someone young like me. ive showed my friends who are also 12 (like me) and are also enjoying your tutorials. Saving up for a raspbery pi CANT WAIT
What an amazingly fun video! Thanks for that! Your presentation and production value is what makes it. Keep it up please!
@ExplainingComputers
10 жыл бұрын
Many thanks! There will be more videos. :)
@keithhoughton4308
6 жыл бұрын
Angelo G.
Like those who posted before me - love the quality of the video and the presentation. Please do more! I would especially like more on the Zumo robot using a battery pack, WiFi connection, and then some input (camera, sonar, whatever).
urs are the most least confusing videos and the explanation is pretty good.hope to see the next video pretty soon.
Wow! What a nice simple yet in depth discussion on robotics! It makes me wonder why it took so long for a company like Raspberry to immerge? The combination of the demonstration and the code has been a real treat. Thank you Chris for all you do and I look forward to the next generation of Pi and your next video! Moonpie
Well paced, straight to the point. Awesome video.
I really enjoy your videos. Very clear and entertaining. Thank you!
@ExplainingComputers
5 жыл бұрын
Thanks.
Great video, it's like listening to Michael Caine's Alfred talk to Batman.
Thank goodness for this video. At last I realise I dont have to be a complete NERD to understand what is happening without being overwelmed with technical talk.
This Video is very interesting plus I like robotics and this video told me how to control their motors.
Great videos! The video quality is phenomenal and you're straight to the point every time. If you do happen to try mounting everything on the motor body, please upload a video. Everyone's looking forward to that!
Very professional and informative. Thanks from this end of the pond.
Thanks for the great videos. I really enjoy them. You are so clear and concise.
Thanks for clear and very interesting videos about Raspberry. I will wait new video.
This is a very high quality video. I was very pleased to watch it fully, keep up the good work! :)
very nice tutorials, Love it thank you for your kind
Great Job! I loved these vídeos about raspberry robotics!
I do not want to advertise so I won't put any links, but a lot of Pololu gear can be purchased from China (actual suppliers of Pololu) for a fraction of the price. My motors had arrived and I'm 99% sure they are the same thing.
@Arthur-ky1nc
5 жыл бұрын
can you tell me which shops you mean pls?
@MrCharlypesc
3 жыл бұрын
same here, i already everything on china...i buy on aliexpress.
Thanks for Your great videos! I am german but your videos are worth to remember all the english lessons at school 😃 I really would appreciate more robotics videos with the Zumo! May be You could give him some sensors? Thanks in advance!
thanks for sharing this with us u really inspire me to keep trying to accomplish my dream of becoming a computer engineer
Good morning I'm a beginner , you make your videos so interesting, your are a fantastic teacher the way you speak and present your videos so easy to understand, my question is can you use 2 controllers without causing harm to the PI, I await your answer, thanks
@ExplainingComputers
7 жыл бұрын
Yes, you could use 2 -- or more! -- controllers. There are plenty of GPIO pins to drive them. :)
@jerryrichard4994
7 жыл бұрын
Thanks for the info I shall proceed with my new project
Ordered my Pi 2, can't wait to try this.
@ExplainingComputers
8 жыл бұрын
+Sam “OfficialNerdsUnite” Lauer Excellent! And by the time you have, I will hopefully have made the follow-up videos I have been planning for ages!
@rerere115
8 жыл бұрын
ExplainingComputers awesome I can't wait.
@robinder_
8 жыл бұрын
+ExplainingComputers Hey there, do these tutorials you are making also work on pi zero?
@ExplainingComputers
8 жыл бұрын
+Videogame hacks Yes, everything here that does not require a Pi 2 will work on the Zero, although you would need to solder on some GPIO pins to do the robotics stuff, and also use a combined keyboard/mouse device -- or a USB hub -- as the Pi Zero has only one USB port.
@robinder_
8 жыл бұрын
+ExplainingComputers ok, thanks!
"Are they earrings? " Haha!
great explainer on KZread
Thanks for this. It got me up and running really quickly.
@ExplainingComputers
8 жыл бұрын
+James Norton-Jones Excellent! :)
Awesome. very simple and understanding
hi christopher great project in fact i was so interested i bought a very cheap crab kingdom chassis and used your code and instructions works great am going to add line follower and echo location at some point and maybe even a robot arm keep up the good work
@ExplainingComputers
6 жыл бұрын
Excellent -- thanks for letting me know about your success! :) This is what KZread is all about. Note that I have various follow-up videos, including a line follower: kzread.info/dash/bejne/jGmTmriaaLTenrw.html
Fantastic video as always. I would love to see you develop this further as you said in your video with a camera and possibly wifi controls. Wishing you the best of luck with your videos and future Pi projects.
@ExplainingComputers
8 жыл бұрын
+The Kount Taking this further is on my production list for early 2016. :)
this is 2014 sir this is awesome
Fantastic video! I want to do the same project except using the Tamiya tracked chassis with dual motor gearbox. I made Tamiya tracked kit radio controlled a year or so ago but of course, that’s not a true robot.
@ExplainingComputers
6 жыл бұрын
Thanks -- do checkout follow-up videos in this series: eg kzread.info/dash/bejne/iqqDsbCJg9LNnLw.html
love this channel.👌👍
you video lectures are so clear and very informative....................... can you please share some book with me to learn raspberry pi ????
Génial, les démonstrations sont précises et claires!
hmmmm, i give a 5 out of 5 star for this explanation!
Very good video. I have a question. Could I use any RC car (buy one) and put the Raspberry to control and sensors? RC with any voltage as: 4.5V, 6V, 12V? Thank you.
@ExplainingComputers
5 жыл бұрын
Yes, you could indeed use a Pi and an L298N to do just that. See also my follow-up videos, and info on this page: www.explainingcomputers.com/rasp_pi_robotics.html
@dvigas7547
5 жыл бұрын
ExplainingComputers thank you. I will see and try. I saw your video and I’m very excited to do that with a cheap RC car that I bought at Argos.
Grest work guy, you are the best😀
You always do great videos
Thanks so much - very clear and well explained.
Just so everyone knows. The motor controller 5v pin is an output pin. This is not for bringing 5v into the motor controller but for sending 5v out like powering the pi with the output. No need for his usb battery pack. He could have just run the 5v out to the 5v pin on the pi and it would have worked.
@joshcarz
5 жыл бұрын
Thanks for your videos.
Wao sir you're awesome at what you do.. Subscribed and waiting for next videos
I don't think the motors are slipping, I think its because one motor is starting before the other. Since python is an interpreted language, going top to bottom, it activates one motor, then immediately afterwards the next motor.
@ExplainingComputers
6 жыл бұрын
I see your point, but the time difference will be extremely slight -- less than 1/1000th of a second.
Hello Everything works ok when powered from 230 V mains but with the power of the battery (robot controlled remotely via wifi). I had to change the pin 7 to 12. Pin 7 ( power from baterii) gives then still 3.3V. Raspberry B+.
I have connected up just like the video suggests, with the rpi3 and battary pack unplug. Now I give the rpi3 power and connect the battery pack the motor starts moveing automaticly and does not stop.
@ExplainingComputers
8 жыл бұрын
Run the code (maybe with the battery pack unconnected), and let it finish (which will execute the GPIO cleanup command. Then try again. Also see the bottom of this page for info on different configurations: www.explainingcomputers.com/rasp_pi_robotics.html Good Luck!
A very professional and informative vid. We appreciate your instruction and effort. Keep up the great work.
Great video, fantastically explained. Please, do one with stepper motors and joystick controlled motors. Thanks!
your video is extremely useful for me...i'm eagerly waiting for the next video i.e.,controlling the robot using wifi and placing a camera on it...i'm doing my project on that.please please do help me in that.thank you
Very nice video.
Hello Chistopher, I enjoyed your video, thank you for sharing.
Wow Thank you so much! Amazing presentation.
Thanks once again for another inspiring vid. Presumably one could mimic a stepper motor depending on the resolution of the time function in IDLE? I had in mind to control the spindle on a variable (butterfly/air) tuning capacitor robbed from an old radio, to be used in loop antennae etc., so the tuner could be remotely controlled. These tuners don't rotate 360° so I guess some canny coding will be required so no attempt is made to rotate the motor out of range.
@ExplainingComputers
4 жыл бұрын
It would be hard to mimic a stepper motor as yu suggest. A Pi can also be used to control servos though (and stepper motors). I did a video on servo motor control with a Pi quite recently: kzread.info/dash/bejne/qnx4tpZ8p827gag.html
@HKey_Root
4 жыл бұрын
@@ExplainingComputers Ah, thanks. I did miss that one. I shall go take a look.
thank you for making this video.
Looking forward to the next video!
Wow what a brilliant video. Thanks for explaining
I missed connecting pin 6 to the h-bridge. My second attempt should work
beautiful little motors! I recently found similar high quality 12v motors in an old vhs machine. No gearbox though. If I learn another language, it will be python. I knew some BASIC, HTML mAYBE it will help. Because the script got to be quite complicated in the end. Or maybe it just seemed that way because of all those loops.
Could you make an example code in python 3.4.2 where you control leds by pressing keys on the keyboard? An example would you press a on the keyboard and a led turns on. You let go of the key and it turns off.
sir please do work on this project and relate this robot to camera or bluetooth. waiting for this video.regards ENGR.abdullah. PAKISTAN.
You are the best
using this method of drawing a shapes with straight edges. How could I extend it to make my Raspberry pi go round in a circle of given radius "x"or any other curved shapes such as a rose "r = (a)sin(bx)" (Polar Coordinates)?
You soldering could come in contact with the motor housings and short circuit
I tried rebuilding it and powered the L298N with a nine-volt battery. After some seconds the motor's speeds tremendously decreased and the battery got pretty warm (not hot). What is the problem here and how do I fix it?
je ne comprends pas l'anglais mais ses vidéos parle d'elle même!
Fun build
Many thanks. But can it possible to control speed of motors whith this set or just direction ? (sorry for my english)
I already have a Raspberry Pi and I've ordered a Runt Rover frame (the Whippersnapper). I want a Zumo as well, but they seem to only sell them now as Arduino bots. Maybe I should double check. Anyway, the new Zumo 32U4 looks awesome you should check them out Chris! I'll totally do your LED tutorial.
Nice video, very helpful for beginner, like me. Thanks for sharing it..
Love you man
@ExplainingComputers
6 жыл бұрын
Thanks -- will do!
Why don't you use PWM on the L298N's Enable pins to controll the motors speed?
Amazing! I need to order these parts... :D Really inspired by your video.
Very good sir its goes to be more intresting
So how exactly do we connect the ENa and ENb pins if the two jumpers aren't there? I have just connected them to pins on the Pi. How should I code them if I did this?
Excellent explanation, so straightforward! I was wondering if you could explain how to control 4 motors independently of each other (like for a drone or the Rimac sports car) instead of having just two motors. Also, would the Raspberry Pi have enough computing power to receive inputs (other than positive & negative acceleration, and direction) and do calculations upon them? I would very much like to increase the capabilities of a kit I have for a 4 motor robot, but both motors of each side are connected to the same output of a L298 thus acting as one motor on each side. Thank you in advance!
thanks you for all
What kind of motor is used above? Because you are able to spin motor in both directions. And I am using normal dc motor it spin only in one direction
@ExplainingComputers
6 жыл бұрын
It is a normal motor here. The key element is use of the motor controller -- the L298N. This can be hooked up to one or two motors, and then four control pins are fed signals to spin each forwards or backwards.
@ExplainingComputers
6 жыл бұрын
Ah, I see we corresonded before! :) If you have your motor connected to the L298N you should be able to turn it in either direction depending on what signals are being sent from the GPIO pins on the Pi. If things are not working, check your wiring and code.
Why do I get this error? type error:"str" object cannon be interpreted as an integer
@varunaggarwal8936
4 жыл бұрын
Because the inputs (sides and size) the user enters in the shell after running the code are strings. For the code to use the user's inputs to do the math, the user's inputs need to be converted to appropriate data types. Specifically, int (integer) for "sides" and float (float) for "size". This can be accomplished easily by changing the lines in the code to sides = int(input("How many sides?")) size = float(input("How big?")) Hope this helps!!
Well explained. Good job.
As soon as i connected motor controller with battery, the motor starts running. Why? Using same components from vidoe with same setup of wiring just I am using 9v battery.
@ExplainingComputers
6 жыл бұрын
This will be because you have yet to execute any code -- the GPIO pins will be in a random state until you have executed the code to set up the pins, and so pull them down to an "off" state. You need to execute the code, then connect the power to the motor controller. If the Pi's own power is not turned on, this is due to the setting of a 5V enable jumper on your L298N -- see the "Important Note" on my page here: www.explainingcomputers.com/rasp_pi_robotics.html Or, see the videos and wiring on this page (based on the same setup): www.explainingcomputers.com/pi_devastator_videos.html
@pranavrathi211
6 жыл бұрын
@@ExplainingComputers Really happy to see your fast response.. And thank you for your instant help.. 😍😍
Great video, waiting for your followups!
@ExplainingComputers
8 жыл бұрын
Fairly soon now . . . :)
@darksoul7025
8 жыл бұрын
from where could i find the code ?
@Theytrewq100
8 жыл бұрын
+ExplainingComputers that's great to hear
amazing series. Thank you. please do more!
@RedsGamingArcade
9 жыл бұрын
Yes, please do another video about inputs through the raspberry pi, then how to make it do an output off of the input!
@ExplainingComputers
9 жыл бұрын
Reds Arcade I used a pack of 4 AA batteries to power the robot motors. I will do an output GPIO video at some point. :)
Hi, very cool tutorial! I have a Pi Model 3 B and am hoping to do a project like this one. I don't want to have it continuously plugged into the wall, but from a battery. My problem is that I fear that either the battery pack will just be too big to be portable or that either they will be too expensive. I wish I would have gotten a Pi Zero W as I have now realised that they seem to be better with these kind of projects. How would I go about doing it with a pi model 3 b? Thank you.
@ExplainingComputers
6 жыл бұрын
Everything here will work fine with a Pi 3 B! It will use more power than a Pi Zero, but will still work fine off a battery back. See this video for how it may work: kzread.info/dash/bejne/iqqDsbCJg9LNnLw.html and this video for running everything off a set of AA cells: kzread.info/dash/bejne/nGqhyc6fmLrAorQ.html Good Luck!
@dylangonzalez6370
6 жыл бұрын
ExplainingComputers Thank you! Just one last question, would it be beneficial to use a similar battery to yours or to use a bigger battery?
@ExplainingComputers
6 жыл бұрын
The power bank I used to run the Pi is I think 2100mA, and this will run a Pi Zero for a good 5-6 hours. So it should run a Pi 3 for a good two hours or so. The issue with bigger batteries -- aside from the cost! -- is the extra weight on the robot.
Your videos are worth watching.. Could u help me out in interfacing Raspberry pi with Linux.. where in you connect rasp to a linux operating system and try some commands.. Thank you..
Great Tutorials and all videos! Thnx