Come grafico un accelerometro con Arduino

Gli accelerometri sono componenti elettronici che misurano l'accelerazione, l'inclinazione o la vibrazione di un oggetto quando è collegato a un altro dispositivo. È possibile interpretare i dati forniti da un accelerometro collegandolo ad un microcontrollore Arduino. L'Arduino legge i valori da pin di uscita di accelerometro e li trasmette ad un computer. Il computer Visualizza i dati in forma numerica. È inoltre possibile rappresentare graficamente i dati di trasmetterla a un'applicazione di programmazione, come Max/MSP o elaborazione, dove possono essere tracciato in tempo reale.

Istruzioni

Collegare l'accelerometro ad Arduino

• Posto l'accelerometro sulla breadboard con i suoi perni su tracce separate.

• Collegare i pin di asse di accelerometro per ingressi analogici o digitali di Arduino con filo. Utilizzare un ingresso al pin. Scheda tecnica di accelerometro ti dice quali pin forniscono i dati di asse e se i dati sono analogico o digitale.

• Collegare l'uscita di tensione appropriata sul Arduino con filo pin di tensione di alimentazione di accelerometro. Scheda tecnica di accelerometro ti dice quanta potenza ha bisogno.

• Collegare pin di terra di accelerometro per il morsetto sul Arduino con filo di terra.

• Inserire un cavo USB nel connettore USB di Arduino.

• Collegare l'altra estremità del cavo USB in una porta USB su un computer.

Scrivere il codice di Arduino

• Assegnare le variabili agli ingressi Arduino collegati alle uscite di accelerometro. Il codice potrebbe essere come questo:xPin int = 2;int yPin = 3;Le variabili "xPin" e "yPin" sono assegnate ai pin collegati alle uscite di X e Y dell'accelerometro.

• Avviare la comunicazione seriale tra il computer e Arduino. Il codice potrebbe essere come questo:void setup () {Serial.Begin(9600);La prima riga di codice è richiesta per tutti i programmi. La parentesi graffa segna l'inizio di "installazione". "Serial.begin(9600)" imposta la comunicazione a 9.600 bit al secondo.

• Definisci il pin ingresso di Arduino sotto "installazione". Il codice potrebbe essere come questo:pinMode (xPin, INPUT);pinMode (yPin, INPUT);}Pin 2 e 3 sul Arduino sono ora impostati come ingressi. La parentesi graffa segna la fine di "installazione".

• Assegnare le variabili per la memorizzazione di dati in ingresso asse e accelerazione. Il codice potrebbe essere come questo:void loop () {int pulseX, pulseY;int accelerationX, accelerationY;La prima riga del codice dice Arduino che il codice riportato di seguito è costituito da funzioni che deve eseguire in un ciclo. La prima serie di numeri interi archivio i dati provenienti dal pin di input, mentre il secondo set archivia i risultati dei calcoli che convertono i dati in ingresso in valori che rappresentano accelerazione di accelerometro.

• Leggere i dati da ingressi di Arduino e memorizzare in variabili appropriate. Se il vostro accelerometro fornisce dati digitali, il codice potrebbe essere come questo:pulseX = pulseIn(xPin,HIGH);pulseY = pulseIn (yPin, HIGH);Il codice "pulseIn(xPin,HIGH)" dice l'Arduino di aspettare per il pin leggere "Alta" ed iniziare la temporizzazione. Quando il pin legge "LOW", Arduino arresta il cronometro e memorizza il valore in "pulseX." La seconda riga di codice funziona nello stesso modo.

Se il vostro accelerometro fornisce dati analogici, il codice potrebbe essere come questo:pulseX = analogRead(xPin);pulseY = analogRead(yPin);Questo codice legge i valori da ingressi di Arduino e li archivia in "pulseX" e "pulseY."

• Convertire i dati memorizzati in "pulseX" e "pulseY" in accelerazione. Produttore di accelerometro dovrebbe fornire un'equazione o una tabella di valori da utilizzare per la conversione.

• Stampare i dati di accelerazione nel monitor seriale e inviarlo a un programma compatibile per rappresentare graficamente. Il codice potrebbe essere come questo:Serial.Print("X");Serial.Print(accelerationX);Println ();Serial.Print("Y");Serial.Print(accelerationY);Println ();Le righe che iniziano con "Serial. Print" stampa i valori memorizzati nelle variabili assegnate o le lettere che appaiono tra virgolette. "Println ()" aggiunge ritorni tra le variabili stampate, quindi non appaiono sulla stessa riga.

• Aggiungere un ritardo prima l'Arduino va indietro alla prima riga di codice. Il codice potrebbe essere come questo:Delay(50);}La prima riga di codice imposta il ritardo di 50 millisecondi. La parentesi graffa segna la fine del "loop" e racconta l'Arduino per tornare alla prima riga di codice.

• Fare clic sul pulsante "Upload" per caricare il codice su Arduino.

Grafico accelerazione

• Lanciare un ambiente di programmazione come Max/MSP, elaborazione o Pure Data, che accetta dati seriali.

• Scrivere codice che indica al programma di monitorare e di accettare in ingresso seriali dati da Arduino. Il codice che si scrive dipende l'ambiente di programmazione che si utilizza. Specificare la velocità in baud che è stato utilizzato nel codice di Arduino quando si configura la comunicazione seriale.

• Scrivere il codice che consente di impostare un grafico con un asse X e Y. Disegnare ed etichetta gli assi con valori appropriati per il vostro accelerometro. È possibile utilizzare i valori massimi e minimi forniti dall'accelerometro per definire la lunghezza di ciascun asse.

• Scrivere codice che separa i dati provenienti da Arduino nei valori appropriati di assi x e y. Ad esempio, è possibile assegnare il valore numerico ricevuto dopo "X" per l'asse x del grafico e il valore ricevuto dopo "Y" per l'asse y.

• Scrivere codice che traccia i punti sul grafico utilizzando i dati forniti dall'Arduino.

• Scrivere codice che disegna linee tra i punti tracciati.