User Tools

Site Tools


code

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
code [2014/02/01 00:19]
jgensler8
code [2014/02/01 03:09]
jgensler8
Line 1: Line 1:
-<​code>​ /* +<​code>​ 
-  ​read from a software serial connection (Raspberry Pi)+ 
 +/* 
 +  ​SoftwareSerial to ttyAMA0
 */ */
  
 #include <​SoftwareSerial.h>​ #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 SoftwareSerial mySerial(8, 9); // RX, TX
 +char serialIn;
 +int movementTime = 1000;
 +int basicPower = 100;
  
 void setup()  ​ void setup()  ​
 { {
 +  //serial communication
   Serial.begin(4800);​   Serial.begin(4800);​
   while (!Serial) {   while (!Serial) {
Line 15: Line 26:
   Serial.println("​Started"​);​   Serial.println("​Started"​);​
   mySerial.begin(9600);​   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() void loop()
 { {
-  if (mySerial.available()) +  if (mySerial.available()){ 
-    ​Serial.write(mySerial.read());​+    ​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())   if (Serial.available())
     mySerial.write(Serial.read());​     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>​ </​code>​
code.txt · Last modified: 2014/02/15 01:13 by jgensler8