Troubleshooting RC Car project

Hello everyone. I'm pretty new to Arduino, and coding. I recently followed a youTube video for a basic RC Car using hc-05 bluetooth module, motorshield and uno 3. I have everything powered up correctly, and the code seems to be fine. When I go to operate the care the it doesnt respond. It seems it could be something between the code and the app. Or maybe there is something in the app itself that I need to fix. I'm using an already made app called blue tooth rc car for Android.

Thank you in advance
Brandon

Welcome. Do you want people to guess what is wrong, or will you tell us about your project?

Please read the forum guidelines to get some idea of what we need to know in order to help you.

We need at a minimum:
Arduino code, properly formatted and in code tags.
A schematic.
Data sheets or technical information on components.
To what Bluetooth device is the HC05 paired?
To what app is the HC05 connected?

I apologize for the lack information.

hardware I used:

Arduino uno R3 board
L293D DC motor drive shield stepper
DSD Tech HC-05 bluetooth module
TT DC gearbox motor wheels

the code:

//Arduino Bluetooth Controlled Car
//Before uploading the code you have to install the necessary library
//Note - Disconnect the Bluetooth Module before hiting the upload button otherwise you'll get compilation error message.
//AFMotor Library https://learn.adafruit.com/adafruit-motor-shield/library-install 
//After downloading the library open Arduino IDE >> go to sketch >> Include Libray >> ADD. ZIP Libray >> Select the downloaded 
//ZIP File >> Open it >> Done
//Now You Can Upload the Code without any problem but make sure the bt module isn't connected with Arduino while uploading code

#include <AFMotor.h>

//initial motors pin
AF_DCMotor motor1(1, MOTOR12_1KHZ); 
AF_DCMotor motor2(2, MOTOR12_1KHZ); 
AF_DCMotor motor3(3, MOTOR34_1KHZ);
AF_DCMotor motor4(4, MOTOR34_1KHZ);

char command; 

void setup() 
{       
  Serial.begin(9600);  //Set the baud rate to your Bluetooth module.
}

void loop(){
  if(Serial.available() > 0){ 
    command = Serial.read(); 
    Stop(); //initialize with motors stoped
    //Change pin mode only if new command is different from previous.   
    //Serial.println(command);
    switch(command){
    case 'F':  
      forward();
      break;
    case 'B':  
       back();
      break;
    case 'L':  
      left();
      break;
    case 'R':
      right();
      break;
    }
  } 
}

void forward()
{
  motor1.setSpeed(255); //Define maximum velocity
  motor1.run(FORWARD); //rotate the motor clockwise
  motor2.setSpeed(255); //Define maximum velocity
  motor2.run(FORWARD); //rotate the motor clockwise
  motor3.setSpeed(255);//Define maximum velocity
  motor3.run(FORWARD); //rotate the motor clockwise
  motor4.setSpeed(255);//Define maximum velocity
  motor4.run(FORWARD); //rotate the motor clockwise
}

void back()
{
  motor1.setSpeed(255); //Define maximum velocity
  motor1.run(BACKWARD); //rotate the motor anti-clockwise
  motor2.setSpeed(255); //Define maximum velocity
  motor2.run(BACKWARD); //rotate the motor anti-clockwise
  motor3.setSpeed(255); //Define maximum velocity
  motor3.run(BACKWARD); //rotate the motor anti-clockwise
  motor4.setSpeed(255); //Define maximum velocity
  motor4.run(BACKWARD); //rotate the motor anti-clockwise
}

void left()
{
  motor1.setSpeed(255); //Define maximum velocity
  motor1.run(BACKWARD); //rotate the motor anti-clockwise
  motor2.setSpeed(255); //Define maximum velocity
  motor2.run(BACKWARD); //rotate the motor anti-clockwise
  motor3.setSpeed(255); //Define maximum velocity
  motor3.run(FORWARD);  //rotate the motor clockwise
  motor4.setSpeed(255); //Define maximum velocity
  motor4.run(FORWARD);  //rotate the motor clockwise
}

void right()
{
  motor1.setSpeed(255); //Define maximum velocity
  motor1.run(FORWARD); //rotate the motor clockwise
  motor2.setSpeed(255); //Define maximum velocity
  motor2.run(FORWARD); //rotate the motor clockwise
  motor3.setSpeed(255); //Define maximum velocity
  motor3.run(BACKWARD); //rotate the motor anti-clockwise
  motor4.setSpeed(255); //Define maximum velocity
  motor4.run(BACKWARD); //rotate the motor anti-clockwise
} 

void Stop()
{
  motor1.setSpeed(0); //Define minimum velocity
  motor1.run(RELEASE); //stop the motor when release the button
  motor2.setSpeed(0); //Define minimum velocity
  motor2.run(RELEASE); //rotate the motor clockwise
  motor3.setSpeed(0); //Define minimum velocity
  motor3.run(RELEASE); //stop the motor when release the button
  motor4.setSpeed(0); //Define minimum velocity
  motor4.run(RELEASE); //stop the motor when release the button
}


The bluetooth device is a google pixel phone and the app is bluetooth rc controller.

Here is a link to the how I wired the car. RC car - Google Drive

Thank you again for your help.

Thanks for the code.

The images are blocked. Please follow the forum guidelines for posting images.

Where is the required schematic? Clickable links to the devices and app you used?

While developing code using the HC05 Bluetooth module, I will use a sofware serial port to connect to the HC05 so that I can use the hardware serial (Serial) for monitoring program progress, variable values and troubleshooting.

How do you know if anything is actually being received.

How is the HC05 connected?

Here is the schematic I used.

Here is the link to the app

I assume it's sending and receiving because I'm able to pair it to my device and it connects to the app.

I'm not familiar with software serial port you're talking about.

this
https://docs.arduino.cc/learn/built-in-libraries/software-serial

no more Google Docs links please.. post the images inline.

Ok I will check it out. Thanks and sorry about the links, I will post photos from here on out.

The general principle is, post what you would need to see, if it were not your project, and you were not in the same room, to see everything that is happening.

It's really just common sense.

The aspect of hosting stuff here instead of offsite, it's because often those links don't work for everyone and they take extra time to navigate.

1 Like

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.