#include
SoftwareSerial BT1(10, 11); // RX | TX
int val = 0;
int xpin = A1;
int ypin = A2;
int zpin = A3;
int t_muestreo = 500;
void setup()
{ pinMode(10, INPUT); // Setup for leads off detection LO +
pinMode(11, INPUT);
pinMode(8, OUTPUT); // Al poner en HIGH forzaremos el modo AT
pinMode(9, OUTPUT); // cuando se alimente de aqui
digitalWrite(9, HIGH);
delay (500) ; // Espera antes de encender el modulo
Serial.begin(9600);
Serial.println("Levantando el modulo HC-06");
digitalWrite (8, HIGH); //Enciende el modulo
Serial.println("Esperando comandos AT:");
BT1.begin(38400);
Serial.begin(9600);
analogReference(EXTERNAL); // La tensión aplicada en el pin AREF (3.3V) será la que haga que el conversor analogo-digital
// de su máxima lectura (1023)
pinMode(xpin, INPUT);
pinMode(ypin, INPUT);
pinMode(zpin, INPUT);
}
void loop()
{ int x = analogRead(xpin); // Leemos el valor de la tensión en el pin x
delay(1); // Esperamos 1 ms a leer en el próximo pin
int y = analogRead(ypin); // Leemos el valor de la tensión en el pin y
delay(1); // Esperamos 1 ms a leer en el próximo pin
int z = analogRead(zpin);
// Una conversión analogo a digital va de 0 a 1023, siendo 512
// la mitad del rango y por lo tanto el 0
float zero_G = 512.0;
// Según el Datasheet, tenemos incrementos de 330mV por cada G de aceleración
// por lo tanto, si pasamos de mV (330) a cuentas (1023)
// nos queda que 1023cuentas/( 3.3V/330mV) = 102.3, valor para convertir mV a G's
// escala es el número de unidades que esperamos que el sensor lea cuando
// hay un cambio de aceleración en 1G
float escala = 102.3;
Serial.print(((float)x - zero_G)/escala);
Serial.print("\t");
Serial.print(((float)y - zero_G)/escala);
Serial.print("\t");
Serial.print(((float)z - zero_G)/escala);
Serial.print("\n");
// delay entre cada lectura
delay(t_muestreo);
if (BT1.available())
Serial.write(BT1.read());
if (Serial.available())
BT1.write(Serial.read());
if((digitalRead(10) == 1)||(digitalRead(11) == 1)){
Serial.println('!');
}
else{
// send the value of analog input 0:
Serial.println(analogRead(A0));
}
//Wait for a bit to keep serial data from saturating
delay(1);
}
Para la sección de animación del proyecto escogimos un modelado 3D libre de mujer [1] , el cual es un diseño base que ha sido modificado y adaptado para que cumpla ciertos objetivos que tiene el proyecto. Las razones por las cuales se escogió este modelado son las siguientes: costo y flexibilidad. A continuación se muestra el plan de trabajo de la simulación.
Designed with Mobirise