Category Archives: Tutorial

Arduino Tutorial 37: Understanding How to Control DC Motors in Projects

In this lesson we learn the ins and outs of controlling a DC Motor from an Arduino. A key aspect of this is to understand you must not connect a motor directly to an arduino. You need to either build a suitable transistor and diode circuit, or you need to utilize a motor controller, such as the L293D motor control chip.

DC Motor
DC Motor Controller Using the L293D control chip and an Arduino

The video below explains how to hook things up and how the code works.  You must always be mindful that you are using a motor with current requirements that are consistent with the motor controller and power supply you are working with. Failure to do so could result in damage to components or injury.

The circuit used in this video tutorial is shown below:

DC Motor Controller
Connection Diagram for a DC Motor Controller using the L293 Control Chip

It is a good practice to have all grounds connected in a circuit, so I would connect an arduino ground to the ground rail of the breadboard. The components used in this project are from the Elegoo starter kit, which you can pick up HERE. The code is described in the video, but if you need help, this is the code we used in the lesson.

 

Arduino Tutorial 36: Understanding How to Use Tilt Switches in Your Projects

Tilt Sensor
This Circuit Gives Visual Indicator if Board Has Been Tilted

This is a simple project that allows you to create a circuit which will give a visual indication if the breadboard has been tilted. In the upright position, the Green LED is illuminated. To the left of the board is a tilt switch. If the project is tilted, the switch will go from the closed to the open condition. This can be detected on the arduino, and then the red LED is illuminated. The video below explains how to do this simple project.

You can get the kit we are using in these lessons HERE. You should create your own code based on the instructions in the video, but if you are having trouble, I include the code developed in the video below:

 

Arduino Tutorial 35: Understanding How to Use a Stepper Motor

In this lesson we give you several examples of how to connect and program a stepper motor. Stepper motors are useful because they can produce very large torque at low RPM and are capable of extremely precise positioning. They are somewhat tricky to use, and you must be careful to not try and power them from an Arduino. Arduino can control stepper motors, but they must be powered from an external power supply.

If you want to follow along at home, you can order the Arduino Kit we are using HERE.

This is the code that allows you to toggle the direction of the stepper motor by pressing a pushbutton. The video shows all the details and how to connect the motor up.

 

Arduino Tutorial 34: Simplest Way to Use a Pushbutton Switch

In this lesson we show you a quick hack that will allow you to incorporate a pushbutton switch into an Arduino project without having to use an external pullup resistor, and still get very stable operation. The trick is to create a digital input pin, which in our example is pin 2. We then digitalWrite that INPUT pin HIGH. What that does is put an internal pullup resistor on pin 2, and then connects it to 5 volts. In effect, we are using a clever command to use the Arduino’s internal pullup resistors. The code below is what we used in the video. Enjoy!

 

Arduino Tutorial 33: Understanding How to Control Servos with a Joystick

In this lesson we show you how to precisely control the position of two servos using a joystick. We derive the math equations which will allow you to get smooth and precise control of the servo. We also add a buzzer to the project to create an audible alarm when the button the joystick is pressed.

If you want to follow along at home, you can order the Arduino Kit we are using HERE.

Typically, the servos in electronics kits are not the best ones, but are suitable to learn with. If you want a more stable and better quality servo, this is the one I user in more of my projects: HiTEC

Below is the code we developed in this project.