Make Your Own Sumobots ( and Battle ! )
by Debottam Das in Circuits > Robots
530 Views, 1 Favorites, 0 Comments
Make Your Own Sumobots ( and Battle ! )
Welcome to my instructable ! Hope you are doing fine ! Today, I am going to provide you with some steps with the help of which you will be able to make your own sumobots and make them battle ! Sounds fun right ?
I wanted to participate in the robots contest 2021 but I had an exam coming up so I decided to make a simple robot using raw materials which were already present in my home. Luckily, the idea of making the sumobot just popped in my head and here I am.. instructing you on how you can make your own !
This is a very fun game ! You can play it with your family and friends.
NOTE :- In this instructable I will be making 1 sumobot but you can make as many you want. The quantities of the supplies given below are based on 1 sumobot.
So without any further delay, let's dive into it !!
Supplies
The supplies needed for the sumobot and battle ring are listed below :-
Supplies for each sumobot :-
- Arduino UNO X 1
- Motor driver module X 1
- Red LED X 1
- Piezo buzzer X 1
- Many jumper wires
- 2-Wheeled car chassis( motors included ) X 1 ( I prefer this chassis )
- IR sensor X 1
- HC-05 Bluetooth module X 1
- 1K ohm resistor X 1
- 220 ohm resistor X 1
- NPN transistor X 1
- Mini breadboard X 1
- Li-ion battery (3 pcs)
Supplies for the battle ring :-
- Black paint
- Plywood || Dimensions - 58 inch X 58 inch ( The bigger the plywood, the better !! I also recommend using a square plywood )
NOTE :- Make sure that the plywood is NOT dark colored. It will be best if it is white / yellow.
Overview
There will be a battle ring and the sumobots need to push each other out of the ring. The moment the bot is out of the ring, the IR sensor will sense it and react accordingly. The robots are simple Arduino cars which can be further modified by adding parts. I believe that 2 wheeled robot cars will make a better sumobot. The bot will be able to move forward, backward, left or right based on signals received by the Arduino. The signals are received by Arduino wirelessly. You can use HC-05 Bluetooth module for wireless transmission.
First, we build our bots, then we build our battle ring and finally we battle !!
Assemble Your Car Chassis
Before we start with the circuits, we need to assemble the chassis and install the motors.
Given below are the steps to assemble the chassis :-
- Motor Mounting Brackets are used to fixed the DC motors to the frame.
- Slide the bracket into the slot indicated in red circle in the 1st image and flip the unit to start mounting the motors.
- Ensure the dot is facing inwards when assembling the frame to the chassis. Shown with a green circle.
- The wire leads will be facing outwards.
- The motors will be facing the bottom. Shown with the red arrow
- Place another Motor Bracket on the outside, the grove will allow for the bracket to slide in.
- Using the long screw provided, slide it into the two brackets and motor.
- To fasten the nut, gently squeeze the motor and bracket and push the unit outwards.
- Using the brass spacers and screws, mount the caster wheel on the same side as the motors. The wheel will align over the circled holes shown in the 3rd image.
If you are facing any problems, check the attached images.
What We Want to Achieve
What we want to achieve :-
The whole task of a sumobot is divided into two subtasks.
- The HC-05 Bluetooth module will receive orders from the smartphone and send it to the Arduino UNO. Based on the signals received, the Arduino UNO will compute and send the data to the motor driver module which in turn will drive the motors accordingly.
- On the other hand, the IR sensor connected to the Arduino will always be on the lookout of the black-colored ring (Battle ring). As soon as the IR sensor senses the black ring, The buzzer will go Beep and the red LED will blink which will help the players understand who won the round.
Arduino Circuit for Each Sumobot
For the Arduino circuit of each sumobot, we will need :-
- 1 Arduino UNO
- Li-ion batteries ( 3pcs where each piece is 3.7V)
- 1 Motor driver module
- 1 piezo buzzer
- 1 red LED
- 1 NPN transistor
- a 220 OHM resistor
- a 1K OHM resistor
- 1 HC-05 Bluetooth module
- 1 IR sensor
Connections :- ( If you face any problems, look up the attached image for clearing your confusion.)
- HC-05 Bluetooth module to Arduino :
- RX to Digital Pin 11
- TX to Digital Pin 10
- GND to breadboard - power rail.
- VCC to breadboard + power rail.
2. IR sensor to Arduino :
- OUT to Digital Pin 12
- GND to breadboard - power rail.
- VCC to breadboard + power rail.
3. L298n motor driver module to Arduino :
- INT 1 to Digital Pin 3
- INT 2 to Digital Pin 4
- INT 3 to Digital Pin 7
- INT 4 to Digital Pin 8
- 12V connected to POS terminal of Li-ion battery
- GND to breadboard - power rail.
4. L298n motor driver to motors :
- POS terminal of left motor to OUT 1
- NEG terminal of left motor to OUT 2
- NEG terminal of right motor to OUT 3
- POS terminal of right motor to OUT 4
5. Red LED to Arduino :
- Vin of LED to Digital Pin 9.
- GND of LED is connected to breadboard - power rail using 220 OHM resistor.
6. Buzzer to Arduino :
- Vin of buzzer to breadboard + power rail.
- GND of buzzer to collector pin of transistor.
- Base of transistor is connected to Digital Pin 2 using a 1K OHM resistor.
- Emitter of transistor to breadboard - power rail.
7. Other connections :
- Arduino Vin is connected to 5V supply of L298n driver.
- Arduino +5V OUT to breadboard + power rail.
- Arduino GND to breadboard - power rail.
- GND of Li-ion battery to breadboard - power rail.
NOTE : The IR sensor should be attached to the lower side of the bot and at a distance of 2cm from the ground/battle ring.
Programming the Sumobot
NOTE : Make sure that the RX pin of the Arduino is NOT connected while uploading the code !
The Arduino code of the sumobot is provided below :-
char i_data; //used to store the data received from the phone
const int led_pin = 9;
const int buzz_pin = 2;
const int IR_pin = 12;
void setup() { // put your setup code here, to run once:
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(led_pin, OUTPUT);
pinMode(buzz_pin, OUTPUT);
pinMode(IR_pin, INPUT);
Serial.begin(9800); }
void loop() { // put your main code here, to run repeatedly:
if(Serial.available())
{
i_data = Serial.read(); // stores the data received from phone
if(digitalRead(IR_pin) == HIGH) // if detects the black ring
{
digitalWrite(buzz_pin, HIGH); // buzzer will go Beep
delay(2000);
for(int i = 1; i<=4; i++) // LED blinks 4 times
{
digitalWrite(led_pin, HIGH);
delay(1000);
digitalWrite(led_pin, LOW);
delay(1000);
} }
switch(i_data)
{ case 'F':
digitalWrite(3, HIGH);
digitalWrite(4, LOW);
digitalWrite(7, HIGH);
digitalWrite(8, LOW);
break;
case 'B':
digitalWrite(3, LOW);
digitalWrite(4, HIGH);
digitalWrite(7, LOW);
digitalWrite(8, HIGH);
break;
case 'L':
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(7, HIGH);
digitalWrite(8, LOW);
break;
case 'R':
digitalWrite(3, HIGH);
digitalWrite(4, LOW);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
break;
case 'S':
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
break;
default:
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
} }}
Connecting the Sumobot to Your Smartphone
You may use the app ' Arduino Bluetooth control ' for connecting the smartphone to the sumobot.
After opening the app, pair your smartphone to the device named ' HC-O5 '.
There are several options using which you can control the bot like : arrow keys or keypad etc..
I suggest that you should use the arrow keys as they might work better. However, it's your choice how you wish to control the bot.
You can change the button's sensitivity from the settings.
Making the Battle Ring
The battle ring will be very easy to make !
All you need to do is make a huge black circle which can easily accommodate the sumobots. The circle should be huge enough for the sumobots to move around.
Fear not ! The circle doesn't have to be perfect.
Furthermore, you can also decorate the battle ring.
- You may add miniature stairs to all sides of the battle ring.
- You may gather many flash lights and focus the light at the battle ring from above while keeping the room dark.
These were my suggestions but it's up to you how you want to decorate your battle ring.
Modifications of the Sumobot
Till now, I have just shown you how you can make the basic build of the sumobot but the bot will be incomplete if it lacks some special features ! You can modify the sumobot by adding parts which will help you win the match easily. You can add any part of your choice. In this step I will suggest you with three ways by which you can upgrade your sumobot.
3 ways by which you can modify the sumobot :-
- By increasing the torque of the motors. (Your bot will be able to push easily)
- By adding a slope. (A slope at the front of your bot will lift the front wheel of the rival's bot during collision)
- By increasing the weight of the sumobot. (If you choose this option, I suggest to increase the torque of the motors as well)
Battle !!
In order to score a point, you need to push the bot of your rival outside the ring using your sumobot.
If a sumobot crosses the black ring, the Buzzer will go BEEP and the red LED of the bot( which has crossed the black ring) will blink 4 times.
So,
Find an opponent.
choose your sumobot
place your bot inside the ring
And 3...2...1... FIGHT !!!!