Project Title: RC Robo Car for Nepathya Intra-College RC Robo Racing Competition
Team Name: The JEEZ
Award: Second Runner-up, Nepathya Intra-College RC Robo Racing Competition
This project is a remotely controlled (RC) robotic car designed for participation in the Nepathya Intra-College RC Robo Racing Competition.
The objective was to design and build a functional, efficient, and responsive robotic car that could compete on various racing tracks, involving obstacles and tight turns, in a race against time.
- Remote control via Web Interface: The car is controlled through a custom web interface hosted on the ESP8266 WiFi module.
- Directional control: Supports moving forward, backward, left, and right.
- Responsive Speed Control: Adjustable motor speed via a range slider.
- Stop Function: Instant stop button for immediate halting of movement.
- Custom ESP8266 Web Server: A custom-built web server runs on the ESP8266 microcontroller, allowing for real-time car control.
- Optimized Movement: Enhanced movement control where the car responds to button presses for turning (left/right) without holding the buttons. The same logic is applied for forward and backward movement.
- ESP8266 WiFi Module: Hosts the web server and handles the car's movement through WiFi.
- L298N Motor Driver: Controls the DC motors based on signals received from the ESP8266.
- DC Motors: four motors to drive the wheels of the robotic car.
- Car Chassis: A simple chassis supporting two DC motors, wheels, and caster.[chassi was made form recycled wodden boards ]
- 12V Battery: Powers the motor and electronic components.
- Wires and connectors: To connect components on the car.
- Breadboard (optional): Used for testing the circuits.
- Arduino IDE: Used for writing and uploading the code to the ESP8266 microcontroller.
- KiCAD: (Optional) For PCB design and schematic representation.
- HTML/CSS/JavaScript: To build the user interface for car control.
- C++: Used in Arduino IDE for controlling motor functions and handling web requests.
- processing 4 : we also included a radar scanning area and provides the visual output of distance, But ew removed this radar thing from car {Because it was un-necessary feture for our project}
The car's circuit is based on the ESP8266 WiFi module, L298N motor driver, and the DC motors connected to a 12V battery.
Below is a high-level view of how components are connected:
- GPIO5 (D1) β Motor IN1
- GPIO4 (D2) β Motor IN2
- GPIO0 (D3) β Motor IN3
- GPIO2 (D4) β Motor IN4
- GPIO12 (D6) β Motor ENA (PWM control for motor speed)
- GPIO14 (D5) β Motor ENB (PWM control for motor speed)
- WiFi Access Point:
The ESP8266 acts as an Access Point, creating a local network to connect the controller device (e.g., phone, laptop).
- Web Server:
The web server hosts a simple UI for car control, featuring directional buttons and a speed slider.
- Motor Control:
The motors are controlled using digitalWrite for direction and analogWrite for speed control through Pulse Width Modulation (PWM).
-
Custom Movement Logic:
Real-time response for left and right turns only while pressing the buttons.
Similar hold-to-move logic for forward and backward movement.
Key Code Snippets:
Movement Functions:
void moveForward() { /* Control logic for forward movement */ }
void moveBackward() { /* Control logic for backward movement */ }
void turnLeft() { /* Control logic for left turn */ }
void turnRight() { /* Control logic for right turn */ }
void stopCar() { /* Stops all motor activity */ }
Speed Control:
void setSpeed() {
if (server.hasArg("value")) {
speed = server.arg("value").toInt();
// Update motor speed based on user input
}
}
The web interface has a simple design with directional buttons and a slider for speed control, as well as real-time feedback for button presses.
While the project was a success, a few improvements can be made:
Make the web interface more interactive with better visual feedback.
Mobile Compatibility: Fully optimize the web interface for different screen sizes.
Autonomous Features: Implementing autonomous driving modes using sensors like ultrasonic sensors.
Further Speed Optimization: Fine-tuning the speed control for smoother acceleration.
The JEEZ RC Robo Car Project was a great learning experience for our team. By leveraging the power of ESP8266 and basic robotics principles,
we successfully built a robust car that earned us Third place in the Nepathya Intra-College competition. We plan to continue enhancing this project by adding more sophisticated features and improving the control system
< We may not update code in this reppo before another race >.
we managed to get second runner-up position with very minimal cost and design
- no complexity, less money π
- Cost: Rs.2000 NRP or 14.90 $USD
- we used used wooden block from collage for Chassis and designing outer cover <Free of cost π >
- winning prize 5000 + participation cost 3500
- Participation cost was given to every teems participating [ to cover up the cost of making, designing car ], but in our case cost was less than 2000, SO IT WAS WIN WIN SITURATION π
- we removed outer cover of car in last minutes of race for better speed and less weight since we had obstacle like: a dead jump β οΈ , two big plates of water π€£, narrow wodden block, teen π₯² and meny more
- Project engineered by @aakku106 / Adarasha Gaihre