void loop() {
  // Read the 'raw' data in 14-bit counts
  mma.read();
  Serial.print("X:\t"); Serial.print(mma.x); 
  Serial.print("\tY:\t"); Serial.print(mma.y); 
  Serial.print("\tZ:\t"); Serial.print(mma.z); 
  Serial.println();

  /* Get a new sensor event */ 
  sensors_event_t event; 
  mma.getEvent(&event);

  /* Display the results (acceleration is measured in m/s^2) */
  Serial.print("X: \t"); Serial.print(event.acceleration.x); Serial.print("\t");
  Serial.print("Y: \t"); Serial.print(event.acceleration.y); Serial.print("\t");
  Serial.print("Z: \t"); Serial.print(event.acceleration.z); Serial.print("\t");
  Serial.println("m/s^2 ");
  
  /* Get the orientation of the sensor */
  uint8_t o = mma.getOrientation();
  
  switch (o) {
    case MMA8451_PL_PUF: 
      Serial.println("Portrait Up Front");
      break;
    case MMA8451_PL_PUB: 
      Serial.println("Portrait Up Back");
      break;    
    case MMA8451_PL_PDF: 
      Serial.println("Portrait Down Front");
      break;
    case MMA8451_PL_PDB: 
      Serial.println("Portrait Down Back");
      break;
    case MMA8451_PL_LRF: 
      Serial.println("Landscape Right Front");
      break;
    case MMA8451_PL_LRB: 
      Serial.println("Landscape Right Back");
      break;
    case MMA8451_PL_LLF: 
      Serial.println("Landscape Left Front");
      break;
    case MMA8451_PL_LLB: 
      Serial.println("Landscape Left Back");
      break;
    }
  Serial.println();
  delay(500);
  
}
Пример #2
0
void loop()
{
    mma.read();
    serialMQ.Update();
    serialMQ.Send("%s %d", "ax", mma.x);
    serialMQ.Send("%s %d", "ay", mma.y);
    serialMQ.Send("%s %d", "az", mma.z);
    // static int count = 0;
    // for (int i = 0; i < cmdList.size(); i++) {
    //     // to work with the parser, please format string as
    //     // cmd argument
    //     serialMQ.Send("%s %d", cmdList[i].c_str(), count);
    // }
    // // SerialMQ::Submit();
    //
    // if (serialMQ.getValue("led") == "LOW") {
    //     digitalWrite(led, LOW);
    // } else if (serialMQ.getValue("led") == "HIGH") {
    //     digitalWrite(led, HIGH);
    // }
    //
    // count++;
    delay(300);
}