Hi. I need some help calculating Pitch and Roll from MPU6050 data.
my code
esphome:
name: solar_tracker
platform: ESP32
board: esp-wrover-kit
wifi:
ssid: "."
password: "."
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid:
password:
captive_portal:
# Enable logging
logger:
# Enable Home Assistant API
api:
ota:
i2c:
sda: 21
scl: 22
scan: True
sensor:
- platform: mpu6050
address: 0x68
update_interval: 100ms
accel_x:
name: "MPU6050 Accel X"
filters:
- sliding_window_moving_average:
window_size: 10
send_every: 5
accel_y:
name: "MPU6050 Accel Y"
filters:
- sliding_window_moving_average:
window_size: 10
send_every: 5
accel_z:
name: "MPU6050 Accel z"
filters:
- sliding_window_moving_average:
window_size: 10
send_every: 5
gyro_x:
name: "MPU6050 Gyro X"
filters:
- sliding_window_moving_average:
window_size: 10
send_every: 5
gyro_y:
name: "MPU6050 Gyro Y"
filters:
- sliding_window_moving_average:
window_size: 10
send_every: 5
gyro_z:
name: "MPU6050 Gyro z"
filters:
- sliding_window_moving_average:
window_size: 10
send_every: 5
temperature:
name: "MPU6050 Temperature"
filters:
- sliding_window_moving_average:
window_size: 10
send_every: 5
#relay bank Manual Switching
switch:
- platform: gpio
pin: 23
id: relayUp
name: "Solar Up"
- platform: gpio
pin: 19
id: relayDown
name: "Solar Down"
- platform: gpio
pin: 5
id: relayEast
name: "Solar East"
- platform: gpio
pin: 17
id: relayWest
name: "Solar West"
formula
// Calculating Roll and Pitch from the accelerometer data
Roll = (atan(AccY / sqrt(pow(AccX, 2) + pow(AccZ, 2))) * 180 / PI) ;
Pitch = (atan(-1 * AccX / sqrt(pow(AccY, 2) + pow(AccZ, 2))) * 180 / PI);
I am unsure how to reference the raw data into the above formula.
any help would be very much appreciated.