Esercizio con la scheda di espansione IKS01A3 in C / C ++ per Stm32duino

Avrai bisogno della scheda di espansione IKS01A3 per continuare questi esercizi.

Avvio

La scheda di espansione IKS01A3 è una scheda dimostrativa di diversi sensori MEMS di ST Microelectronics. La sua versione A3 contiene i seguenti sensori:

  • LSM6DSO : Accelerometro 3D + Giroscopio 3D
  • LIS2MDL : Magnetometro 3D
  • LIS2DW12 : Accelerometro 3D
  • LPS22HH : Barometro (260-1260 hPa)
  • HTS221 : Sensore di umidità relativa
  • STTS751 : Termometro (–40 °C to +125 °C)

Questi sensori sono collegati al bus I2C della scheda P-NUCLEO-WB55.

La scheda di espansione IKS01A3 ha anche uno slot in formato DIL a 24 pin per aggiungere ulteriori sensori I2C (ad esempio, il giroscopio A3G4250D)

image

Connessione

Collegare la scheda IKS01A3, fare attenzione a rispettare la marcatura del connettore:CN9 -> CN9, CN5 -> CN5, etc…

Una volta collegata correttamente la scheda di espansione, ecco l’elenco dei sensori con i quali è possibile comunicare tramite I2C.

Installazione delle librerie per la scheda di espansione IKS01A3

Su Windows

Fare

Su Linux

Fare

Sur MacOS

Immettere i seguenti comandi:

cd ~/Documents/Arduino/libraries/
for lib in X-NUCLEO-IKS01A3 LPS22HH LSM6DSO LIS2DW12 LIS2MDL LPS22HH STTS751 HTS221
do
wget https://codeload.github.com/stm32duino/${lib}/zip/master -O ${lib}-master.zip
unzip ${lib}-master.zip
done 

Utilizzo

Avvia l’IDE di Arduino (precedentemente configurato per Stm32duino)

Apri la bozza di esempio Fichier > Exemples > STM32Duino X-NUCLEO-IKS01A3 > X_NUCLEO_IKS01A3_HelloWorld.

Collegare la scheda Nucleo fornita con la scheda IKS01A3.

Compila e carica il binario prodotto.

Apri la console seriale che mostra le seguenti tracce:

| Hum[%]: 73.30 | Temp[C]: 18.10 | Pres[hPa]: 984.41 | Temp2[C]: 18.53 | Temp3[C]: 19.00 | Acc[mg]: -96 26 1008 | Gyr[mdps]: 350 840 -560 | Acc2[mg]: 14 111 962 | Mag[mGauss]: -214 456 -574 |
| Hum[%]: 73.30 | Temp[C]: 18.10 | Pres[hPa]: 984.51 | Temp2[C]: 18.53 | Temp3[C]: 19.00 | Acc[mg]: -83 27 1005 | Gyr[mdps]: 770 210 -630 | Acc2[mg]: 14 96 952 | Mag[mGauss]: -214 462 -573 |
| Hum[%]: 73.60 | Temp[C]: 18.10 | Pres[hPa]: 984.44 | Temp2[C]: 18.53 | Temp3[C]: 19.00 | Acc[mg]: -87 21 1010 | Gyr[mdps]: 280 490 -560 | Acc2[mg]: 7 101 963 | Mag[mGauss]: -196 469 -567 |
| Hum[%]: 73.60 | Temp[C]: 18.10 | Pres[hPa]: 984.40 | Temp2[C]: 18.53 | Temp3[C]: 19.00 | Acc[mg]: -93 -2 1022 | Gyr[mdps]: 1470 -1960 -840 | Acc2[mg]: -15 102 974 | Mag[mGauss]: -199 469 -570 |
| Hum[%]: 73.70 | Temp[C]: 18.10 | Pres[hPa]: 984.54 | Temp2[C]: 18.53 | Temp3[C]: 19.00 | Acc[mg]: -26 45 984 | Gyr[mdps]: 1960 -70 -350 | Acc2[mg]: 34 37 936 | Mag[mGauss]: -211 468 -568 |
| Hum[%]: 73.70 | Temp[C]: 18.10 | Pres[hPa]: 984.46 | Temp2[C]: 18.52 | Temp3[C]: 19.00 | Acc[mg]: -93 31 1004 | Gyr[mdps]: 0 980 -490 | Acc2[mg]: 18 108 959 | Mag[mGauss]: -202 451 -570 |
| Hum[%]: 73.70 | Temp[C]: 18.10 | Pres[hPa]: 984.41 | Temp2[C]: 18.53 | Temp3[C]: 19.00 | Acc[mg]: -88 50 1005 | Gyr[mdps]: 1330 -280 -630 | Acc2[mg]: 39 98 964 | Mag[mGauss]: -213 466 -568 |
| Hum[%]: 73.70 | Temp[C]: 18.10 | Pres[hPa]: 984.46 | Temp2[C]: 18.53 | Temp3[C]: 19.00 | Acc[mg]: -57 42 1017 | Gyr[mdps]: 420 -280 -560 | Acc2[mg]: 31 76 965 | Mag[mGauss]: -213 454 -570 |
| Hum[%]: 73.80 | Temp[C]: 18.20 | Pres[hPa]: 984.53 | Temp2[C]: 18.53 | Temp3[C]: 19.00 | Acc[mg]: -91 22 1005 | Gyr[mdps]: 350 840 -420 | Acc2[mg]: 9 104 955 | Mag[mGauss]: -199 468 -565 |
| Hum[%]: 73.80 | Temp[C]: 18.20 | Pres[hPa]: 984.43 | Temp2[C]: 18.54 | Temp3[C]: 19.00 | Acc[mg]: -75 18 1025 | Gyr[mdps]: 420 -630 -490 | Acc2[mg]: 4 87 974 | Mag[mGauss]: -217 460 -564 |

Spostare la scheda per variare i valori dei sensori Acc, Gyr, Acc2, Mag.