Video working with ultrasonic sensor and DC motors. In this video, we will learn the basics of ultrasonic sensors, its applications, it's working principle, and later we will learn how to interface it to the Raspberry Pi. After that, we will learn about the DC motor, its working principle and about motor drivers. Finally, we will learn how to interface a DC motor to the Raspberry Pi. We end up with an activity to use both the ultrasonic sensor and DC motor to create an obstacle avoidance robot. Betsy ASR 04 ultrasonic sensor is the best candidate as it is low cost readily available and can detect the distance between two centimeters to 400 centimeters.
The head says r 04 ultrasonic sensor uses sonar to determine the distance to An object like bats or dolphins do it offers excellent non contact range detection with high accuracy and stable readings in an easy to use package. The module has two eyes that project in the front, which form the ultrasonic transmitter and receiver as shown here, at ASR 04 ultrasonic sensor is a fopen module for spin names are Vcc, trigger, Echo and ground respectively. The ultrasonic transmitter transmits an ultrasonic wave, this wave travels in the air and when it gets obstructed by any material, it gets reflected back towards the sensor. And this reflected wave is observed by the ultrasonic receiver module. If we measure the time it took for the sound to written and divided by two, we will get the time the sound signal to reach the object As we know that the speed of sound and air is 340 meters per second, we can easily calculate the distance between the source and the object with the following formula, the sound frequencies set at 40 kilo hertz and the transmitter is enabled.
With swinging the trick pin high. We wait for the sound to reflect from any object in front of it. And when it reached the receiver, output on the echo pin, swing from low to high. This is the basic principle of working off an ultrasonic sensor. The ultrasonic sensor is used in a wide variety of applications as follows. One used to award and detect obstacles with robots like bipedal robot, obstacle, avoider, robot, pathfinding, robot, etc.
To can be used to map the objects surrounding the sensor by rotating it three depth of certain places. Like wells, pits etc, can be measured. Since the waves can penetrate through the water. We can power the sensor using a regulator plus five volts through the VCC and ground pins of the sensor. The current consumed by the sensor is less than 15 milli amperes enhance can be directly powered by the onboard five volts pins of the Raspberry Pi four. Let's start interfacing the sensor to the Raspberry Pi four connect the VCC to any five holes pin of the PI and G and D to energy and the pins of the pie.
Next, connect the trigger pin of the sensor to GPIO 24 pin. Now we need to connect the echo pin to the PI. The problem is that the Raspberry Pi GPIO pins can only tolerate a maximum of 3.3 holes. But the echo pen is working in five volts logic Thus, we need to use a voltage divider with a combination of 330 ohms and 470 ohms resistors. Fix a jumper at the junction point of the two resistors and wire it up to GPIO 23 pin. The interfacing is now done.
Now open the distance sensor dot p bi in Tony ID and run the script. You can see that when I move my hand horizontally in front of the sensor, the distance in meters is printed out in the shell. In the code, we first imported the class distance sensor from the GPIO zero library. Then we imported the sleep class from the time library. When you create the object using the class distance sensor, you need to specify the GPIO pin numbers of the pie where the echo and trig pins are connected and you should enter the numbers In that order only. First, the GPA of number of echo den trig.
This infinite loops check every second and uses the sensor dot distance method to collect and print out the distance in meters on the shell. Next, let's move on to work with motors in the Raspberry Pi for the DC motor is a machine that transforms electrical energy into mechanical energy in the form of rotation. Its movement is produced by the physical behavior of electromagnetism. DC motors have injectors inside which produce the magnetic field used to generate movement. But how does this magnetic field changes if DC current is being used, an electromagnet, which is a piece of iron wrapped with a wire coil that has voltage applied to its terminals. If two fixed magnets are added on both sides of the circular magnet The repulsive and attractor forces will produce a talk.
But how can a DC motor be controlled DC motors have only two terminals. If you apply a voltage to these terminals, the motor will run. If you invert the position of the terminals, the motor will change his direction. If the motors running and you certainly disconnect both terminals, the motor will keep rotating but slows down until stopping. Finally, if the motors running and you suddenly short circuit both terminals, the motor will stop. Motor requires a high amount of current, whereas the Peiffer works on low current signals.
Thus, we need a special chip called motor driver controller to provide that extra power. Motor drivers act as an interface between the motors and the control circuits. So the function of motor drivers is to take a look around control signal and then turn it into a high current signal that can drive a motor. The motor driver will require a separate source of power to do this, the most commonly used motor driver is the L 239. d motor driver I see this IC can provide up to 600 milli amperes of current. Even a small five volts DC motor draws a high initial current of around 300 to 400 milli amperes. Thus, this IC fits the bill.
Before interfacing a DC motor to your PI four, make sure you have an L 239. d motor driver module and a power supply capable of providing the motor driver with more than 4.5 volts at 600 milli amperes. The Nb 102 breadboard power supply is sufficient for driving motors. First, connect the VCC pin of the motor driver to the five volt spin of the power supply then connect the G and a pin of the motor driver to one of the ground pins of the power supply. The next important step is to make sure that the PI the motor driver and the supply shares the same ground does connect any other grandparent have the power supply to any grandparent of the PI to control the first motors direction of rotation, we are given two input pins i n one and i n to first connect the i n one to GPIO four then connect it to GPIO 14 on the Raspberry Pi four.
We will now interface a single DC motor across the motor one output pins. Now the basic interfacing is done. So when the i n one is high and I N two is low, the motor rotates forwards and when the eye into is high If one is low, it rotates backwards, open the DC motor dot p VA script in the repository and run it. Now you can see that the motor rotates forwards, then backwards then stops and finally continue rotating backwards. Each operation was given five seconds of time in the code. In the code, you can see that we first imported the motor class from the GPIO zero library, along with the sleep class from the time library during object creation, we have entered these two parameters to define the pin functions.
We have assigned GPIO pin four to the forward variable and GPIO 14 to the backward variable. This basically tells the PI that if you set pin for high, the motor will move forwards and if the pin 14 is set high, it will move backwards. These three methods help to initiate the different modes. For the motor, it's either forward, backward or stop. The GPIO zero library creators have gone even further to create a separate library called robot that is specially designed to work with two motors and makes it very simple to do all the movements like left, right, forward, backward and stop very easily. You can see how easy it is from the code shown on the screen.
I will now give you an activity make a robot that uses the distance sensor to detect things nearby and moves away from an obstacle. If it is within 20 centimeters of the robot. I was able to do this with just seven lines of code. What about you do share your code in the assignment section. I have provided the code for the obstacle avoidance robot in the resources section. Summary In this video, we We have covered the following working principle and interfacing of ultrasonic sensor hit CSR zero form, working principle and interfacing of DC motors and motor driver activity to create an obstacle avoidance robot.
In the next video, we will learn to work with you art, IOC and SPI protocols in the Raspberry Pi four