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(){
}