in this instructable i am going to show you to how to build a android controlled car or rover .
How Does the Android-Controlled Robot Work?
The Android application controlled robot communicates via Bluetooth to the Bluetooth module present on the robot. While pressing each button on the application, corresponding commands are sent via Bluetooth to the robot. The commands that are sent are in the form of ASCII. The Arduino on the robot then checks the command received with its previously defined commands and controls the bo motors depending on the command received to cause it to move forward, backward, left, right or to stop.
Step 1: Things Needed
What is Arduino?
Arduino is an open-source electronics platform based on easy-to-use hardware and software. Arduino boards are able to read inputs - light on a sensor, a finger on a button, or a Twitter message - and turn it into an output - activating a motor, turning on an LED, publishing something online. You can tell your board what to do by sending a set of instructions to the microcontroller on the board. To do so you use
the Arduino programming language (based on Wiring), and the Arduino Software (IDE), based on Processing.
Over the years Arduino has been the brain of thousands of projects, from everyday objects to complex scientific instruments. A worldwide community of makers - students, hobbyists, artists, programmers, and professionals - has gathered around this open-source platform, their contributions have added up to an incredible amount of accessible knowledge that can be of great help to novices and experts alike.
Arduino was born at the Ivrea Interaction Design Institute as an easy tool for fast prototyping, aimed at students without a background in electronics and programming. As soon as it reached a wider community, the Arduino board started changing to adapt to new needs and challenges, differentiating its offer from simple 8-bit boards to products for IOT applications, wearable, 3D printing, and embedded environments. All Arduino boards are completely open-source, empowering users to build them independently and eventually adapt them to their particular needs. The software, too, is open-source, and it is growing through the contributions of users worldwide.
The Atmel 8-bit AVR RISC-based microcontroller combines 32 KB ISP flash memory with read-while-write capabilities, 1 KB EEPROM, 2 KB SRAM, 23 general purpose I/O lines, 32 general purpose working registers, three flexible timer/counters with compare modes, internal and external interrupts, serial programmable USART, a byte-oriented 2-wire serial interface, SPI serial port, 6-channel 10-bit A/D converter (8-channels in TQFP and QFN/MLF packages), programmable watchdog timer with internal oscillator, and five software selectable power saving modes. The device operates
between 1.8-5.5 volts. The device achieves throughput approaching 1 MIPS per MHz.
HC-05 module is an easy to use Bluetooth SPP (Serial Port
Protocol) module, designed for transparent wireless serial connection setup.
Serial port Bluetooth module is fully qualified Bluetooth V2.0+EDR (Enhanced Data Rate) 3Mbps Modulation with complete 2.4GHz radio transceiver and baseband. It uses CSR Bluecore 04-External single chip Bluetooth system with CMOS technology and with AFH(Adaptive Frequency Hopping Feature). It has the footprint as small as 12.7mmx27mm. Hope it will simplify your overall design/development cycle.
Typical -80dBm sensitivity
Up to +4dBm RF transmit power
Low Power 1.8V Operation ,1.8 to 3.6V I/O
UART interface with programmable baud rate
With integrated antenna
With edge connector
Default Baud rate: 38400, Data bits:8, Stop bit:1,Parity:No parity, Data control: has.
Supported baud rate: 9600,19200,38400,57600,115200,230400,460800.
Given a rising pulse in PIO0, device will be disconnected.
Status instruction port PIO1: low-disconnected, high-connected;
PIO10 and PIO11 can be connected to red and blue led separately. When master and slave
are paired, red and blue led blinks 1time/2s in interval, while disconnected only blue led blinks 2times/s.
Auto-connect to the last device on power as default.
Permit pairing device to connect as default.
Auto-pairing PINCODE:”0000” as default
Auto-reconnect in 30 min when disconnected as a result of beyond the range of connection.
3.bo motor with wheels
Gear motors are commonly used in commercial applications
where a piece of equipment needs to be able to exert a high amount of force in order to move a very heavy object. Examples of these types of equipment would include a crane or lift Jack.
If you've ever seen a crane in action, you've seen a great example of how a gear motor works. As you have probably noticed, a crane can be used to lift and move very heavy objects. The electric motor used in most cranes is a type of gear motor that uses the basic principles of speed reduction to increase torque or force.
Gear motors used in cranes are usually specialty types that use a very low rotational output speed to create incredible amounts of torque. However, the principles of the gear motor used in a crane are exactly the same as those used in the example electric time clock. The output speed of the rotor is reduced through a series of large gears until the rotating, RPM speed, of the final gear is very low. The low RPM speed helps to create a high amount of force which can be used to lift and move the heavy objects.
4.l298 motor driver
The L298 is an integrated monolithic circuit in a 15-lead
Multiwatt and PowerSO20 packages. It is a high voltage, high current dual full-bridge driver designed to accept standard TTL logic levels and drive inductive loads such as relays, solenoids, DC and stepping motors. Two enable inputs are provided to enable or disable the device independently of the input signals. The emitters of the lower transistors of each bridge are connected together and the corresponding external terminal can be used for the connection of an external sensing resistor. An additional supply input is provided so that the logic works at a lower voltage.
OPERATING SUPPLY VOLTAGE UP TO 46V
LOW SATURATION VOLTAGE
TOTAL DC CURRENT UP TO 4A
LOGICAL \"0\" INPUT VOLTAGE UP TO 1.5 V (HIGH NOISE IMMUNITY)
A stable dc power supply is nesssory for the proper
working of the electronic system.the required dc poweris obtained by two 18650 li-ion 2500mah batteries . but the microcontroller needs 5v to work correctly… so we added a 5v regulator . that is a lm7805 used.
Step 2: Circuit Diagram
Step 3: Pcb
solder everthing in a dot board
Step 4: Chase Making
i used acrylic to make the chase
Step 5: Application
RemoteXY is easy way to make and use a mobile graphical user interface for controller boards to control via smartphone or tablet. The system includes:
· Editor of mobile graphical interfaces for controller boards, located on the site remotexy.com
· Mobile app RemoteXY that allows to connect to the controller and control it via graphical interface. Download app.
· Distinctive features:
The interface structure is stored in the controller. When connected, there is no interaction with servers to download the interface. The interface structure is downloaded to the mobile application from the controller.
One mobile application can manage all your devices. The number of devices is not limited.
· Connection between the controller and the mobile device using:
WiFi client and access point;
Ethernet by IP or URL;
Internet from anywhere through the cloud server.
· The source code generator have support next controllers:
Arduino UNO, Arduino MEGA, Arduino Leonardo, Arduino Pro Mini, Arduino Nano, Arduino MICRO;
WeMos D1, WeMos D1 R2, WeMos D1 mini;
NodeMCU V2, NodeMCU V3;
ChipKIT UNO32, ChipKIT uC32, ChipKIT Max32;
· Supported communication modules:
Bluetooth HC-05, HC-06 or compatible;
Ethernet Shield W5100;
· Supported IDE:
· Supported mobile OS:
· RemoteXY is easy way to make a unique graphical interface to control microcontroller device via mobile application, Arduino for example.
· RemoteXY allows:
· To develop any graphical management interface, using the control, display and decoration elements any combination thereof. You can develop the graphical
· interface for any task, placing the elements on the screen using the online editor. Online editor posted on the website remotexy.com.
· After the development of the graphical interface, you get the source code for the microcontroller that implements your interface. The source code provides a structure for interaction between your program with the controls and display. Thus you can easily integrate the control system into your task for which you are developing the device.
· To manage microcontroller device using your smartphone or tablet with the graphical interface. For manage used mobile application RemoteXY.
At the beginning of defined a pins that will be used to control the motors. Further - pins are grouped into two arrays, both left and right motor respectively. To control each motor via the driver chip L298N necessary to use three signals: two discrete, the rotating direction of the motor, and one analog, determining the rotational speed. Calculation this pins we have engaged in the function Wheel. The input to the function is passed a pointer of pin's array selected motor and the speed of rotation as a signed value from -100 to 100. If you value of speed is 0, the motor is switched off.
In a predetermined function setup configured are outputs pins. For analog signal used pins, which can operate as a PWM converters. This pins 9 and 10, they do not require configured in the IDE Arduino.
In a predetermined function loop in each iteration of program calling the handler RemoteXY library. Further there is the control of LED, then controls the motors. For motor control read the joystick coordinates X and Y from fields structure of RemoteXY. Based on the coordinates is operation to calculate the speed of each motor, and call function Wheel, is set the speed of the motor. These calculations are performed in each cycle of the program, ensuring continuous control calculations pins of motors based on the coordinates of the joystick.
DOWNLOAD REMOTEXY FROM PLAYSTORE
Step 6: PROGRAM
Step 7: FINAL LOOK
This is an entry in the