Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/roeytamano/robocave
RoboCave is a project that involves a robotic vehicle equipped with sensors to measure air quality, distance, and other environmental parameters. The vehicle can be controlled remotely via a web interface, allowing it to move forward, backward, turn, and stop.
https://github.com/roeytamano/robocave
bme280 dc-motor esp32 information-gathering micropython python robot sensors thonny ultrasonic-sensor website wi-fi
Last synced: 16 days ago
JSON representation
RoboCave is a project that involves a robotic vehicle equipped with sensors to measure air quality, distance, and other environmental parameters. The vehicle can be controlled remotely via a web interface, allowing it to move forward, backward, turn, and stop.
- Host: GitHub
- URL: https://github.com/roeytamano/robocave
- Owner: RoeyTamano
- Created: 2024-10-18T01:31:59.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2024-10-18T02:38:38.000Z (2 months ago)
- Last Synced: 2024-10-20T13:39:24.957Z (2 months ago)
- Topics: bme280, dc-motor, esp32, information-gathering, micropython, python, robot, sensors, thonny, ultrasonic-sensor, website, wi-fi
- Language: Python
- Homepage:
- Size: 13.7 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ๐ค RoboCave Project
## Overview
The RoboCave project is designed to create a robotic vehicle capable of gathering and transmitting information about environmental conditions ๐, including air quality and distance measurements. The robot can be controlled via a web interface ๐ฅ๏ธ, providing real-time data and control options.## Hardware Components
- **Microcontroller**: ESP32 or similar microcontroller.
- **Sensors**:
- **BME280**: Measures temperature ๐ก๏ธ, humidity ๐ง, and atmospheric pressure ๐ฌ๏ธ.
- **Gas Sensors**:
- LPG sensor (analog output).
- CO sensor (analog output).
- Smoke sensor (analog output).
- **Ultrasonic Distance Sensor**: Used to measure distance ๐.
- **DC Motors**: Two DC motors for movement control ๐๏ธ.
- **Motor Driver**: H-Bridge motor driver for controlling the direction and speed of the motors.
- **PWM Pins**: For controlling motor speed via Pulse Width Modulation.
- **Connection Pins**: GPIO pins for connecting sensors and motors.### โThe picture doesn't show what the robot looks like now, it's an old picture from the start of the project when it didn't have all the sensors and the design is different without a cover for the robot.
![image](https://github.com/user-attachments/assets/85004705-0c19-4549-bb4c-184152e27d57)## Software Components
- **MicroPython**: The firmware running on the microcontroller.
- **Libraries**:
- `usocket`: For socket communication ๐.
- `network`: For connecting to Wi-Fi ๐ถ.
- `machine`: For controlling hardware components โ๏ธ.
- `BME280`: For interfacing with the BME280 sensor.
- `json`: For handling JSON data.## Features
- **Web Interface**:
- Displays real-time sensor data (temperature, humidity, pressure, gas concentrations, and distance).
- Provides control buttons for motor actions (forward, backward, left, right, stop) ๐ฆ.![image](https://github.com/user-attachments/assets/3a755f92-2872-4b72-9903-8553e4b103b5)
- **Data Fetching**: JavaScript is used to periodically fetch sensor data from the server and update the webpage without refreshing ๐.
- **Distance Measurement**: The robot can measure the distance to obstacles using an ultrasonic sensor ๐.## Usage
1. **Setup**: Connect the hardware components as specified in the circuit diagram ๐.
2. **Code Deployment**: Upload the provided MicroPython script to the microcontroller ๐ค.
3. **Wi-Fi Configuration**: Update the SSID and password in the code for your Wi-Fi network ๐.
4. **Accessing the Web Interface**:
- Once connected to Wi-Fi, open a web browser and navigate to the microcontroller's IP address to access the control interface ๐.
5. **Controlling the Robot**: Use the buttons on the web interface to control the robot's movement and monitor environmental conditions ๐ฎ.## Getting Started
1. Clone this repository or download the code files ๐ฅ.
2. Download Thoney micropython
3. Flash the MicroPython firmware onto your ESP32 ๐ป.
4. Install the necessary libraries (if not included in the firmware).
5. Connect your ESP32 to your computer and upload the script โฌ๏ธ.
6. Open the web interface and begin monitoring and controlling the RoboCave ๐.## Conclusion
The RoboCave project combines hardware and software to create a functional robot capable of navigating and monitoring environmental conditions ๐ฐ๏ธ. This project serves as a foundation for further enhancements, such as adding more sensors, improving user interface design, and enhancing the robot's navigation capabilities.