Giter Site home page Giter Site logo

haiqiangxu / arduino-rc-car Goto Github PK

View Code? Open in Web Editor NEW
6.0 1.0 4.0 366 KB

Complete Arduino project to build a Remote Controlled Car together with the bluetooth linked Remote Controller

License: GNU General Public License v3.0

C++ 99.69% C 0.31%
visual-studio-code platformio-ide arduino-uno arduino-nano bluetooth joystick motor-controller remote-controller lowpower

arduino-rc-car's Introduction

RemoteControlled Car build with Arduino Uno/Nano and communication via Bluetooth

Software for Arduino Uno-based remote controlled car together with a Arduino Nano-based remote controlling and intercommunication via Bluetooth modules.

Hardware components used for Remote Controlled Car

  • Arduino Uno or compatible
  • Battery or powerbank [ 5V, +1450 mAh ] to power-up Arduino and its components (bluetooth module and speaker)
  • Battery or powerbank [ 12V, +4000 mAh ] to power-up motors
  • Bluetooth HC-06 slave module
  • L298N Driver to control motors
  • Buzzer / piezo speaker
  • 4 DC motors + wheels
  • Optional dip switch to turn on/off the car
  • Car structure, up to your imagination :-)

Hardware components used for Remote Controller

  • Arduino Nano or compatible
  • Battery or powerbank [ 5V, +1450 mAh ]
  • Bluetooth HC-05 master/slave module
  • Joystick analog 2-Axis with button
  • Three switch buttons
  • Optional dip switch to turn on/off the controller
  • Controller structure, also up to your imagination

Software structure

The software is splitted into Abstraction Layers so the responsability of each layer are very limited and will make easier the growth and maintenance of the project in a Architectural point of view. Using a objected-oriented language such as C++ accepted by Arduino, makes the implementation closer to this approach.

Dependencies: Needs to have access to Generic-Libraries/lib in this same repository

RemoteControlledCar
|--lib
|  |--RCC_Able
|  |  |- CAble.cpp
|  |  |- CAble.h
|  |--RCC_Controller
|  |  |- CController.cpp
|  |  |- CController.h
|--src
|  |- main.cpp
|  |- main.h
|- platformio.ini
Generic-Libraries
|--lib
|  |--Bluetooth_Lib
|  |--Common_Lib
|  |--Joystick_Lib
|  |--Melodies_Lib
|  |--Motors_Lib
|--external-libs
|  |--LowPower

TODO: electrical schematics

Final controller build

controller_final

Final car build

car_inside

car_final

arduino-rc-car's People

Contributors

haiqiangxu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

arduino-rc-car's Issues

Change SpeedMode when in movement

Change SpeedMode if corresponding button is pressed and car is in movement with speed , if possible due to lack of concurrency/parallel processing capabilities in ATmega328P -> Use and apply the new imported FreeRTOS library for parallel processing like change SpeedMode when in movement or allow reproduce melodies together with movement. Check issue #4 for Arduino-Generic-Libraries

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.