Progetto 7:Accelerometer

1. Descrizione

La scheda principale micro: bit main board V2 è dotata di un sensore di accelerazione gravitazionale LSM303AGR integrato, noto anche come accelerometro, con risoluzione di 8/10/12 bit. Nella sezione del codice è possibile impostare la portata a 1g, 2g, 4g e 8g.

Utilizziamo spesso un accelerometro per rilevare lo stato delle macchine.

In questo progetto mostreremo come misurare la posizione della scheda con l’accelerometro. Successivamente esamineremo i dati grezzi triassiali forniti dall’accelerometro.

2. Preparazione

A. Collegate la scheda micro:bit main board al computer tramite il cavo USB.

B. Aprite la versione offline di Mu.

3. Codice di test1

Avviate il software Mu e aprite il file “Three-axis acceleration sensor -1.py“ per importare il codice. Potete anche inserire il codice manualmente nella finestra di editing.

(Nota: Tutte le parole e i simboli devono essere scritti in inglese.)

from microbit import *

while True:
    gesture = accelerometer.current_gesture()

    if gesture == "shake":
        display.show("1")
    if gesture == "up":
        display.show("2")
    if gesture == "down":
        display.show("3")
    if gesture == "face up":
        display.show("4")
    if gesture == "face down":
        display.show("5")
    if gesture == "left":
        display.show("6")
    if gesture == "right":
        display.show("7")
    if gesture == "freefall":
        display.show("8")

Cliccate su “Check” per verificare la presenza di errori nel codice. Il programma è errato se vengono mostrati sottolineature e cursori.

Se il codice è corretto, collegate il micro:bit al computer e cliccate su “Flash” per scaricare il codice sulla scheda micro:bit.

4. Risultato del test1

Dopo aver scaricato correttamente il codice sulla scheda, alimentate tramite il cavo micro USB o una fonte di alimentazione esterna (impostare l’interruttore DIP su ON) e premete il pulsante di reset sul micro:bit.

Img

Quando scuotiamo il micro: bit main board, in qualsiasi direzione, la matrice LED visualizza la cifra “1”.

Quando è mantenuto in verticale (con il logo sopra la matrice LED), appare il numero 2.

Quando viene tenuto a testa in giù (con il logo sotto la matrice LED), viene visualizzato come di seguito.

Quando è posizionato fermo sulla scrivania, con il lato anteriore rivolto verso l’alto, compare il numero 4.

Quando è posizionato fermo sulla scrivania, con il lato posteriore rivolto verso l’alto, compare il numero 5.

Quando la scheda è inclinata verso sinistra, la matrice LED mostra il numero 6, come mostrato di seguito:

Quando la scheda è inclinata verso destra, la matrice LED visualizza il numero 7, come mostrato di seguito:

Quando la scheda viene colpita a terra, questo processo può essere considerato come una caduta libera e la matrice LED mostra il numero 8. (Si noti che questo test non è raccomandato perché potrebbe danneggiare la scheda principale.)

Attenzione: Se desiderate provare questa funzione, potete anche impostare l’accelerazione a 3g, 6g o 8g.

5. Codice di test2

Avviate il software Mu e aprite il file “Three-axis acceleration sensor -2.py“ per importare il codice. Potete anche inserire il codice manualmente nella finestra di editing.

(Nota: Tutte le parole e i simboli devono essere scritti in inglese.)

from microbit import *

while True:

    x = accelerometer.get_x()

    y = accelerometer.get_y()

    z = accelerometer.get_z()

    print("x, y, z:", x, y, z)

    sleep(100)

Cliccate su “Check” per verificare la presenza di errori nel codice. Il programma è errato se vengono mostrati sottolineature e cursori.

Se il codice è corretto, collegate il micro:bit al computer e cliccate su “Flash” per scaricare il codice sulla scheda micro:bit.

6. Risultato del test2

Dopo aver scaricato correttamente il codice sulla scheda, alimentate tramite il cavo micro USB o una fonte di alimentazione esterna (impostare l’interruttore DIP su ON). Cliccate su “REPL” e premete il pulsante di reset sul micro:bit.

Img

Quindi la finestra REPL mostrerà i valori dell’accelerazione sugli assi X, Y e Z come mostrato di seguito:

Facendo riferimento al manuale dati MMA8653FC e allo schema hardware del micro: bit main board, le coordinate dell’accelerometro del micro: bit sono riportate nella figura seguente:

7. Spiegazione del codice

Img

Img