User Tools

Site Tools


code

This is an old revision of the document!


/*
  SoftwareSerial to ttyAMA0
*/

#include <SoftwareSerial.h>

#define PULSE_A 3
#define PULSE_B 4
#define DIR_A 5
#define DIR_B 6

SoftwareSerial mySerial(8, 9); // RX, TX
char serialIn;
int movementTime = 1000;
int basicPower = 100;

void setup()  
{
  //serial communication
  Serial.begin(4800);
  while (!Serial) {
    ;
  }
  Serial.println("Started");
  mySerial.begin(9600);
  
  //set the motor pins
  pinMode( PULSE_A, OUTPUT);
  pinMode( PULSE_B, OUTPUT);
  pinMode( DIR_A, OUTPUT);
  pinMode( DIR_B, OUTPUT);
  
  analogWrite( PULSE_A, 100);
  analogWrite( PULSE_B, 100);
}

void loop()
{
  if (mySerial.available()){
    serialIn = mySerial.read();
    Serial.print( serialIn);
    if( serialIn == '+' ){
      goForward( movementTime, basicPower);
    }
    else if( serialIn == '-'){
      goReverse( movementTime, basicPower);
    }
    else if( serialIn == '>'){
     turnRight();
    }
    else if( serialIn == '<'){
      turnLeft();
    } 
  }
  if (Serial.available())
    mySerial.write(Serial.read());
}

void goForward(int time, int power){
  digitalWrite( PULSE_A, HIGH);
  digitalWrite( PULSE_B, HIGH);
  //delay(time);
  analogWrite( PULSE_A, power);
  analogWrite( PULSE_B, power);
  delay(time);
  digitalWrite( PULSE_A, HIGH);
  digitalWrite( PULSE_B, HIGH);
  //delay( time);
  digitalWrite( PULSE_A, LOW);
  digitalWrite( PULSE_B, LOW);
  analogWrite( PULSE_A, 0);
  analogWrite( PULSE_B, 0);
  digitalWrite( PULSE_A, LOW);
  digitalWrite( PULSE_B, LOW);
}

void goReverse( int time, int power){
  
}

void turnLeft(){
  
}

void turnRight(){
 
}
code.1391224182.txt.gz · Last modified: 2014/02/01 03:09 by jgensler8