Skip to content

This project is the realization of a Multi-Mode Mobile Robot based on the Arduino UNO platform, designed for optimal high-speed line following. It combines two distinct control modes to offer maximum flexibility.

Notifications You must be signed in to change notification settings

simonet4/RobotSumo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🤖 Autonomous Multi-Mode Robot (RC / Line Follow)

This project features a multi-mode robot controlled via a mobile application (Bluetooth) and capable of autonomous, stabilized line following.

Arduino Status

🎮 Try it Live! (Correction Logic Test)

This simulation demonstrates the robot's logic for stable line following. You can test the autonomous behavior by pressing the green sensor buttons.

Wokwi Simulation


✨ Modes & Features

The robot cycles between two main modes via the Mode Switch Button (D12):

Mode Control Method Primary Logic
RC Mode Bluetooth (Joystick X/Y/P) Direct control of motor speeds based on joystick coordinates.
Line Follow Autonomous Smart Correction System: Calculates how far the robot is from the center of the line to apply smooth, proportional motor speed adjustments, ensuring high-speed stability.

🛠️ Hardware Requirements

  • Microcontroller: Arduino Uno
  • Driver: L298N Motor Driver
  • Comms: HC-05/HC-06 Bluetooth Module
  • Ground Sensors: 3x IR Line Sensors (L/C/R)

🔌 Hardware Pinout (Arduino UNO)

Component Arduino Pin Description
Left Motor D5 (DIR), D7 (PWM) Left wheel control.
Right Motor A0 (DIR), A2 (PWM) Right wheel control.
Left Line Sensor A3 Left sensor input.
Center Line Sensor A4 Center sensor input.
Right Line Sensor A5 Right sensor input.
Mode Button D12 Toggles between RC and Line Follow modes.
Left LED D10 Turn indicator.
Right LED D11 Turn indicator.
Bluetooth (TX/RX) D3/D2 SoftwareSerial communication.

📱 Mobile Application Installation (MIT App Inventor)

The control application is provided as an MIT App Inventor file (.aia), pre-configured to send the correct Bluetooth protocol to the Arduino.

1. Download and Import the .aia File

  1. Download the application file : RC_SUMO_Controller.aia (File to be provided separately).
  2. Access MIT App Inventor : Go to ai2.appinventor.mit.edu.
  3. Import the project : Click on Projects > Import project (.aia) from my computer and select the provided file.

2. Connect and Protocol Details

  1. Generate the APK : In App Inventor, click Build > Android App (.apk file) and install the resulting file on your Android smartphone.
  2. Connect Bluetooth : Pair your phone with the HC-05/HC-06 module (pairing code is typically 1234 or 0000).
  3. App Protocol : The app sends a synchronized 5-byte packet at 9600 baud to control the robot:
Position Data Type Value Range Role
1 Sync Marker 255 Required start marker for packet synchronization.
3 Axis X $0$ to $250$ Lateral direction control (Joystick Left $\leftrightarrow$ Right).
4 Axis Y $0$ to $250$ Speed control (Joystick Forward $\leftrightarrow$ Reverse).
5 Power P $0$ to $100$ Maximum speed limit (Slider/Curser).

📄 License

MIT License - Copyright (c) 2024 simonet4

About

This project is the realization of a Multi-Mode Mobile Robot based on the Arduino UNO platform, designed for optimal high-speed line following. It combines two distinct control modes to offer maximum flexibility.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published