Friday, December 13, 2013
Complications
Originally the Arduino was meant to power everything on the car. Unfortunatley too many complications with the remote controls we had lead to many problems. Our new code is simple, it just turns the dc motor on and off. Our remote control shifts into high gear on the car when the joystick is pushed forward, and low gear when it is pulled back. Left and Right controls are still controlling the steering.
New code
// named constants for the switch and motor pins
int motorPin = 9; // the number of the motor pin
void setup() {
// initialize the motor pin as an output:
pinMode(motorPin, OUTPUT);
}
void loop() {
// turn motor on:
digitalWrite(motorPin, HIGH);
//analogWrite(motorPin, 100);
}
int motorPin = 9; // the number of the motor pin
void setup() {
// initialize the motor pin as an output:
pinMode(motorPin, OUTPUT);
}
void loop() {
// turn motor on:
digitalWrite(motorPin, HIGH);
//analogWrite(motorPin, 100);
}
Thursday, December 12, 2013
Code
#include <Servo.h>
Servo shifterServo; // Create Servo object for sensor head servo
Servo steerServo; // Create Servo object for second servo
const int LEDPin = 13; //control pin for led indicator
const int DcMotorPin = 8; //control in for propulsion
int button1 = 1;
int button2 = 2;
int button3 = 3;
int button4 = 4;
void setup() {
Serial.begin (9600);
pinMode(LEDPin, OUTPUT); // Use LED indicator (if required)
pinMode(DcMotorPin, OUTPUT);
pinMode(button1, INPUT);
pinMode(button2, INPUT);
pinMode(button3, INPUT);
pinMode(button4, INPUT);
shifterServo.attach(10);
steerServo.attach(9);
//shift into neutral and point straight ahead
shifterServo. write (90);
steerServo.write (90);
}
//point straight
void pointStraight(){
steerServo.write (90);
}
// stopping
void stopMotor() {
Serial.println ("stopping");
digitalWrite(DcMotorPin, LOW);
digitalWrite(LEDPin, LOW);
}
// move forward
void startMotor() {
Serial.println ("Moving Forward");
digitalWrite(DcMotorPin, HIGH);
digitalWrite(LEDPin, HIGH);
}
//turn right
void turnRight() {
Serial.println("Turning Right");
steerServo.write(30);
digitalWrite(LEDPin, HIGH);
}
//turn left
void turnLeft() {
Serial.println("Turning Left");
steerServo.write(160);
digitalWrite(LEDPin, HIGH);
}
//shift high
void shiftHigh(){
Serial.println("Shifting High");
shifterServo.write(75);
digitalWrite(LEDPin, HIGH);
}
//shift low
void shiftLow() {
Serial.println("Shifting Low");
shifterServo.write(105);
digitalWrite(LEDPin, HIGH);
}
void loop() {
//if throttle is opened
if (button1 == HIGH){
shiftHigh();
startMotor();
if (button2 == HIGH){
shiftLow();
startMotor();
if (button3 == HIGH){
turnRight();
if (button4 == HIGH){
turnLeft();
}
else{
pointStraight();
}
}
else{
pointStraight();
}
}
else {
stopMotor();
}
}
else {
stopMotor();
}
}
Controls
27MHz
- Push joystick forward
- Car moves forward in low gear
- Push joystick backward
- Car moves forward in high gear
- Left
- Car turns left
- Right
- Car turns right
New Project Idea
Decided to change our project from OBDII to a remote control car
Laser cut a body and axle holders
The car will be capable of
Laser cut a body and axle holders
The car will be capable of
- moving forwards
- steering
- changing gears
Tuesday, November 19, 2013
project Idea 2
Integrate the arduino LCD board into the OBDII interface of a vehicle using a "usb to VGA" adaptor made by spark fun, or using a bluetooth transmitter and receiver.
The display will be able to show live vitals of the vehicle, such as RPM, oil psi, boost psi, fuel psi, and battery voltage.
Using the 3D printer we will create a gauge pod from solid works to incase the LCD screen and servo motor which will be used to indicate RPMs of the engine.
The display will be able to show live vitals of the vehicle, such as RPM, oil psi, boost psi, fuel psi, and battery voltage.
Using the 3D printer we will create a gauge pod from solid works to incase the LCD screen and servo motor which will be used to indicate RPMs of the engine.
Project Idea 1
Our first project idea is to use a DC motor to spin a wheel and a ______ sensor to measure the rpms of the spinning wheel.
The rpms will be displayed on the LCD screen
The sensors and motor will be held in place by a laser cut acrylic box
The rpms will be displayed on the LCD screen
The sensors and motor will be held in place by a laser cut acrylic box
Subscribe to:
Posts (Atom)