#include #include LiquidCrystal lcd(18, 13, 14, 15, 16, 17); //pins D4=A0,D5=A1,D6=A2,D7=A3, R=A4 E=13 (pins used for lcd) int command = 0; //incoming serial data AF_DCMotor motor1(1, MOTOR12_64KHZ); //initialize motor1 that is connected to the M1 port AF_DCMotor motor2(2, MOTOR12_64KHZ); //motor2 is connected to M2 void setup() { lcd.begin(16, 2); Serial.begin(9600); // set up Serial library at 9600 bps - this is the speed the serial interface will work all motor1.setSpeed(255); //set default speed motor2.setSpeed(255); //set default speed pinMode(2, OUTPUT); //connect a led here } void loop() { lcd.setCursor(0,0); if (Serial.available() > 0) { //if the Arduino detects incoming data // read the incoming byte: command = Serial.read(); lcd.print("CONNECTED!"); lcd.setCursor(0,1); } switch (command) //set different cases of the "command" variable { case 'S': { lcd.print("Stop"); motor1.run(RELEASE); // stopped motor2.run(RELEASE); // stopped command = '*'; } break; case 'F': { //go forward lcd.print("MOVING FORWARD"); motor2.run(FORWARD); motor1.run(FORWARD); } break; case 'B': { //go backward lcd.print("MOVING BACKWARD"); motor2.run(BACKWARD); motor1.run(BACKWARD); } break; case 'R': { //spin right lcd.print("MOVING RIGHT"); motor2.run(RELEASE); motor1.run(FORWARD); } break; case 'L': { //spin left lcd.print("MOVING LEFT"); motor2.run(FORWARD); motor1.run(RELEASE); } break; case 'G': { //forward left lcd.print("Forward left"); motor2.run(FORWARD); motor1.run(BACKWARD); } break; case 'I': { //forward right lcd.print("forward right"); motor2.run(FORWARD); motor1.run(FORWARD); } break; case 'H': { //backward left lcd.print("backward left"); motor2.run(FORWARD); motor1.run(BACKWARD); } break; case 'J': { //backward right lcd.print("backward right"); motor2.run(BACKWARD); motor1.run(FORWARD); } break; case 'W': { lcd.print("Lights ON"); digitalWrite(2, HIGH); //lights on } break; case 'w': { lcd.print("Lights OFF"); digitalWrite(2, LOW); //lights off } break; case 'U': { motor1.setSpeed(128); //set lower speed } break; case 'u': { motor1.setSpeed(255); //set max speed } break; } }