Amazing project ! Just Additional Information... Ask permission Mr. Michael Klements for those of you who are new to assembling, then there is a problem with the speed of the motor.. the solution is: 1. Change the byte value of motorSpeed 2. check the condition of the battery, is it still good or not 3. check the state of the gear motors (dynamo) Thank you for your attention Greetings from Ponorogo, East Java, Indonesia
Hey Michael , Loved how you made it look so easy but I need help I'm facing a problem.. I have my trig and echo pin connected to A1 and A0 respectively and I replaced the no. in your code to A1 A0, and when I turn on the car the motors dont run and servo motor is also not moving.. please help me out here:(
thank you so much for the help, it was very intresting and emosjonell. this expirience was life changeing. I have many of these robots now wich roams my grochery stores. i'am now a proffesional robot maker. i build robots, hand made. im rich now.
Thank you so much Michael! I'm really grateful ❤❤ Especially when you linked the again products,, you've got my respect man! Not only are you an amazing electronic device maker but also you're an amazing guy for helping us rookies so much 💗
Very nice video. The only thing I am missing is how to access the pins on the top of the motor shield. But this video is exactly what I was looking for.
Hello, I'm a bit confused about the wiring of the motors. What wiring is that, and where do we get them? Does that have to do with the battery. I'm looking at about the 2:05 mark.
It's just 22 AWG ribbon cable wire that I have soldered to the motor terminals and also soldered to male header pins. The battery lead is a separate lead connected to the motor shield. Have a look at the written guide linked in the video description.
@@MichaelKlements But how would you use the ribbon cable to connect the motors into the motor shield? Is it ok to screw in the regular wire pins included in the Arduino kit instead?
@@MichaelKlements Hi! I've since noticed it only ever turns one direction, regardless of obstacles location. I can reverse the turn direction by changing AF_DCMotor assignments Left to Right, but I can't get it to decide to best turn direction, it only goes same way each time. The servo was incorrectly looking right first, but fixing that didn't fix the problem. I downloaded your Code again in case I accidently changed something that matters, no go. Also played around with the 'int checkDirection()' in curiosity.. Anyway maybe you can suggest an answer if you have time. Thanks from QLD Australia.
Hi Michael, thanks for the project! I did everything and made some changes on my own and the car works good! Just one issue, the servo motor is spinning too fast, so fast that it removes the wiring sometimes. Do you have any idea on how to fix this, like how to slow down the servo?
Hi Techysoham, thats great to hear. There are some Arduino libraries that offer servo speed control, the other option would be to create a functional that moves the servo in single single-degree increments with a small delay between each step.
Mate what batteries do you use to power this thing ? I thing that's the most important aspect of this project (you skipped the part where you install the batteries) since many of us who're trying to get this to run use 9V batteries and that simply isn't the optimal power source
@@MichaelKlements Yeah well I bought a 4 pack and a 6 pack AA holder. The 4 pack doesn't have enough voltage (1.5 x 4) as the L293D driver has a voltage drop of around 1.8V so the motors spin reaaaallly slowly. Nevermind turning left/right. The 6 pack is also meh to be honest. I think I need to buy a high voltage high capacity LiPo battery like you mentioned to run this at its full potential. Or maybe 2x 18650 Li Ion battery
Hi Michael, Thanks for your project is well documented, however I got an error message when I tried to compile it to check the code. The error message says the "getDistance was not declared hence can't upload or even compile the code. Hope you can help me. Thanks
I’m still trying but no success. I tried so many you tube channels but no success. Hence I’ll be trying to use HC- 05 once I receive it. Also tried using L298N and R4 wifi limited success.
@@MichaelKlements wow u reply so fast not like other 'technology guru' out there, thanks very much ....I will support your high quality content from now on
The servo and the ultra sonic sensor work perfectly. but only 1 motor is working and the others are not !! is it because am using 9v battery ? and i have attach headers pin on A0 - A1 for the echo and trig instead the pins you are using , what changes i can do in order to use your code but with my current pins ? Thanks alot Mr Micheal
Hi Michael, I understand this project is 3 years old however do you believe with some adjustments to the code an analog servo motor can be used instead?
I have a question about the yellow-capped component labeled "PW" on the motor shield. Additionally, I've developed a car using the same procedure and utilizing two 3.7V batteries each. However, I've encountered two problems: 1- When I unplug the USB, the car stops working. 2- The batteries seem unable to power all four motors to move the car. Initially, the setup worked fine during testing, but these issues arose later on. Could you please provide assistance on how to address these problems? and what specific Batteries and how many of them I need and what volatge.Thanks In adavnce
I assume you're talking about the jumper labelled "PWR" - mine is black not yellow. This is jumper that either allows the shield to supply power to the Arduino or disables this feature if the voltage is outside of the Arduino's range. If you're supplying power to the shield only then you need to have a jumper on here to power the Arduino as well. Using 3.7V batteries, you would need them to be connected in series and ensure that they can supply enough current to drive the motors.
@@MichaelKlements Thank you for your response. Yeah Man , you got me correctly. I was referring to the yellow PWR in my case 😂. From your comment, I gather that I need two batteries, providing approximately 7.2V and 1200mA. In this scenario, I simply keep the PWR turned off as it's. COZ I'm afraid of messing things up
You need a supply voltage of at least 4.5V, so either one 7.4V battery or two 3.7V batteries in series would work. If the jumper isn't on then you need to provide the Arduino with it's own power source as well.
This could be caused by a number of things; the battery can't supply enough power, the shield is faulty, the connections are faulty, the speed gains need to be turned up, the code is getting stuck somewhere (waiting for ultrasonic sensor) etc.
Hi, so I don't quiet understand what did you do to the 12v battery, do you just put it in the middle section and wire it to the board or to the motors?
Bro, Is there a way where i can see the other side of the motor driver shield? i want to see how it was soldered on the other side because as i am lacking of pins to connect lots of sensor given that this ln293d occupies the whole arduino pins... Your video has brought me some hope.
There is some more information in my blog post linked in the video description. I haven't done anything on the bottom of the shield, I only added pins to the top.
I will take a look right now. So, only 2 and 13 can be soldered? It’s a pity that this board takes all the pins of arduino. I’ve got lots of sensors to connect but sadly the board takes them all. I have another question, is there a way we can connect the l293d and the board sensor shield v5.0? So I can have more pinouts for sensors, leds, buzzers and the like. Thank you 😊
The two drivers unfortunately require that many pins to control them. If the driver is using the pins then you won't be able to connect an IO expansion board at the same time. You'd be best off finding an I2C motor driver then and that'll free up all of the digital pins for your sensors.
Thank you for you kindly answer. I’m a beginner at this and I have to use mblock which is more code friendly, that being said, I have no idea how can I connect two arduinos together so I can use one for the ln293d and control the motors and the other arduino with the sensor shield v5 and have a wide range of digital pin outs. I would kindly be grateful if you have any idea how 🥹
So I'm a little confused. In the description, you list header pins as a part, but I am unable to find where they are actually used. Could you describe where they are used and also why they are needed.
You need the header pins to solder to the motor driver shield so that you can plug the ultrasonic sensor into it. These pins aren't installed on the board when you buy it. You'll also need female pins to make up the cable to the sensor.
Hola, estoy haciendo un automóvil Arduino para un proyecto escolar sigue todos los pasos en el video pero el carro no camina / tengo tarjeta R3 Wifi MCU ATmega 328p / Wifi ESP8266 / Usb ch320g - se tiene que hacer alguna configuración diferente ?
Hi Michael, great project. i am relatively new to Arduino and understand most of the sketch. However I would like to understand the difference between calling a function following a void command such as "void stopMove() and the call to distance=getDistance() where the getDistance code starts with the statement "int getDistance()" why isn't getDistance also a void statement? cheers.
Hi Kerrie, There are two different types of functions, ones starting with void just carry out the code in the function and ones that start with int (or String, char, Boolean etc.) are functions that return an a variable or “answer” of that type. void stopMove just tells the motors to stop. Where int getDistance returns the distance measured to the object as an int variable type. Hope that helps make it clear
Hi Michael, it would be a great help if you tell me what I'm doing wrong here. Even though I copied your code the robot doesn't function correctly. when infront of a wall when activated it checks for spaces to move and once it finds a way it moves and doesn't stop again when it encounters any obstacles. I've seen some other people have the same problem as I. I made sure that my connections are correct so what might be the problem. Thank you very much.
hello Mr. Klements, I tried putting a 3 x 3.7V rechargeable battery with a total of 11.1V but when I added 5V to it giving a total of whopping 16.1V, the Arduino Mega 2560 stopped working. Did I supply too much current? is the 11.1V enough for the 4 motors?
I'm not sure how or why you added 5V to it, 11.1V is enough to supply both the motor shield and the Arduino. That said, 16.1V also should not have damaged the Arduino Mega since these can typically handle a supply voltage of up to 20V.
Hello, great project! I've run into a few problems and by modifying the code a little I managed to find the solutions. Although there is one problem that I can't find a way to fix. The ultrasonic module only detects a wall once, it stops after the 2nd wall, but the engines still continue forward into the wall. Could you help me, please? (My modifications did not cause this problem since when I used the original code it didn't work either)
Greetings Michael, I have a question regarding the rover. From halt it propagates forward and then at specific stopdistance(which i believe is set to be in cm), and then stops. THe servo moves from 0 to 90 to 180. Then the rover goes backwards till specific distance. But it never turn around. It always goes forwards and backwards. I have used your ocde and modified the tie daelys for some lines but it doesnt seem to turn at all. And yes I have tested the rover in spaces whereleft is more than space on the right etc.. What can I do ? I would really appreciate the help. All the rover turn setting are as such. If Turn left... right motors turn FORWARD, Left motors turn backward...vice versa for Turn Right. I do not know what to do. Please help me.
There is not steering mechanism on the car, so to turn left the right wheels run forward and the left wheels run backwards, if the motor speeds are set correctly then the car will rotate on the spot (it shouldn't move forwards or backwards while turning). It sounds like your motor speeds have been adjusted incorrectly, so one side is probably overpowering the other side.
Oh my god, How can I ever thank you???? My car worked soo well, there's just one thing. The speed is too low, but other than that, everything is working great.
Could you help me out here! I am using a 9v battery as power supply, though it is powering up the arduino board and motor driver it is not helping to drive the motors and servo motor, but when i connect to my laptop to upload the code it is poweringup enough to drive the motors and servo.
A 9V battery isn't able to provide enough current to drive four motors. It works when powered by USB as well as it is supplementing the shortfall. You need to use a better battery pack.
Appreciate the project. I've been trying to implelement this on my project and i noticed something in the code can you enlighten me? if(distance >= stopDist) { moveForward(); } while(distance >= stopDist) { distance = getDistance(); delay(250); } stopMove(); int turnDir = checkDirection(); Serial.print(turnDir); shouldn't there be an "else" above the stopMove(); function? Since we defined an if argument? I don't get using while loop after "if" without the else statement. Thanks in advance.
I think you're misunderstanding what is happening in each function. The if statement checks if there is enough space infront of the car to move. If there is then it tells the car to move. Since nothing then tells the car to stop, the car will carry on moving until it is told to stop. The while loop then continuously checks that there is still space in front of the car and will carry on running as long as there is still space. As soon as there isn't space in front of the car, the while loop stops running and the code runs the stopMove command which then stops the car.
How to customise how near can the distance of the robot be with the obstacle before turning away. I want my robot to be about 10cm distance from the obstacle
@@MichaelKlements sir thank you. I got the parts installed. But I have encountered a problem. I have uploaded the code. But the car is not working. The sensor has moved to the right and is staying there. What should I do?? All libraries were added and uploaded
Yes you can do that quite easily. You would need to use the available analogue pins to connect the LEDs and then just have limits to illuminate them. LEDs draw hardly any current compared to the motors, so battery capacity is not an issue.
@@MichaelKlements actually it works but when i try it again my servo motor doesnt work anymore can u help me i need to video it while working then send it to my prof
Amazing project !
Just Additional Information...
Ask permission Mr. Michael Klements
for those of you who are new to assembling, then there is a problem with the speed of the motor.. the solution is:
1. Change the byte value of motorSpeed
2. check the condition of the battery, is it still good or not
3. check the state of the gear motors (dynamo)
Thank you for your attention
Greetings from Ponorogo, East Java, Indonesia
What do you suggest to use instead of byte?
Hi Micheal!!
My project turned out so well. I am really happy. Your code just works so fine. Keep up the good work!! 👏👏
Hey Michael , Loved how you made it look so easy but I need help I'm facing a problem..
I have my trig and echo pin connected to A1 and A0 respectively and I replaced the no. in your code to A1 A0, and when I turn on the car the motors dont run and servo motor is also not moving..
please help me out here:(
Superb video! The visuals were clear and the project instructions were spot-on. I appreciate the effort you put into making this so accessible.”
thank you so much for the help, it was very intresting and emosjonell. this expirience was life changeing. I have many of these robots now wich roams my grochery stores. i'am now a proffesional robot maker. i build robots, hand made. im rich now.
Thank you so much Michael! I'm really grateful ❤❤ Especially when you linked the again products,, you've got my respect man! Not only are you an amazing electronic device maker but also you're an amazing guy for helping us rookies so much 💗
Thanks for the feedback and support Henin!
Very nice video. The only thing I am missing is how to access the pins on the top of the motor shield. But this video is exactly what I was looking for.
Amazing tutorial Michail! short, precise, complete and simply explained.
Thank you very much
keep up the good work.
Thanks Mohammad
thank you so much , i just learned about the part when you can put a max wait int the pulseIn() function.
appreciate it :)
Thanks for the video, why didn't you just solder the wire to the board directly on pin 13 instead of using a pinhead?
Only so that it can be removed if required
@@MichaelKlements oh, ok thanks!
HI Michael Klements , you are very great .
This is simply wow! So well explained
you didnt gave link for top and bottom chassis and the holder for the car
Hello, I'm a bit confused about the wiring of the motors. What wiring is that, and where do we get them? Does that have to do with the battery. I'm looking at about the 2:05 mark.
It's just 22 AWG ribbon cable wire that I have soldered to the motor terminals and also soldered to male header pins. The battery lead is a separate lead connected to the motor shield. Have a look at the written guide linked in the video description.
@@MichaelKlements But how would you use the ribbon cable to connect the motors into the motor shield? Is it ok to screw in the regular wire
pins included in the Arduino kit instead?
Great project! Thankyou for your work on this. Just changed a few speed settings for mine, works great.
That's great to hear!
@@MichaelKlements Hi! I've since noticed it only ever turns one direction, regardless of obstacles location.
I can reverse the turn direction by changing AF_DCMotor assignments Left to Right, but I can't get it to decide to best turn direction, it only goes same way each time. The servo was incorrectly looking right first, but fixing that didn't fix the problem. I downloaded your Code again in case I accidently changed something that matters, no go. Also played around with the 'int checkDirection()' in curiosity.. Anyway maybe you can suggest an answer if you have time. Thanks from QLD Australia.
Would this concept work on a larger scale car/kart?
Yes, you'd just need to use larger motors and motor drivers.
whats the black piece called?
is it possible by connecting one 9 volt battery to the shield and other to the board pls answer fast
How did you solder on pin 13? I’m struggling with this one!
Hi Michael Kelements,
Can we use a 9volts battery in this
9V block batteries aren't able to supply enough current to drive 4 motors.
bro loved the project thank you so much
What are the library you installed for the code
What type of battery and it's power you used in this
I used a 3 cell, 850mAh LiPo
Hi i need help i want to add gsm module and pir sensor on this project can you help me where to insert the codes
That's an awesome car dude. Sounds like you from GP.
How it will move ? With the help of any application ?
The code for the robot car is available from my blog linked in the video description.
Sir I cant move my vehicle I am using 9v battery
A 9V block battery isn't able to supply enough current to drive four motors.
Can i do this with my old toy
Car which can turn right and left with the help of gear motor
How can plug that may also in the Motordrive shield
Great!.. the circuit diagram please 🥺
Hi Michael, thanks for the project! I did everything and made some changes on my own and the car works good! Just one issue, the servo motor is spinning too fast, so fast that it removes the wiring sometimes. Do you have any idea on how to fix this, like how to slow down the servo?
Hi Techysoham, thats great to hear. There are some Arduino libraries that offer servo speed control, the other option would be to create a functional that moves the servo in single single-degree increments with a small delay between each step.
Can you please share tinkercard link of project and bottom part?
How to change the code to adjust the speed of motors?
Please help 😢 how to do the coding ? Which app are you using ? Please reply.I almost bought everything needed .😢
Arduino IDE APP
Mate what batteries do you use to power this thing ? I thing that's the most important aspect of this project (you skipped the part where you install the batteries) since many of us who're trying to get this to run use 9V batteries and that simply isn't the optimal power source
Either use 4 x AA batteries in a pack or use a 2 or 3 cell LiPo battery (that's what I've used).
@@MichaelKlements Yeah well I bought a 4 pack and a 6 pack AA holder. The 4 pack doesn't have enough voltage (1.5 x 4) as the L293D driver has a voltage drop of around 1.8V so the motors spin reaaaallly slowly. Nevermind turning left/right.
The 6 pack is also meh to be honest. I think I need to buy a high voltage high capacity LiPo battery like you mentioned to run this at its full potential.
Or maybe 2x 18650 Li Ion battery
Hi Michael,
Thanks for your project is well documented, however I got an error message when I tried to compile it to check the code. The error message says the "getDistance was not declared hence can't upload or even compile the code. Hope you can help me. Thanks
same error here did you get the fix to it?
No
@@chitobalazo so how did you proceeded with the project?
I’m still trying but no success. I tried so many you tube channels but no success. Hence I’ll be trying to use HC- 05 once I receive it. Also tried using L298N and R4 wifi limited success.
Bro which type of battery will use🤔
hey could we plug the power supply into the Arduino Uno instead of the driver shield?
The motor driver pulls too much current to power it through the Arduino, you should power the driver and allow the driver to power the Arduino.
How would i make this with a aurdunio mega 2560
thanks man
it helped in my school project
where is the servo library link
i dont have the 13 slot on my board so where can i put it
Thanks for this video. Pls can you make a gps waypoint and obstacle avoidance robot with two Arduinos communicating serially
how is it rotating ? like at 9:22 , please tell
The wheels on one side rotate forwards and on the otherside rotate backwards - this turns the car on the spot.
5:02 why does my board cannot insert the wire like yours?
I literally can't put it because I didn't have the black little things
What does it call and how do I put it
The board should have silver pads on it, you’ll need to solder a section of pin headers to the board to allow the wires to plug into
@@MichaelKlements wow u reply so fast not like other 'technology guru' out there, thanks very much ....I will support your high quality content from now on
Thanks MGK Killed, good luck with your project!
The servo and the ultra sonic sensor work perfectly. but only 1 motor is working and the others are not !! is it because am using 9v battery ?
and i have attach headers pin on A0 - A1 for the echo and trig instead the pins you are using , what changes i can do in order to use your code but with my current pins ?
Thanks alot Mr Micheal
It might be related to the 9V battery, these generally aren't able to provide enough current for four motors.
bro. will it work if we change header pin to A0 and A1
Sir in your Obstacle avoiding robot project only two wheels are moving and Ultrasonic senser is moving continuosly
Pls help me 🙏🙏
Can I use Arduino UNO R3 SMD Atmega328P Board - Clone Compatible Model
Yes you can use an Uno clone board, as long as it has the same pinout as the original Uno it should work with the motor driver shield.
Hi Michael, I understand this project is 3 years old however do you believe with some adjustments to the code an analog servo motor can be used instead?
Like and analog RC servo motor or one that requires a different driver?
How did you attach the wires to geared DC motors? And did you solder or just inserted the pin heads on pin no. 2 and 13?
Thanks
They're soldered to the motors, the headers are also soldered to pins 2 and 13.
where can I find the wiring diagram?
Hello brother, I am unable to understand how you connected the female header pin to pin 13. Can you please explain?
I had to solder additional header pins onto my shield in order to plug it in - alternately you could just solder the wire directly onto the shield.
Is there any batery
I have a question about the yellow-capped component labeled "PW" on the motor shield. Additionally, I've developed a car using the same procedure and utilizing two 3.7V batteries each. However, I've encountered two problems:
1- When I unplug the USB, the car stops working.
2- The batteries seem unable to power all four motors to move the car.
Initially, the setup worked fine during testing, but these issues arose later on. Could you please provide assistance on how to address these problems?
and what specific Batteries and how many of them I need and what volatge.Thanks In adavnce
I assume you're talking about the jumper labelled "PWR" - mine is black not yellow. This is jumper that either allows the shield to supply power to the Arduino or disables this feature if the voltage is outside of the Arduino's range. If you're supplying power to the shield only then you need to have a jumper on here to power the Arduino as well.
Using 3.7V batteries, you would need them to be connected in series and ensure that they can supply enough current to drive the motors.
@@MichaelKlements
Thank you for your response. Yeah Man , you got me correctly. I was referring to the yellow PWR in my case 😂. From your comment, I gather that I need two batteries, providing approximately 7.2V and 1200mA. In this scenario, I simply keep the PWR turned off as it's. COZ I'm afraid of messing things up
You need a supply voltage of at least 4.5V, so either one 7.4V battery or two 3.7V batteries in series would work. If the jumper isn't on then you need to provide the Arduino with it's own power source as well.
My Moter driver Is Not Working But Servo Moter is working on 4 moters Is Not Working, Plzz Reply
This could be caused by a number of things; the battery can't supply enough power, the shield is faulty, the connections are faulty, the speed gains need to be turned up, the code is getting stuck somewhere (waiting for ultrasonic sensor) etc.
Is there any other cheaper option other than the arduino uno
Not that's compatable with the motor shield, you can get clone Arduinos for a few dollars on Aliexpress
Hey man where to put the battery
Where are these parts available?
Can I make it 2 wheeled ???
How long does your car keep moving if u don't disconnect the power at all ?
Around 5-10 minutes depending on how fast it is driving and how many turns it is making.
Hey, this video was amazing. Actually, I wanted to know how you fit the pins on thr motor driver shield? Thanks!
I just soldered them onto the board myself.
Bro aapka project work kr rha hai?
@@abhishekrathore9470 yea man fully agree
Hi, so I don't quiet understand what did you do to the 12v battery, do you just put it in the middle section and wire it to the board or to the motors?
It is connected to the motor shield's power input, the shield then powers the Arduino
@@MichaelKlements Do you suggest any batterypacks that workf or this rc car or no?
Bro, Is there a way where i can see the other side of the motor driver shield? i want to see how it was soldered on the other side because as i am lacking of pins to connect lots of sensor given that this ln293d occupies the whole arduino pins... Your video has brought me some hope.
There is some more information in my blog post linked in the video description. I haven't done anything on the bottom of the shield, I only added pins to the top.
I will take a look right now. So, only 2 and 13 can be soldered? It’s a pity that this board takes all the pins of arduino. I’ve got lots of sensors to connect but sadly the board takes them all. I have another question, is there a way we can connect the l293d and the board sensor shield v5.0? So I can have more pinouts for sensors, leds, buzzers and the like. Thank you 😊
The two drivers unfortunately require that many pins to control them. If the driver is using the pins then you won't be able to connect an IO expansion board at the same time. You'd be best off finding an I2C motor driver then and that'll free up all of the digital pins for your sensors.
Thank you for you kindly answer. I’m a beginner at this and I have to use mblock which is more code friendly, that being said, I have no idea how can I connect two arduinos together so I can use one for the ln293d and control the motors and the other arduino with the sensor shield v5 and have a wide range of digital pin outs. I would kindly be grateful if you have any idea how 🥹
So I'm a little confused. In the description, you list header pins as a part, but I am unable to find where they are actually used. Could you describe where they are used and also why they are needed.
You need the header pins to solder to the motor driver shield so that you can plug the ultrasonic sensor into it. These pins aren't installed on the board when you buy it. You'll also need female pins to make up the cable to the sensor.
@@MichaelKlements do you have a link from which I could buy header pins?
Sir tell me , how can upload a code
Using the Arduino IDE
hey please anyone tell this work..? please🙏
tysm bro video was too good with nice explaination
Hola, estoy haciendo un automóvil Arduino para un proyecto escolar sigue todos los pasos en el video pero el carro no camina / tengo tarjeta R3 Wifi MCU ATmega 328p / Wifi ESP8266 / Usb ch320g - se tiene que hacer alguna configuración diferente ?
Hi Michael, great project. i am relatively new to Arduino and understand most of the sketch. However I would like to understand the difference between calling a function following a void command such as "void stopMove() and the call to distance=getDistance() where the getDistance code starts with the statement "int getDistance()" why isn't getDistance also a void statement? cheers.
Hi Kerrie,
There are two different types of functions, ones starting with void just carry out the code in the function and ones that start with int (or String, char, Boolean etc.) are functions that return an a variable or “answer” of that type.
void stopMove just tells the motors to stop.
Where
int getDistance returns the distance measured to the object as an int variable type.
Hope that helps make it clear
Hi Michael, it would be a great help if you tell me what I'm doing wrong here. Even though I copied your code the robot doesn't function correctly. when infront of a wall when activated it checks for spaces to move and once it finds a way it moves and doesn't stop again when it encounters any obstacles. I've seen some other people have the same problem as I. I made sure that my connections are correct so what might be the problem. Thank you very much.
For anybody wondering. I fixed this problem by adding return; after moveForward() in the if statement that's in the void loop
Hi, I would like to know how did the wheels turn left and right if you did not use servo motor on the wheels?
The wheels don't physically steer left or right. The difference in motor speed between the left and right side turns the car.
@@MichaelKlements thank you so much!
will it stop at the stairs or will it drive down until it flips?
This doesn't detect edges, only obstacles in front of the car.
did you use a switch to turn it on?
I just plug or unplug the battery
hello Mr. Klements, I tried putting a 3 x 3.7V rechargeable battery with a total of 11.1V but when I added 5V to it giving a total of whopping 16.1V, the Arduino Mega 2560 stopped working. Did I supply too much current? is the 11.1V enough for the 4 motors?
I'm not sure how or why you added 5V to it, 11.1V is enough to supply both the motor shield and the Arduino. That said, 16.1V also should not have damaged the Arduino Mega since these can typically handle a supply voltage of up to 20V.
Today i made this in my college... ❤️
Does it work I am not getting the code the code is wrong
@@julkarnain3328 which device you used to code the Arduino...... Pc.. Laptop or mobile..?
How
@@julkarnain3328 Ask it in chat gpt
Thank me later😮
Total cost
Hello, great project! I've run into a few problems and by modifying the code a little I managed to find the solutions. Although there is one problem that I can't find a way to fix. The ultrasonic module only detects a wall once, it stops after the 2nd wall, but the engines still continue forward into the wall. Could you help me, please? (My modifications did not cause this problem since when I used the original code it didn't work either)
can u copy and paste ur code plz need help
what software did you use for the making of the model in 3D?
TinkerCAD
what component that this robot use to make such left right turns?
Just the speed difference between the wheels on the left and right
@@MichaelKlements oh okay. So no component? Only the program of the wheels? Am i right?
Yes that's correct
I also make a car but it is not working can you help me to make it
Greetings Michael,
I have a question regarding the rover. From halt it propagates forward and then at specific stopdistance(which i believe is set to be in cm), and then stops. THe servo moves from 0 to 90 to 180. Then the rover goes backwards till specific distance. But it never turn around. It always goes forwards and backwards. I have used your ocde and modified the tie daelys for some lines but it doesnt seem to turn at all. And yes I have tested the rover in spaces whereleft is more than space on the right etc.. What can I do ? I would really appreciate the help. All the rover turn setting are as such. If Turn left... right motors turn FORWARD, Left motors turn backward...vice versa for Turn Right. I do not know what to do. Please help me.
There is not steering mechanism on the car, so to turn left the right wheels run forward and the left wheels run backwards, if the motor speeds are set correctly then the car will rotate on the spot (it shouldn't move forwards or backwards while turning). It sounds like your motor speeds have been adjusted incorrectly, so one side is probably overpowering the other side.
@@MichaelKlements hi michael could u reply to my query pls
Oh my god, How can I ever thank you???? My car worked soo well, there's just one thing. The speed is too low, but other than that, everything is working great.
Can you help me with the Speed issue?
The only way to increase the speed is to use a higher supply voltage - but still stay under the maximum voltage that the driver shield can handle.
@@MichaelKlements Oh okay Thanks for the information.
Can we use 18650 li ion battery?
You'll need to use 2 to meet the voltage requirements of the shield.
Could you help me out here! I am using a 9v battery as power supply, though it is powering up the arduino board and motor driver it is not helping to drive the motors and servo motor, but when i connect to my laptop to upload the code it is poweringup enough to drive the motors and servo.
A 9V battery isn't able to provide enough current to drive four motors. It works when powered by USB as well as it is supplementing the shortfall. You need to use a better battery pack.
can i use hw battries
can i change the pin connection to 0 and 1 both in code and the circuit? pls reply fast.
Pls reply 😒
You can only use pins that are unused by the shield, so only 2 and 13 are available.
Hey my car is not moving what shall I do
Where is the switch and battery? And how is it wired in relation to all the components. Sorry I am new to circuits.
There is a blog post linked in the video description that has some more detail on the wiring and components used.
Appreciate the project. I've been trying to implelement this on my project and i noticed something in the code can you enlighten me?
if(distance >= stopDist)
{
moveForward();
}
while(distance >= stopDist)
{
distance = getDistance();
delay(250);
}
stopMove();
int turnDir = checkDirection();
Serial.print(turnDir);
shouldn't there be an "else" above the stopMove(); function? Since we defined an if argument? I don't get using while loop after "if" without the else statement. Thanks in advance.
I think you're misunderstanding what is happening in each function.
The if statement checks if there is enough space infront of the car to move. If there is then it tells the car to move.
Since nothing then tells the car to stop, the car will carry on moving until it is told to stop.
The while loop then continuously checks that there is still space in front of the car and will carry on running as long as there is still space.
As soon as there isn't space in front of the car, the while loop stops running and the code runs the stopMove command which then stops the car.
@@MichaelKlements Oh, i got it now it makes perfect sense. Thank you for your response!
Can you provide a link for buying robot chassis ???
The chassis is just 3D printed, the parts are downloadable through the link in the video description
How to customise how near can the distance of the robot be with the obstacle before turning away. I want my robot to be about 10cm distance from the obstacle
Just change the parameter stopDist in the code to 10
Hello Bro Can You Please Say Me How To Decrease the speed of motors and if reduced the turning speed also decreases
Just adjust the motor speed variables at the begining of the code, the turning speed is scaled from these so will also reduce
You can make a video on how to make sensor lights using Arduino Uno and ultrasonic sensor.
Thanks for the suggestion, I'll have a look at this.
@@MichaelKlements Can you give me the website on which you created the 3d model
@@artigupta7852 it was drawn in Tinkercad
Hey, how can i find codes for it?
How do you put the female wire oarts in??
I'm not sure what you're asking here. I crimped on some female dupont connectors.
@@MichaelKlements sir thank you. I got the parts installed. But I have encountered a problem. I have uploaded the code. But the car is not working. The sensor has moved to the right and is staying there. What should I do?? All libraries were added and uploaded
Please couldn you provide circuit diagram
Hi. I want to ask. Did you used 3 cells of 18650 battery? If i use 2 cells is it enough? Thanks..
I used a 3 cell LiPo battery, not 18650 cells. Two 18650 cells would probably be sufficient.
@@MichaelKlements ah i misunderstood. I will try this project soon. Thanks for your amazing tutorial!
hi can i add led lights for this project? to determine distance
The distance is determined with sound, so lights aren’t needed for that. You can add LEDs though just for visual effects.
@@MichaelKlements but my prof wants me to add 3 led for some distance like.example. 50cm for green 30cm for yellow and red for 15cm
@@MichaelKlements but it seems that may battery cant.hold it
Yes you can do that quite easily. You would need to use the available analogue pins to connect the LEDs and then just have limits to illuminate them.
LEDs draw hardly any current compared to the motors, so battery capacity is not an issue.
@@MichaelKlements actually it works but when i try it again my servo motor doesnt work anymore can u help me i need to video it while working then send it to my prof
Which battery were u using ?
I used a 3 cell 800mAh LiPo
@@MichaelKlements thank you
I got a problem , Everything is working fine except dc motors .They are not moving . Please help regarding this problem
Try adjusting the motor speed parameters and check that your batteries are able to supply enough current to the drivers.
Can you please share circuit diagram
Plz give me a The program code it's not working I can't download it
Can you tell what language did you use to code
It's C++ in the Arduino IDE