Buenas tardes,
subo mi codigo y no escribe en el monitor serial. He incluido una linea para escribir 12 a modo comprobacion sin tener nada que ver con el codigo y tampoco lo escribe. ¿Alguien sabe a que puede deberse?
#include <SoftwareSerial.h> //Librería que permite establecer comunicación serie en otros pins
#include <Wire.h>
#include <Adafruit_MMA8451.h>
#include <Adafruit_Sensor.h>
#include "QuickStats.h"
float x,y,z,ax,ay,az,media,desviacion,mediana,resta,skewness,skewness1,skewness2,multi,suma;
float smv[24];
//Aquí conectamos los pins RXD,TDX del módulo Bluetooth.
SoftwareSerial BT(2,3); //10 RX, 11 TX.
Adafruit_MMA8451 mma = Adafruit_MMA8451();
int numreadings =25 ;
QuickStats stats; //initialize an instance of this class*/
void setup() {
Serial.begin(9600); //Abrimos la comunicación serie con el PC y establecemos velocidad
mma.begin();
BT.begin(9600); //Velocidad del puerto del módulo Bluetooth
mma.setRange(MMA8451_RANGE_8_G);
}
void loop() {
int co=12;
Serial.println(co);
int i=0;
for(i=0;i<25;i++){
mma.read();
x=mma.x;
y=mma.y;
z=mma.z;
ax=pow(x,2);
ay=pow(y,2);
az=pow(z,2);
smv[i]=sqrt(ax+ay+az);
Serial.println(smv[i]);
delay(38);
}
media=stats.average(smv,numreadings);
desviacion=stats.stdev(smv,numreadings);
mediana=stats.median(smv,numreadings);
int j=0;
for(j=0;j<25;j++){
resta=smv[j]-media;
skewness1 = pow(resta,3);
multi=pow(desviacion,3);
skewness2 =(numreadings*multi);
skewness = skewness1/skewness2;
suma += skewness;
Serial.println(suma);
}
int a;
if (desviacion < 16.10)
{
if (media < 1019.41)
{
a = 0;
BT.println(a);
Serial.println(a);
}
else
{
a = 1;
BT.println(a);
Serial.println(a);
}
}
else
{
if (desviacion <158.898)
{
if (mediana<1005.55)
{
if (media>=968.31)
{
a = 2;
BT.println(a);
Serial.println(a);
}
else
{
a = 3;
BT.println(a);
Serial.println(a);
}
}
else
{
a = 4;
BT.println(a);
Serial.println(a);
}
}
else
{
if (suma<0.66)
{
a = 4;
BT.println(a);
Serial.println(a);
}
else
{
if (media<972.88)
{
a = 3;
BT.println(a);
Serial.println(a);
}
else
{
if (desviacion<197.63)
{
a = 4;
BT.println(a);
Serial.println(a);
}
else
{
a = 5;
BT.println(a);
Serial.println(a);
}
}
}
}
}
}