The Carduino


HOW IT WORKS
THE Carduino was done by the historic duo of Brad "the Real" Popiel and Dan "the Man" Kerry.  We used a chassis for the body of the car, then two motors. For our project, we created a self-driving car that had "push buttons" on the front of it. Whenever the car would hit something, one of the "push buttons" would be hit and would send the car backwards, and then the car would turn away from the obstacle it initially hit.  THE Carduino program works by having an internal code that tels the motors of the car to go straight unless, if one of the push buttons is hit, then it sends  signal for  the motors to back up and turn away from the object. When the motors are on HIGH to LOW, they go straight. When its LOW to HIGH, the car moves backwards. 

PICTURES

CODE
int motor1 = 2;           //declares the first pin for the motor 
int motor2  = 4;        //declares the other pin for the motor
int motorpmw = 9;     // this is the pmw that will set how much battery power the motor is getting (speed)
int motor3 = 10;         //declares the first pin for the motor 
int motor4  = 6;           //declares the other pin for the motor
int motorpmw1 = 13;   //pmw that will set how many battery power the motor will get
int pushbutton1 = 11;   //decalres the pin for pushbutton1
int pushbutton2 = 4;    //declares the pin for pushbutton2
void setup()
{
  pinMode(pushbutton1, INPUT);        //declares pushbuttons as inputs
  pinMode(pushbutton2, INPUT);        // declares pushbuttons as inputs
  pinMode(motor1, OUTPUT);           // declares as output
  pinMode(motor2, OUTPUT);           // these simply are declaring them as outputs
  pinMode(motorpmw, OUTPUT);     //declares as output
  pinMode(motor3, OUTPUT);           //declares as output
  pinMode(motor4, OUTPUT);           // these simply are declaring them as outputs
  pinMode(motorpmw1, OUTPUT);     // declares as output
}


void loop()
{
  
  analogWrite(motorpmw1, 255);      // this is the analog speed value for the arduino (0-255)
  analogWrite(motorpmw, 255);      // this is the analog speed value for the arduino (0-255)
  digitalWrite(motor1, HIGH);        // turns motor off- backwards
  digitalWrite(motor2, LOW);          //turns the motors on - forwards
  digitalWrite(motor3, HIGH);       // turns motor off- backwards    
  digitalWrite(motor4, LOW);         //turns the motors on - forwards
  delay(10);

if (digitalRead(11) == HIGH)       //if statement if puch button is hit
{
    digitalWrite (motor1, LOW);     //turns the motors on - forwards
    digitalWrite (motor2, HIGH);      // turns motor off- backwards
    digitalWrite (motor3, LOW);     //turns the motors on - forwards
    digitalWrite (motor4, HIGH);      // turns motor off- backwards  
    delay (500);                              // backs up fpr half second
    digitalWrite (motor3, HIGH);     // turns motor off- backwards
    digitalWrite (motor4, LOW);     //turns the motors on - forwards
    delay (500);                            // turns to the right for half second
}
if (digitalRead(5) == HIGH)        //if statement if push button is hit
{
    digitalWrite (motor1, LOW);     //turns the motors on - forwards
    digitalWrite (motor2, HIGH);    // turns motor off- backwards
    digitalWrite (motor3, LOW);     //turns the motors on - forwards
    digitalWrite (motor4, HIGH);     // turns motor off- backwards
    delay (500);                           // backs up half second
    digitalWrite (motor1, HIGH);    // turns motor off- backwards
    digitalWrite (motor2, LOW);      //turns the motors on - forwards
    delay (500);                            //turns to the left for half second
}
}

YOUTUBE VIDEO




CIRCUIT PROGRAM

PROBLEM ENCOUNTERED
The main problem we encountered while doing this project was finding the attention span to actually get the work done. Another problem we faced was finding whether the motor should be HIGH to LOW or LOW to HIGH to backwards or forwards. Finally, we faced a problem finding the correct connection from the h-bridge to the breadboard. 

ADDITIONS

If we had more time we would have added LED lights for the back of the car and for the headlights.  

  • Short video of your device working (post to YouTube or Google Video). You must describe the operation of the device and a brief overview of the code in your video.

Comments