EnejiBot Mobile Robot Platfrom image

EnejiBot Mobile Robot Platfrom

Project Overview

A robotic platform that I built at the beginning of my 200 Level second semester. This robot involved a lot of C++ programming handling bluetooth communication with PS3 controller, Motor Control Using the LedCWrite Esp32 API controlling a L298N Motor Driver. I also built a custom Servo Library due to esp32 framework instability, I implemented and tuned a PID Controller to enable the robot to move in straight paths and face target directions making use of the MPU6500. I made use of an SSD1306 128x64 pixels display programming a Display panel to data reporting such as actual heading relative to calibrated position, Battery Level (Used a voltage divider and 12 bit ESP32 ADC), Connection Status to ESP32 CAM AI THINKER board and PS3 Controller. One other feature was the use of an RFID card to unlock the robot before usage or using a secret key combination on the PS3 controller to unlock. The main MCU i used was the ESP32 Dev module running the Robot Firmware I programmed.

Skills Used

C++ Programming Embedded Systems ESP32 Hardware Prototyping/Fabrication 3d Printing PID control Mobile Robotics Circuit Design