https://github.com/omanshu209/pyduino-bot-iot
A set of programs(including the circuit) used in an Arduino(micro-controller / µC)-based robot resembling a rover! It is controlled by a game developed using the Pygame(a python library) through WiFi.
https://github.com/omanshu209/pyduino-bot-iot
arduino arduino-uno esp32 esp32-cam pygame python python3 robotics wifi
Last synced: 2 months ago
JSON representation
A set of programs(including the circuit) used in an Arduino(micro-controller / µC)-based robot resembling a rover! It is controlled by a game developed using the Pygame(a python library) through WiFi.
- Host: GitHub
- URL: https://github.com/omanshu209/pyduino-bot-iot
- Owner: Omanshu209
- License: mit
- Created: 2023-04-20T13:30:51.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-05-04T09:04:26.000Z (about 2 years ago)
- Last Synced: 2025-01-30T09:13:25.768Z (over 1 year ago)
- Topics: arduino, arduino-uno, esp32, esp32-cam, pygame, python, python3, robotics, wifi
- Language: C
- Homepage:
- Size: 1.81 MB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
PyDuino Bot
A set of programs used in an Arduino(micro-controller / µC)-based robot resembling a rover! It is controlled by a game developed using the Pygame(a python library) through WiFi.

## Components
The following components are required in order to make the robot:
```
1) Arduino Uno (µC)
2) ESP-32 CAM Module
3) OV2680 Camera Module
4) L298N motor Driver
5) Jumper Wires
6) 2 DC Motors(Geared)
7) 4 Wheels
8) 9V battery
9) 9V battery connector
10) Breadboard
11) Arduino programmable cable
```

## Uploading the Code
```
- Upload the 'ESP32_MAIN.ino' file available in the ESP32 folder to the ESP-32 CAM trough UART connection
(Upload using the Arduino IDE in windows or the Arduino Droid app in android)
```
## Circuit
```
- Connect the wheels to the motors
- Connect the OV2680 Camera Module to the ESP-32 CAM
```
```
Positive terminal (Motor 1) --> OUT 1 (L298 motor driver)
Negative terminal (Motor 1) --> OUT 2 (L298 motor driver)
Positive terminal (Motor 2) --> OUT 4 (L298 motor driver)
Negative terminal (Motor 2) --> OUT 3 (L298 motor driver)
PIN 1 (L298N motor driver) --> IO12 (ESP-32 CAM)
PIN 2 (L298N motor driver) --> IO13 (ESP-32 CAM)
PIN 3 (L298N motor driver) --> IO15 (ESP-32 CAM)
PIN 4 (L298N motor driver) --> IO14 (ESP-32 CAM)
12V (L298N motor driver) --> Negative terminal (9V battery)
---> GND (ESP-32 CAM)
|
GND (L298N motor driver) --
|
--> Positive terminal (9V battery)
UnR (ESP-32 CAM) --> RX (Arduino Uno)
UoT (ESP-32 CAM) --> TX (Arduino Uno)
GND (ESP-32 CAM) --> GND (Arduino Uno)
REST (Arduino Uno) --> GND (Arduino Uno)
5V (L298N motor driver) --> Breadboard --
|
5V (ESP-32 CAM) --> Breadboard ----> Series connection
|
5V (Arduino Uno) --> Breadboard --
```
## Usage
```
- Change your WiFi's/Hotspot's name to 'username' and password to 'password'
- Turn on your WiFi/Hotspot
- Connect the Arduino Uno to your device using the Arduino cable
- Open the monitor of the Arduino IDE/Arduino Droid app
- Change the Baud rate to 115200
- Press the reset button of the ESP-32 CAM module
- An IP address will be visible in the monitor of the IDE/App
- Open the IP address(https://IP_address) to access the camera
- To move the robot run the main.py file available in the Python folder and play the game!
```

## Credits
This project was created by **Omanshu**.