Boa noite,
Sou iniciante na programação e estou com uma tarefa complicada, que é montar um sistema que detecta vibração anormal em um motor. O código para leitura do sensor roda certinho, mas queria que quando atingisse determinado valor, por exemplo 15m/s^2, acionasse um led como aviso, e os dados "anormais", acima do limite estabelecido, fossem salvos em um arquivo .csv ou .txt para serem analisados.
o código que estou usando é esse:
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_ADXL345_U.h>
#include <RunningMedian.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 32 // OLED display height, in pixels
Adafruit_ADXL345_Unified accel = Adafruit_ADXL345_Unified(12345);
RunningMedian accel_median(20);
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);
void setup(void)
{
Serial.begin(9600);
if(!accel.begin())
{
Serial.println("O sensor ADXL345 não foi encontrado. Verifique as conexões!");
while(1);
}
accel.setRange(ADXL345_RANGE_16_G);
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay();
display.setTextColor(WHITE);
display.setTextSize(1);
display.setCursor(0,0);
//display.println("Aceleração");
display.display();
}
void loop(void)
{
sensors_event_t event;
accel.getEvent(&event);
float accel_xyz = event.acceleration.x + event.acceleration.y + event.acceleration.z;
accel_median.add(accel_xyz);
float median = accel_median.getMedian();
//Serial.print("Aceleração X: "); Serial.print(event.acceleration.x); Serial.print(" m/s^2");
//Serial.print("\tAceleração Y: "); Serial.print(event.acceleration.y); Serial.print(" m/s^2");
//Serial.print("\tAceleração Z: "); Serial.print(event.acceleration.z); Serial.print(" m/s^2");
Serial.print("\tAceleraçãoXYZ: ");
//Serial.print("\tMediana: "); Serial.print(median); Serial.println(" m/s^2");
display.clearDisplay();
display.setCursor(0,0);
//display.println("Aceleração");
display.print("Mediana: "); display.print(median); display.println(" m/s^2");
display.display();
delay(500);
}
Agradeço qualquer ajuda.
Tags:
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2023 Criado por Marcelo Rodrigues.
Ativado por