Skip to content

Instantly share code, notes, and snippets.

@mithi
Last active August 29, 2015 14:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mithi/f836d92b1c146d709270 to your computer and use it in GitHub Desktop.
Save mithi/f836d92b1c146d709270 to your computer and use it in GitHub Desktop.
serial command test with arcbotics sparki
#include <Sparki.h>
void showServoCommands(){
Serial.println("enter [1] to face left.");
Serial.println("enter [2] to face front.");
Serial.println("enter [3] to face right.");
Serial.println("waiting for your command!");
}
int userServoCommand(){
while (!Serial.available());
int inByte = Serial.read();
Serial.print("command: ");
Serial.println((char)inByte);
return inByte;
}
void obeyServoCommand(char inByte){
switch(inByte){
case '1': sparki.servo(SERVO_RIGHT); sparki.RGB(RGB_BLUE); break;
case '2': sparki.servo(SERVO_CENTER); sparki.RGB(RGB_GREEN); break;
case '3': sparki.servo(SERVO_LEFT); sparki.RGB(RGB_RED); break;
default: Serial.println("invalid command!"); break;
}
delay(200);
}
int distanceReading(){
int dist;
while (true){
dist = sparki.ping();
if (dist != -1){
break;
}
}
return dist;
}
void showDistanceReading(int dist){
Serial.print("Distance detected by the ultrasonic rangefinder:");
Serial.print(dist);
Serial.println(" cm");
delay(500);
}
void setup(){
Serial.begin(9600);
}
void loop(){
showServoCommands();
int inByte = userServoCommand();
obeyServoCommand((char)inByte);
int dist = distanceReading();
showDistanceReading(dist);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment