GithubHelp home page GithubHelp logo

muthu-palaniyappan-ol / command_cruiser Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 885 KB

IoT | Arduino Car | Android

License: MIT License

Kotlin 51.00% C++ 49.00%
android arduino-car esp8266 iot mqtt object-avoidance object-avoiding-robot platformio

command_cruiser's Introduction

CommandCruiser

Click Here For Demo

The CommandCruiser is an exciting IoT project that showcases the seamless communication, smart obstacle avoidance, and intuitive control capabilities of a two-wheeled Arduino car. Powered by the ESP8266, this rover can be controlled using a custom Android app developed in Kotlin, enabling real-time interaction and engagement.

CommandCruiser

Table of Contents

Introduction

The CommandCruiser is a two-wheeled Arduino car designed to demonstrate the capabilities of IoT and robotics projects. It is equipped with an ESP8266 microcontroller for communication and control, ultrasonic sensors for obstacle detection, and a servo for smart obstacle avoidance. The project comprises two main components: the rover itself and an Android app for intuitive control.

Features

  • MQTT Communication: The CommandCruiser communicates seamlessly with the Android app using the MQTT protocol. It subscribes to a specific topic on a local EMQX MQTT Broker, ensuring real-time and reliable communication between the rover and the app.

  • Android App Control: The Android app, developed in Kotlin, establishes a connection with the local MQTT broker and allows users to control the rover's movements intuitively. It sends MQTT messages to the rover to command actions such as forward, backward, left, and right.

  • Real-time Interaction: The Android app provides a user-friendly interface for controlling the rover. The real-time interaction enhances the user experience and makes controlling the rover both engaging and enjoyable.

  • Smart Obstacle Avoidance: Equipped with ultrasonic sensors and a servo, the CommandCruiser can autonomously detect obstacles and navigate around them. The obstacle avoidance algorithm involves measuring distances using the ultrasonic sensor, rotating the servo to gather information, and choosing the best direction to avoid obstacles.

Getting Started

Prerequisites

  • Platform IO Vscode
  • Android Studio for app development
  • MQTT Broker (local or remote, EMQX)

Installation

  1. Clone the repository: git clone https://github.com/Muthu-Palaniyappan-OL/command_cruiser.git
  2. Upload the Arduino code (arduino/) to the ESP8266 microcontroller using the VSCode Platform IO.
  3. Open the Android app project in Android Studio (android/ directory).
  4. Configure the MQTT broker settings in the app code.
  5. Build and install the Android app on your device.

Usage

Connecting to the MQTT Broker

  1. Launch the Android app on your device.
  2. Enter the MQTT broker's address and port in the app's settings.
  3. Establish a connection to the MQTT broker.

Controlling the Rover

  1. Use the app's interface to send MQTT messages for controlling the rover's movements:
    • 'f' for forward
    • 'b' for backward
    • 'l' for left
    • 'r' for right

Obstacle Avoidance

  1. The rover's ultrasonic sensors detect obstacles in front of it.
  2. If an obstacle is detected within a threshold distance, the rover engages the obstacle avoidance algorithm.
  3. The rover rotates its servo left and right to measure distances in those directions.
  4. After gathering information, the rover moves slightly backward.
  5. The rover selects the direction with the most space (longer distance) and navigates to avoid the obstacle.

Contributing

We welcome contributions to the CommandCruiser project. Feel free to submit issues and pull requests to improve the code, enhance features, or fix bugs.

License

This project is licensed under the MIT License.


Experience the potential of IoT and robotics with the CommandCruiser! Its MQTT communication, smart obstacle avoidance, and user-friendly Android app showcase the exciting possibilities of modern technology. For more details, visit our GitHub repository.

For inquiries, contact us at [email protected], We look forward to your feedback and collaboration!

command_cruiser's People

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.