Control de dos servos con acelerometro ADXL345 con Arduino 


Planos:




CÓDIGO:

#include <Wire.h>
#include <ADXL345.h>

#include <Servo.h>

Servo servo1;
Servo servo2;

ADXL345 adxl;

int x, y, z;
int rawX, rawY, rawZ;
int mappedRawX, mappedRawY;

void setup() {
  Serial.begin(9600);
  adxl.powerOn();
  servo1.attach(5);
  servo2.attach(6);
}

void loop() {
  adxl.readAccel(&x, &y, &z);

  rawX = x - 7;
  rawY = y - 6;
  rawZ = z + 10;

  if (rawX < -255) rawX = -255; else if (rawX > 255) rawX = 255;
  if (rawY < -255) rawY = -255; else if (rawY > 255) rawY = 255;
 
  mappedRawX = map(rawX, -255, 255, 0, 180);
  mappedRawY = map(rawY, -255, 255, 0, 180);

  servo1.write(mappedRawX);
  delay(25);
  servo2.write(180 - mappedRawY);
  delay(25);

  Serial.print(" mappedRawX = "); Serial.print(mappedRawX);
  Serial.print(" mappedRawY = "); Serial.println(mappedRawY);

}




https://www.youtube.com/channel/UCXdDujYQCm_4UCJElWHB08g

Comentarios

  1. me dice

    no matching function for call to 'ADXL345::ADXL345()'

    que hago?

    ResponderEliminar

Publicar un comentario

Entradas populares de este blog