Realizziamo un giroscopio in Home Assistant con ESPHome

In questo articolo vediamo come realizzare un semplice giroscopio su Home Assistant con ESPHome, dove si può utilizzare? Un’ esempio potrebbe essere monitorare se ci sono scosse telluriche. Vediamo cosa occorre per questo semplice progetto.

Dopo esserci procurato tutto il materiale, vediamo come sono collegamento tra la schedina Mini D1 o NodeMCU e in sensore MPU-6050.

Per primo facciamo i collegamenti tra il MiniD1 e il sensore MPU-6050 come da schema.

Dopo aver fatto tutti i collegamenti passiamo al codice. Apriamo il nostro Home Assistant, e creiamo un nuovo progetto con ESPHome, Mi raccomando far funzionare il progetto, scegliamo la schedina che abbiamo preso, altrimenti si rischia che non funzioni. Il codice in questione ve lo lascio qui sotto come esempio, sta voi a fare ulteriori modifiche personalizzarlo a vostro piacimento.

i2c:
  sda: D1
  scl: D2
  scan: true
  id: bus_a

sensor:
  - platform: mpu6050
    address: 0x68
    accel_x:
      id: accel_x
      name: "accel X"
      filters:
         - sliding_window_moving_average:
            window_size: 5
            send_every: 1
         - delta: 0.5
    accel_y:
      id: accel_y    
      name: "accel Y"
      filters:
         - sliding_window_moving_average:
            window_size: 4
            send_every: 1   
         - delta: 0.5            
    accel_z:
      id: accel_z    
      name: "accel z"
      filters:
         - sliding_window_moving_average:
            window_size: 4
            send_every: 1   
         - delta: 0.5            
    gyro_x:
      name: "gyro X"
      filters:
         - sliding_window_moving_average:
            window_size: 4
            send_every: 1   
         - delta: 0.5            
    gyro_y:
      name: "gyro Y"
      filters:
         - sliding_window_moving_average:
            window_size: 4
            send_every: 1     
         - delta: 0.5            
    gyro_z:
      name: "gyro z"
      filters:
         - sliding_window_moving_average:
            window_size: 4
            send_every: 1      
         - delta: 0.5            
    temperature:
      name: "MPU6050 Temperature"
    update_interval: 1.5s
  - platform: template
    id: roll
    name: pan1roll
    accuracy_decimals: 2
    lambda: |-
      return  (atan( id(accel_y).state / sqrt( pow( id(accel_x).state , 2) + pow( id(accel_z).state , 2) ) ) * 180 / PI) ;
    update_interval: 250ms

  - platform: template
    id: pitch
    name: pan1pitch
    accuracy_decimals: 2
    lambda: |-
      return  (atan(-1 * id(accel_x).state / sqrt(pow(id(accel_y).state, 2) + pow(id(accel_z).state, 2))) * 180 / PI);
    update_interval: 250ms

Una volta che abbiamo caricato il programma dovreste avere questo, vi ricordo che potete personalizzarlo a vostro piacere.

Qui sotto vi lascio i link dove recuperare tutto il necessario, cliccando sul link mi aiutate a sostenere i costi, a voi non cambia nulla . a me mi date un piccoli sostegno

Test Giroscopio su Home Assistant