[ Selected work ] / 2024
EDURov Submarino
>>> Summary
Control system for a robotic submarine built on Arduino, supporting multiple input methods (joysticks, PS4/PS5 controllers).
- Stack
- Arduino, C++, Python, Robotics, Electronics
- Year
- 2024
>>> Details
EDURov-Subma is an educational project developed at IES Las Veredillas that implements an advanced control system for a robotic submarine (ROV) using Arduino. The system stands out for its versatility, offering multiple control options and real-time feedback.
Main Features
๐ฎ Multiple Control Options The system lets you operate the submarine in three different ways:
- +Analog joysticks: Direct control through two physical joysticks (horizontal and vertical movement).
- +PS4/PS5 controller: Connected via USB Host Shield through an intermediate Python script.
- +Software control: Commands sent directly from a Python script.
โ๏ธ Propulsion System Precise control of three DC motors:
- +Motors A and B: Handle horizontal movement (forward, backward, turns).
- +Motor C: Dedicated exclusively to depth control (up/down).
๐ฅ๏ธ Visual Feedback Integration of a 16x2 I2C LCD screen to show system status and telemetry data in real time.
Technologies and Hardware
Hardware
- +Microcontroller: Arduino UNO (or compatible).
- +Motor drivers: L298N or L9110 for power management.
- +Communication: USB Host Shield for peripherals and Serial communication.
- +Interface: LCD screen with I2C module.
Software
- +Arduino (C++): Main firmware with dead-zone handling to avoid noise in the controls.
- +Python: Scripts for the controller interface (using
pygame) and serial communication (pyserial). - +Libraries:
LiquidCrystal_I2C,USB Host Shield Library 2.0.
Project Structure
The code is organized modularly to ease maintenance and scalability:
- +
/codigo: Contains the main sketches for each control mode. - +
/tests: Unit-test scripts for motors, LCD, joysticks and the USB shield.