Arduino nano 33 BLE Giroscopio LSM9DS1

Arduino nano 33 BLE Giroscopio LSM9DS1 segue il precedente articolo dedicato all’IMU presente sulla nuova arduino nano 33

In questo articolo proverai il giroscopio integrato inviando i dati al plotter seriale per visualizzarli come rappresentazione grafica del dato.

La libreria LSM9DS1

La libreria che usi per leggere i dati del giroscopio sull’arduino nano 33 BLE Giroscopio LSM9DS1 è la medesima che hai utilizzato ed installato per il precedente articolo:

se è il primo articolo che leggi su questa board ti consiglio di leggere anche l’articolo introduttivo per comprendere come aggiungerla al tuo IDE.

E come sempre ti riporto alla pagina del prodotto in cui trovi tutte le info descritte dal Team Arduino.

Esempio Giroscopio

Il primo test che puoi eseguire, in generale quando hai una nuova scheda o sensore da testare, è dato dagli esempi che la libreria ti rilascia.

Oggi userai l’esempio “Simple Gyroscope” della libreria Arduino LSM9DS1:

il cui codice è il seguente:

#include <Arduino_LSM9DS1.h>

void setup() {
  Serial.begin(9600);
  while (!Serial);
  Serial.println("Started");

  if (!IMU.begin()) {
    Serial.println("Failed to initialize IMU!");
    while (1);
  }

  Serial.print("Gyroscope sample rate = ");
  Serial.print(IMU.gyroscopeSampleRate());
  Serial.println(" Hz");
  Serial.println();
  Serial.println("Gyroscope in degrees/second");
  Serial.println("X\tY\tZ");
}

void loop() {
  float x, y, z;

  if (IMU.gyroscopeAvailable()) {
    IMU.readGyroscope(x, y, z);

    Serial.print(x);
    Serial.print('\t');
    Serial.print(y);
    Serial.print('\t');
    Serial.println(z);
  }
}

Sketch Arduino nano 33 BLE Giroscopio LSM9DS1

Lo sketch dell’arduino nano 33 BLE Giroscopio LSM9DS1, ossia l’esempio di sketch, che trovi nell’IDE è molto simile al precedente sketch visto per l’accelerometro.

Questa similitudine è legata alla linea guida che da sempre il Team Arduino segue, rendere il codice e la programmazione semplici al fine di rendere altrettanto semplice lo sviluppo dei tuoi progetti.

le linee dalla 01 alla 11 sono identiche sia per questo sketch che per l’esempio sull’accelerometro;

linea 13: varia solo la stringa che verrà visualizzata nel monitor seriale  per aiutarti a comprendere quale sketch stai utilizzando;

linea 14: usi il metodo gyroscopeSampleRate() che legge i parametri del giroscopio, differentemente da quanto visto per la medesima linee nel precedente articolo in cui usi il metodo accelerationSampleRate() per leggere i parametri dell’accelerometro.

linee 15-18: scrivi sul monitor seriale le label dei parametri che hai recuperato con la linea 14;

linee 21-33: la funzione loop() cambia solo nelle due linee relative alla richiesta dei dati alla libreria in cui, similmente a quanto visto alla linea 14, cambiano i due metodi della linea 24, gyroscopeAvailable(), e della linea 25, readGyroscope(x, y, z), in quanto entrambi i metodi usati servono a leggere dal giroscopio.

Le restanti linee si preoccupano di scrivere solo i valori sul monitor seriale e non necessitano di spiegazioni specifiche.

Il video del test

Come per il precedente articolo anche per il giroscopio puoi vedere un video che ho realizzato durante il test:

Puoi confrontare i due video per notare la differenza di valori restituiti nelle diverse rilevazioni:

Nel prossimo articolo proverai il magnetometro così da concludere questa serie di articoli e poter iniziare ad usare questa scheda nei tuoi progetti futuri.

  • Questo sito ed i suoi contenuti è fornito "così com'è" e Mauro Alfieri non rilascia alcuna dichiarazione o garanzia di alcun tipo, esplicita o implicita, riguardo alla completezza, accuratezza, affidabilità, idoneità o disponibilità del sito o delle informazioni, prodotti, servizi o grafiche correlate contenute sul sito per qualsiasi scopo.
  • Ti chiedo di leggere e rispettare il regolamento del sito prima di utilizzarlo
  • Ti chiedo di leggere i Termini e Condizioni d'uso del sito prima di utilizzarlo
  • In qualità di Affiliato Amazon io ricevo un guadagno dagli acquisti idonei qualora siano presenti link al suddetto sito.

Permalink link a questo articolo: https://www.mauroalfieri.it/elettronica/arduino-nano-33-ble-giroscopio-lsm9ds1.html

2 commenti

1 ping

    • Davide il 7 Marzo 2021 alle 15:18
    • Rispondi

    Ciao, ma ogni volta che si spegne e si accende l’arduino nano con dentro lo stesso sketch, il giroscopio deve essere calibrato ogni volta o riesce a salvare i parametri da qualche parte e a usarli a ogni avvio ?

    1. Ciao Davide,
      una delle cose che mi ha colpito dell’IMU presente su questa scheda è propro la calibrazione che avviene in modo del tutto automatico.
      Io ho sempre avviato la scheda nella posizione orizzontale ed ho avuto come feedback una calibrazione corretta, sarebbe da provare con l’avvio in posizioni differenti e verificare l’affidabilità della stessa.

  1. […] Arduino nano 33 BLE Giroscopio LSM9DS1 […]

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.