Introduction: Intelligent Romote Car Based on Arduino
This project is based on the Arduino UNO development board to make a smart car. The car has Bluetooth wireless control, obstacle avoidance, buzzer alarm and other functions, and it is a four-wheel drive car,easy to turn.
Step 1: Buy Things You Need
We need to buy Arduino core board and expansion board, as well as buzzer, L298N motor driver module, BT-04A Bluetooth module, DC motor, battery holder, etc. Of course, acrylic plates for supporting modules are essential. Acrylic plates proper for this car is not easy to find, so link is provided below. You can find other things easily in shops.
Here is a link to acrylic board in Taobao: https://m.tb.cn/h.VlYWb3I?sm=a03a04
The software uses Bluetooth debugging assistant to control the car, and resources will also be attached.
Step 2: Build the Hardware Framework
We need to install the module in the proper position on the acrylic plate. As the acrylic plate purchased has more holes than we need, only pay attention to how to install it in the most convenient way to avoid repeated disassembly.
Because the installation of the motor is relatively simple and fixed, we focus on the installation of the control circuit above. Bluetooth and main board need to be used to receive signals. It is more appropriate to put them at the rear of the car. The battery base and batteries take up a large space. To ensure the balance of the car, they are placed in the middle position, and the motor drive module and obstacle avoidance module are placed in the front as shown in the pictures.
The following figure shows the installation pattern from the bottom and top respectively. The first picture shows the condition of the circuit from the bottom when the motor is not installed. Pay attention to buying more screws and copper pillars with different heights, so as to stagger from the space. The second picture is the situation of the car when it is fully installed. You can clearly see the motor drive module, battery, etc.
Step 3: Talks About Bluetooth
Bluetooth module is often used in the field of short distance wireless control. BT-04A Bluetooth module is selected in this project. Like HC series Bluetooth module, BT series Bluetooth module is often used, but its price is cheaper.
This module is mainly used in the field of short distance data wireless transmission. It can be easily connected with Bluetooth device of PC, and also can communicate data between two modules. Using this module can avoid tedious cable connection and can directly replace serial port cable.
This module is controlled by at 'AT' command set like Esp8266 WIFI module, GSM module. In order to facilitate the connection of different computers, we make car as the main mode, and the computer and mobile phone pair with the Bluetooth on the car end actively to obtain the control of the smart car. The computer-side Bluetooth debugging assistant is very perfect, many function instructions have been encapsulated into buttons, we just need to input control instructions. Note that before sending the control command, the computer must be connected to the car's Bluetooth first. This process may be stuck. Try several times more, and the mobile terminal is more convenient.
The mobile software is attached to this step for reference only, and the computer bluetooth port debugging software is recommended.
Step 4: Software Coding
The Arduino development environment is open source and can be downloaded directly from the Internet. The key steps in programming are explained below.
First of all, we define the key pins on the control board macroscopically for easy understanding and subsequent operation.
Then initialize the motor operation, as shown in the figure below, is the forward initialization operation. Note that the motor is driven by two poles, one high and one low, and vice versa. We mainly use this principle to control the motor.
The left-right movement is quite special. In order to make the left-right rotation so that the car will not move forward a lot, we take the way of left wheel backward and right wheel forward to turn left. The same goes for turning right. (since the effect of using analog signal is not very good, it needs constant debugging, and digital output is directly used here.)
After receiving the command from the serial port, the car can perform the corresponding operation according to the command. The figure shows the operation to get the forward command. One of the reasons why we choose BT-04A Bluetooth module is that it has been encapsulated into USART, with only four pins of TX, Rx, VCC and GND, which is very convenient for debugging and access
Step 5: Overview
Finally, attach the program code and the pictures of the car in different situations. This is the draft of the program, welcome to discuss together and improve this project.