Thanks for the video! Didn't know it's possible to test out arduino stuff in software. Will be useful especially when messing with batteries and condensers which can blow up.
The one thing that you should teach students is that with a switch, you should always make/break the hot side, (the plus voltage side) and never switch the ground. This is a safety issue and if your students go out into the world they will be forced to always break the hot side. Therefore, one side of a switch should be wired to +Voltage, the other side of the switch should have a 10K ohm resistor to ground and the arduino digital pin is wired to the junction of the resistor and the switch. With this configuration the wiring meets the NEC in all 50-states. I know in the hobby world it doesn't matter, but you never know if your students are working, or will be working in industry.
Does NEC really cover the design of low voltage devices, here 5V DC? In Electronics, it is quite common that signals are provided inverted, ie. Negation(RESET), Negation(ChipSelect), etc. The customs can vary significantly. Here the author programmatically enables the built-in resistor within Arduino board which pulls the input value towards +5V (logical 1), hence one has to connect the input via a switch to zero potential (logical 0). It teaches the student that he can (1) save one external resistor and one wire connection, ie. the wiring is simpler and it also teaches (2) to lower the cost of your design, plus that (3) the input can have the inverted value (Logical 1 = switch OFF [a default], Logical 0 = switch ON). Basic Arduino Starter Kit still contains even the wiring which uses your design (resistor, and a positive logic of a switch). Just for the completness. But any advanced user will use the approach used here.
@@vojtechkment2956 The NEC talks about low voltage wiring. They typically start at 24Vac/dc and up. I am very aware of the Arduino built-in resistors and I don't see any problem using them; however, the way safety standards are heading I would start teaching students, when using a mechanical switch, to always break the hot or high side; the voltage side. Even at lower voltages it's still the safest way so that the user is always on the ground side.
This video is great but I cant really wrap my head around how the motor is connected to the breadboard. I tried the code after putting everything in place, double checked the wires and it didnt work but idk if my motor is conected correctly. I also was wondering what arduino version you use.
If you're having trouble we recommend starting at the beginning of our Arduino tutorial playlist (linked in the description) and also watching our How to Use a Breadboard video: ruclips.net/video/6WReFkfrUIk/видео.htmlsi=byMxk5OcEK-xG2Df. The H-bridge is a more complicated circuit so it will be challenging if this is the first thing you're trying to do. Our videos show the Arduino UNO R3.
Thanks, I've some questions: Is hooking up 4 GND pins needed? They are for cooling, and the clamps in the board will cool them. The 6V input is also a single pin, and it has the same current going through. Do you need to set the pins as output? As there are a bunch of power transistors in the IC, won't they work on the default low-power output? Or do they need full 20mA to trigger? Can you set Tinkercad to put wires on top, now they dive under the IC which looks very weird. Does a LEGO motor work the same? How to change speed/power in code?
Hi - you have a lot of questions here, more than we can address in a single RUclips comment. You may be able to get more answers on the official Arduino forums or forums dedicated to electronics like on Reddit or Stackexchange.
This is a general tutorial, but we have many specific projects on our site that use this circuit, such as www.sciencebuddies.org/science-fair-projects/project-ideas/Robotics_p042/robotics/arduino-self-driving-car
Hey i know its late but can i ask a question, i followed your instruction step step and it works here's the question though my arduino is plugin to the computer as should be but the still motors run even though the external battery is not connected why is that?
You probably have something wired incorrectly on your circuit such that the motors are being powered by the 5V from the Arduino. We recommend asking for more help in the official Arduino forums. People will need to see pictures of your breadboard in order to help.
awesome video, really helped me a lot! Just a question tho... couldnt this work wtihout arduino? just using a another supply instead of it? We would be using the buttons just for switching voltage to the input pins on L293D
Yes, you can use an H-bridge to switch the direction of a motor without an Arduino if you just want manual hardware control. For software control and more advanced tasks (e.g. steering a robot to react to sensors) you need the Arduino.
Wonderful vid ! I'm gonna use it to create a functioning RC-boat :D I do have a question though - In the previous video u showed that, when using a MOSFET instead of an H-Bridge, you gotta use a capacitor in order to reduce electric noise. Is it still necessary with an H-Bridge ? Would love to know bcs I'm applying an IR receiver to send the signal to the enable pin, so background noise will mess with the circuit/logic.
Hey, im also planning on building an RC boat. How were you able to communicate with the boat tho? Im struggling in that aspect as well as what material did you build it with? Did you have a “steering” system or just used the motors to turn? Sry for the list of questions :D
@@Science.Buddies if I power it with a 24v 3a power supply would I need any? What would cause me to need them? I plan on using 24v dc motor and adding an OLED display with some extra functions, it will be my first project
Hi - if you need detailed help, we recommend asking in a dedicated electronics forum like the official Arduino forums, or a site like Reddit or Stackexchange. We are unable to help with individual projects in RUclips comments.
Hi! I'm currently building machine, which will be using 4 separate dc motors with a wheel on each. Is it possible to connect 1st and 9th ports of L293 (speed regulators) to the single PMW so that both motors would have the same speed?
Hey, great video. But I am confused, whenever I hook up a small DC motor to this circuit the motor doesn't work. The motor works when I take it off and plug it directly to the battery pack. Do I just need a bigger battery?
Hi,thanks for your video.I have some questions:If i use the switch to control the motor ,when i push the first switch button it can clockwise rotation,but when i push it again,it can not stop. And then i push the second switch button------- it makes clockwise rotation slowly but can not counterclockwise rotation, and then if i do not push the second button,it still clockwise rotation without slowly condition.I do not know why..Could you please help me ?
Hey, I don't mean for it to look like I'm asking for tech support, but I decided it worth asking anyways. In following along with the video, I got stuck when I went to try to add the two buttons in by myself. I then tried to just copy why you had done, but the motor would just run at 83rpm without any input, and would only change (to 0) while holding down but2pin. All this on Tinkercard by the way. Is it possible for you to tell me what I'm doing wrong?
Hi - if you're a student doing a science project, you can ask for help in the Ask an Expert forums on our website: www.sciencebuddies.org/science-fair-projects/ask-an-expert-intro, which is monitored by volunteers. Unfortunately we're a small organization and don't have the capacity to provide tech support beyond that, but we'd recommend starting earlier in our Arduino playlist (linked in the description) and check out the video about buttons before you move on to motors and H-bridges.
I'm unable to find the datasheet of my ic which is l293d 99 wav vw mys 99 995 and with everything connected I recive less than 3v at the motor output. What should i do?
Hi - we are unable to provide detailed troubleshooting help in RUclips comments, we recommend asking your question on the official Arduino forums or a dedicated electronics forum like Stackexchange.
Bro ı have a question for u ı cant understand from datasheet how can ı add one more motor ı've understood the code part but ı am not sure aboıt the cables.Can u help me
In general you don't want to use a 9V battery to power motors as they will drain the battery very quickly. Check out this video to learn more about your options for powering Arduino projects: ruclips.net/video/I7MrL5Q7zvY/видео.htmlsi=zagNwvLt5MSBBGNQ
Hey , i need to ask you something, so im doing a project which involves of linear motion of back and forth continuous without pressing buttons is it possible.... Could you please reply me it urgent ...🥺🥺🥺...
Hi - we can't provide help with individual projects like this in RUclips comments, we recommend asking on the official Arduino forums if you need help.
Hi - we recommend checking out our full Arduino tutorial playlist. You can control the motor's movement using hard-coded digitalWrite commands and delays, just like you would when blinking an LED as covered earlier in the playlist. This does not require any buttons or switches as inputs.
Hey, this is a fantastic video! I do need a hand with something though. I am trying to use this circuit to control a vinyl player (conceptually). I have allocated a button for forward and reverse but I want to use two potentiometers. One at max speed would turn the disc at 33 revolutions per minute and one would turn it at 45 revolutions per min. How do I map both with the same speed function? or what do i even do hahaha thanks :)
Hi - unfortunately we can't provide support to write code for individual projects like this. We have many other videos in our tutorial series, including earlier videos specifically about buttons and potentiometers that may help, but putting it all together to do exactly what you want is up to you :-). You may be able to get help with your code on the official Arduino forums.
We don't currently have plans for a separate motor driver tutorial, but many motor driver boards are simply breakout boards for an H-bridge like the L293D.
The same concept applies but you will need to check the datasheet for your motor to see how much current it requires, and make sure the H bridge you purchase can handle that much current.
@@Science.Buddies so my plan is to first try and write the code for a small simple motor Then I can use a large motor also I got some recommendations to use a l298n module
Hi - unfortunately the RUclips description field doesn't like Arduino code and the formatting gets messed up. For most of our newer videos there is a link to a Tinkercad Circuits simulation where you can copy the code, we're sorry we don't have it for all the old ones!
Hi, I am struggling to get this to work with no buttons. I have included Motor.h and Arduino.h and used your exact code. I get the error message of; C:\Users\cespa\OneDrive\Documents\Arduino\libraries\L298_Motor_Driver\Motor.cpp: In member function 'void Motor::goPercentage(uint8_t)': C:\Users\cespa\OneDrive\Documents\Arduino\libraries\L298_Motor_Driver\Motor.cpp:101:13: error: 'speed' was not declared in this scope checkWrite(speed); ^~~~~ C:\Users\cespa\OneDrive\Documents\Arduino\libraries\L298_Motor_Driver\Motor.cpp:101:13: note: suggested alternative: '_speed' checkWrite(speed); ^~~~~ _speed exit status 1 Error compiling for board Arduino Uno. Please help, thanks!
When you get an error message like that, it helps to google specific parts of it (not necessarily the parts with the file path on your computer, since that won't match what other people have when encountering the same error). When you see something like "error: 'speed' was not declared in this scope" that usually means a variable was not declared properly, e.g. "int speed" may be missing from the beginning of your program. Going forward, we can't provide much debugging help in RUclips comments, but the official Arduino forums can usually help.
The simulation program we use in our tutorials is called Tinkercad Circuits and we have a video about it here: ruclips.net/video/9RF_BZ1Cg4k/видео.htmlsi=etlI65BHW12xj1Ln
Thanks for the video, now understanding the H bridge which is L293D incorporated in controlling a DC motor. Thank you very much.
I don't have any words to thank you! Just can't express how helpful this video has been.
your videos are amazing they are fun and infomativ. I finally understand everything thanks
Thanks for the video! Didn't know it's possible to test out arduino stuff in software. Will be useful especially when messing with batteries and condensers which can blow up.
Thank you, you helped me a lot :)
love this way of teaching those basics!
The one thing that you should teach students is that with a switch, you should always make/break the hot side, (the plus voltage side) and never switch the ground. This is a safety issue and if your students go out into the world they will be forced to always break the hot side. Therefore, one side of a switch should be wired to +Voltage, the other side of the switch should have a 10K ohm resistor to ground and the arduino digital pin is wired to the junction of the resistor and the switch. With this configuration the wiring meets the NEC in all 50-states. I know in the hobby world it doesn't matter, but you never know if your students are working, or will be working in industry.
Does NEC really cover the design of low voltage devices, here 5V DC?
In Electronics, it is quite common that signals are provided inverted, ie. Negation(RESET), Negation(ChipSelect), etc. The customs can vary significantly.
Here the author programmatically enables the built-in resistor within Arduino board which pulls the input value towards +5V (logical 1), hence one has to connect the input via a switch to zero potential (logical 0).
It teaches the student that he can (1) save one external resistor and one wire connection, ie. the wiring is simpler and it also teaches (2) to lower the cost of your design, plus that (3) the input can have the inverted value (Logical 1 = switch OFF [a default], Logical 0 = switch ON).
Basic Arduino Starter Kit still contains even the wiring which uses your design (resistor, and a positive logic of a switch). Just for the completness. But any advanced user will use the approach used here.
@@vojtechkment2956 The NEC talks about low voltage wiring. They typically start at 24Vac/dc and up. I am very aware of the Arduino built-in resistors and I don't see any problem using them; however, the way safety standards are heading I would start teaching students, when using a mechanical switch, to always break the hot or high side; the voltage side. Even at lower voltages it's still the safest way so that the user is always on the ground side.
Thank you very much. You explained a very complicated subject so perfectly ...I understand it now :)
Absolutely fantastic video. I will be experimenting with doing this with Arduino Uno and also a PIC. Thank you!!!!
Thank you so much for your videos!!!
Great work! :)
This video is great but I cant really wrap my head around how the motor is connected to the breadboard. I tried the code after putting everything in place, double checked the wires and it didnt work but idk if my motor is conected correctly. I also was wondering what arduino version you use.
If you're having trouble we recommend starting at the beginning of our Arduino tutorial playlist (linked in the description) and also watching our How to Use a Breadboard video: ruclips.net/video/6WReFkfrUIk/видео.htmlsi=byMxk5OcEK-xG2Df. The H-bridge is a more complicated circuit so it will be challenging if this is the first thing you're trying to do. Our videos show the Arduino UNO R3.
Thanks a lot it realy helped me
Thanks, I've some questions:
Is hooking up 4 GND pins needed? They are for cooling, and the clamps in the board will cool them. The 6V input is also a single pin, and it has the same current going through.
Do you need to set the pins as output? As there are a bunch of power transistors in the IC, won't they work on the default low-power output? Or do they need full 20mA to trigger?
Can you set Tinkercad to put wires on top, now they dive under the IC which looks very weird.
Does a LEGO motor work the same? How to change speed/power in code?
Hi - you have a lot of questions here, more than we can address in a single RUclips comment. You may be able to get more answers on the official Arduino forums or forums dedicated to electronics like on Reddit or Stackexchange.
Can you explain why do you need a common ground? 9:45
You mentioned that we weren't going to use a 2nd motor, if I wanted to use 2 motors how would I do that?
Thanks, this worked for me.
Video is just great ! , can you indicate what should be the value of potentiometer.
This helped me a lot in my project. Would be nice if you included the link to the project
This is a general tutorial, but we have many specific projects on our site that use this circuit, such as www.sciencebuddies.org/science-fair-projects/project-ideas/Robotics_p042/robotics/arduino-self-driving-car
is it fine if a use a 9V Battey instead, or will it burn the circuit?
You always need to look at the datasheet and maximum voltage ratings for the parts you are using in order to answer that question.
@@Science.Buddies ok, ty
Hey i know its late but can i ask a question, i followed your instruction step step and it works here's the question though my arduino is plugin to the computer as should be but the still motors run even though the external battery is not connected why is that?
You probably have something wired incorrectly on your circuit such that the motors are being powered by the 5V from the Arduino. We recommend asking for more help in the official Arduino forums. People will need to see pictures of your breadboard in order to help.
this is cool
awesome video, really helped me a lot! Just a question tho... couldnt this work wtihout arduino? just using a another supply instead of it? We would be using the buttons just for switching voltage to the input pins on L293D
Yes, you can use an H-bridge to switch the direction of a motor without an Arduino if you just want manual hardware control. For software control and more advanced tasks (e.g. steering a robot to react to sensors) you need the Arduino.
@@Science.Buddies Great. Thank you !
Sir ,
I have exact same mini project.
but we have to use a 15 V supply
so which motor should I use And is there anything that I need to worry about?
Hi - we recommend asking this question on the official Arduino forums.
Wonderful vid ! I'm gonna use it to create a functioning RC-boat :D I do have a question though - In the previous video u showed that, when using a MOSFET instead of an H-Bridge, you gotta use a capacitor in order to reduce electric noise. Is it still necessary with an H-Bridge ? Would love to know bcs I'm applying an IR receiver to send the signal to the enable pin, so background noise will mess with the circuit/logic.
Hey, im also planning on building an RC boat. How were you able to communicate with the boat tho? Im struggling in that aspect as well as what material did you build it with? Did you have a “steering” system or just used the motors to turn? Sry for the list of questions :D
Do you need any resistors or anything? Thanks!
Not for this circuit!
@@Science.Buddies if I power it with a 24v 3a power supply would I need any? What would cause me to need them? I plan on using 24v dc motor and adding an OLED display with some extra functions, it will be my first project
Hi - if you need detailed help, we recommend asking in a dedicated electronics forum like the official Arduino forums, or a site like Reddit or Stackexchange. We are unable to help with individual projects in RUclips comments.
And also is it possible to toggle direction with the button instead and have the speed controlled by the potentiometer?
Yes, this should be possible.
can you make a dc motor spin with a joystick using the same chip ? i cant figure it out.
my moter wont stop spinning
Hi! I'm currently building machine, which will be using 4 separate dc motors with a wheel on each. Is it possible to connect 1st and 9th ports of L293 (speed regulators) to the single PMW so that both motors would have the same speed?
Yes, you should be able to do that!
can this be used for electromagnets as well?
Yes, it can be used for other inductive loads like electromagnets and solenoids.
Hi, if I wanted the motor to continue running after just pressing the button (not holding it down) how could I modify this code to accomplish this?
Hi - we recommend asking this question in the official Arduino forums.
Hey, great video. But I am confused, whenever I hook up a small DC motor to this circuit the motor doesn't work. The motor works when I take it off and plug it directly to the battery pack. Do I just need a bigger battery?
To clarify, you need to have Arduino code running for this circuit to work, the motor won't just spin if you plug it directly into the H bridge.
Yes, the circuit did have code running, but I found that if I give it a little push it will spin slowly. I think I just need a bigger battery.
Hi,thanks for your video.I have some questions:If i use the switch to control the motor ,when i push the first switch button it can clockwise rotation,but when i push it again,it can not stop. And then i push the second switch button------- it makes clockwise rotation slowly but can not counterclockwise rotation, and then if i do not push the second button,it still clockwise rotation without slowly condition.I do not know why..Could you please help me ?
Maybe the HIGH and Low is not clear in the code,and when i modify a little code ,it works.....
Hey, I don't mean for it to look like I'm asking for tech support, but I decided it worth asking anyways. In following along with the video, I got stuck when I went to try to add the two buttons in by myself. I then tried to just copy why you had done, but the motor would just run at 83rpm without any input, and would only change (to 0) while holding down but2pin. All this on Tinkercard by the way. Is it possible for you to tell me what I'm doing wrong?
Hi - if you're a student doing a science project, you can ask for help in the Ask an Expert forums on our website: www.sciencebuddies.org/science-fair-projects/ask-an-expert-intro, which is monitored by volunteers. Unfortunately we're a small organization and don't have the capacity to provide tech support beyond that, but we'd recommend starting earlier in our Arduino playlist (linked in the description) and check out the video about buttons before you move on to motors and H-bridges.
I'm unable to find the datasheet of my ic which is l293d 99 wav vw mys 99 995 and with everything connected I recive less than 3v at the motor output. What should i do?
Hi - we are unable to provide detailed troubleshooting help in RUclips comments, we recommend asking your question on the official Arduino forums or a dedicated electronics forum like Stackexchange.
Bro ı have a question for u ı cant understand from datasheet how can ı add one more motor ı've understood the code part but ı am not sure aboıt the cables.Can u help me
Hi - we are unable to provide help in RUclips comments, you could try asking for help in the official Arduino forums.
Is there an alternative way to power this like with a 9 volt battery to the Arduino
In general you don't want to use a 9V battery to power motors as they will drain the battery very quickly. Check out this video to learn more about your options for powering Arduino projects: ruclips.net/video/I7MrL5Q7zvY/видео.htmlsi=zagNwvLt5MSBBGNQ
Hey , i need to ask you something, so im doing a project which involves of linear motion of back and forth continuous without pressing buttons is it possible.... Could you please reply me it urgent ...🥺🥺🥺...
Hi - we can't provide help with individual projects like this in RUclips comments, we recommend asking on the official Arduino forums if you need help.
Im looking to see how to control a dc motor without buttons or switches. Just coded movement. How do i do this? Tutorials??
Hi - we recommend checking out our full Arduino tutorial playlist. You can control the motor's movement using hard-coded digitalWrite commands and delays, just like you would when blinking an LED as covered earlier in the playlist. This does not require any buttons or switches as inputs.
Hey, this is a fantastic video! I do need a hand with something though. I am trying to use this circuit to control a vinyl player (conceptually). I have allocated a button for forward and reverse but I want to use two potentiometers. One at max speed would turn the disc at 33 revolutions per minute and one would turn it at 45 revolutions per min. How do I map both with the same speed function? or what do i even do hahaha thanks :)
Hi - unfortunately we can't provide support to write code for individual projects like this. We have many other videos in our tutorial series, including earlier videos specifically about buttons and potentiometers that may help, but putting it all together to do exactly what you want is up to you :-). You may be able to get help with your code on the official Arduino forums.
is it possible that when you press the button it slowly starts and picks up speed...
Yes, this is possible - we can't provide coding help in RUclips comments, but you could ask for help in the official Arduino forums.
Can u make a tutorial on how to use a motor driver
We don't currently have plans for a separate motor driver tutorial, but many motor driver boards are simply breakout boards for an H-bridge like the L293D.
So can this be applied to 2000 rpm 12 V motor too?
The same concept applies but you will need to check the datasheet for your motor to see how much current it requires, and make sure the H bridge you purchase can handle that much current.
@@Science.Buddies so my plan is to first try and write the code for a small simple motor
Then I can use a large motor also I got some recommendations to use a l298n module
The code should be the same regardless of the motor size.
@@Science.Buddies ok thank you sir
Can you please write the arduino code
what simulator you are using?
It's called TinkerCAD (you can see the logo in the top left corner)
The simulator is called Tinkercad Circuits, we have a separate tutorial about it here: ruclips.net/video/9RF_BZ1Cg4k/видео.htmlsi=9QhBv4rMeamxNTDF
thank you
can you start putting the code down below so we can copy and paste. Please!!!
Hi - unfortunately the RUclips description field doesn't like Arduino code and the formatting gets messed up. For most of our newer videos there is a link to a Tinkercad Circuits simulation where you can copy the code, we're sorry we don't have it for all the old ones!
It turn off and on my headphone while im moving potentimeter not the motor
Hi, I am struggling to get this to work with no buttons. I have included Motor.h and Arduino.h and used your exact code. I get the error message of;
C:\Users\cespa\OneDrive\Documents\Arduino\libraries\L298_Motor_Driver\Motor.cpp: In member function 'void Motor::goPercentage(uint8_t)':
C:\Users\cespa\OneDrive\Documents\Arduino\libraries\L298_Motor_Driver\Motor.cpp:101:13: error: 'speed' was not declared in this scope
checkWrite(speed);
^~~~~
C:\Users\cespa\OneDrive\Documents\Arduino\libraries\L298_Motor_Driver\Motor.cpp:101:13: note: suggested alternative: '_speed'
checkWrite(speed);
^~~~~
_speed
exit status 1
Error compiling for board Arduino Uno.
Please help, thanks!
When you get an error message like that, it helps to google specific parts of it (not necessarily the parts with the file path on your computer, since that won't match what other people have when encountering the same error). When you see something like "error: 'speed' was not declared in this scope" that usually means a variable was not declared properly, e.g. "int speed" may be missing from the beginning of your program. Going forward, we can't provide much debugging help in RUclips comments, but the official Arduino forums can usually help.
It doesn't work. Why?????
my h bridge overheats super fast
program not working
:D
@@whatsupbudbud :D
what is the program he's using?
The simulation program we use in our tutorials is called Tinkercad Circuits and we have a video about it here: ruclips.net/video/9RF_BZ1Cg4k/видео.htmlsi=etlI65BHW12xj1Ln
How can I connect a second motor?
You can use the other side of the H-bridge to connect a second motor the same way you connected the first one.
@@Science.Buddies It doesnt work