This was as collaborative project to develop an autonomous guided vehicle with movement simulation and obstacle avoidance.
The robot car combines autonomous navigation using sensors with manual control via Bluetooth, demonstrating an integration of hardware and software for IoT and robotics applications.
It also includes serial communication with Tera Term for movement logging and a C++ visualization program using SFML to map the robot’s path.
- Autonomous Mode
- Uses ultrasonic sensors to detect obstacles and navigate paths without human input.
- Manual Mode
- Controlled through a Bluetooth-enabled mobile app that sends control signals (forward, backward, left, right, stop)
- Data Logging
- Movement data transmitted from Arduino to a PC using Tera Term.
- Logs are saved in CSV format.
- Path Visualization
- A C++ program built with SFML reads the CSV log and generates a 2D path map of the robot’s movements.
Hardware Components:
- Arduino Uno (microcontroller)
- Ultrasonic sensors (for obstacle detection)
- Motor driver module (for wheel control)
- Bluetooth module (for manual control)
- DC motors with wheels
- Power supply (battery pack)
Software Tools:
- Arduino IDE (programming)
- Tera Term (serial communication & CSV logging)
- C++ with SFML (path visualization)
- TinkerCad (design and circuit simulation)
-
Autonomous Mode
- Ultrasonic sensors continuously scan surroundings.
- Arduino decides whether to move forward, turn left, or turn right based on distance thresholds.
-
Bluetooth Manual Mode
- Mobile app sends control signals (forward, backward, left, right, stop).
- Arduino interprets commands and drives motors accordingly.
-
Data Transmission with Tera Term
- During movement, Arduino logs direction and step/distance data.
- Data is streamed over serial to Tera Term, which records it into a CSV file.
-
Path Visualization with SFML
- A C++ program built using the SFML graphics library parses the CSV file.
- It plots the robot’s movement as a simple 2D path map, showing how the car navigated its environment.
- Demonstrated the ability to integrate hardware (sensors, motors, Bluetooth) with software (Arduino programming).
- Achieved dual-mode control (autonomous + manual).
- Implemented a full wireless data pipeline: Arduino → Bluetooth → Tera Term CSV logging → C++/SFML visualization.
- Showcased real-time IoT concepts and graphical path mapping.