Skip to content

Instantly share code, notes, and snippets.

@raykao
Created June 27, 2014 14:44
Show Gist options
  • Save raykao/cf3fa30091de0d02eec6 to your computer and use it in GitHub Desktop.
Save raykao/cf3fa30091de0d02eec6 to your computer and use it in GitHub Desktop.
Intro To Wearable Computing Workshop
int groundpin = 18; // analog input pin 4
int powerpin = 19; // analog input pin 5
int xpin = A3; // x-axis of the accelerometer
int ypin = A2; // y-axis
int zpin = A1; // z-axis (only on 3-axis models)
long xy_max = 470;
long xy_min = 550;
int forwardPin = 9;
int backPin = 10;
int leftPin = 11;
int rightPin = 12;
int centerPin = 8;
long x = 0;
long y = 0;
void setup()
{
Serial.begin(9600);
pinMode(forwardPin, OUTPUT);
pinMode(backPin, OUTPUT);
pinMode(leftPin, OUTPUT);
pinMode(rightPin, OUTPUT);
pinMode(groundpin, OUTPUT);
pinMode(powerpin, OUTPUT);
digitalWrite(groundpin, LOW);
digitalWrite(powerpin, HIGH);
}
void loop()
{
x = analogRead(xpin);
y = analogRead(ypin);
digitalWrite(centerPin, LOW);
if (y < xy_max) { //backwards
digitalWrite(backPin, HIGH);
Serial.println("The arduino is moving(tilted) backwards");
} else if (y >= xy_max){
digitalWrite(backPin, LOW);
}
if (y > xy_min) { //forwards
digitalWrite(forwardPin, HIGH);
Serial.println("The arduino is moving(tilted) forwards");
} else if (y <= xy_min){
digitalWrite(forwardPin, LOW);
}
if (x > xy_min) { //left
digitalWrite(leftPin, HIGH);
Serial.println("The arduino is moving(tilted) left");
} else if (x <= xy_min){
digitalWrite(leftPin, LOW);
}
if (x < xy_max) { //right
digitalWrite(rightPin, HIGH);
Serial.println("The arduino is moving(tilted) right");
} else if (x >= xy_max){
digitalWrite(rightPin, LOW);
}
if (y >= xy_max && y <= xy_min && x <= xy_min && x >= xy_max) { // nothing
digitalWrite(forwardPin, LOW);
digitalWrite(backPin, LOW);
digitalWrite(centerPin, HIGH);
digitalWrite(leftPin, LOW);
digitalWrite(rightPin, LOW);
Serial.println("The arduino is currently not moving(tilted) in any direction");
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment