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