#include <Adafruit_SSD1306.h>
#include <DHT.h>
#include <Wire.h>
#include <Adafruit_MPU6050.h>
#include <Adafruit_Sensor.h>
// OLED
#define OLED_Address 0x3C
Adafruit_SSD1306 oled(128, 64);
// Sensor DHT22
#define DHTPIN 4
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
// MPU6050
Adafruit_MPU6050 mpu;
void setup() {
Serial.begin(115200);
// OLED
oled.begin(SSD1306_SWITCHCAPVCC, OLED_Address);
oled.clearDisplay();
oled.setTextSize(1.8);
// DHT
dht.begin();
// MPU6050
while (!mpu.begin()) {
Serial.println("MPU6050 not connected!");
delay(1000);
}
Serial.println("MPU6050 ready!");
}
sensors_event_t event;
void loop()
{
mpu.getAccelerometerSensor()->getEvent(&event);
float valorAceleracion = event.acceleration.z;
String mensaje = "Null";
float valorTemp = dht.readTemperature();
oled.clearDisplay();
oled.setTextColor(WHITE);
oled.setCursor(0, 0);
oled.print("T(C): ");
oled.setCursor(60, 0);
oled.print(valorTemp); // Valor Temperatura
oled.setCursor(0, 20);
oled.print("a(m/s2): ");
oled.setCursor(60, 20);
oled.print(valorAceleracion); // Valor Aceleración
oled.drawLine(0, 40, 128, 40, WHITE); // Línea divisoria
// En este espacio debes escribir la condiones que debe tener
oled.setCursor(0, 50); // Mensaje
oled.print("Mensaje: ");
oled.setCursor(60, 50);
oled.print(mensaje);
oled.display();
delay(500);
}