Hvordan tegne grafen til en Akselerometer med Arduino

Hvordan tegne grafen til en Akselerometer med Arduino


Akselerometre er elektroniske komponenter som måler akselerasjon, tilt eller vibrasjon av et objekt når den er koblet til en annen enhet. Du kan tolke data fra et akselerometer ved å koble det til en Arduino microcontroller. Arduino leser verdier fra akselerometeret er utdatastrømpunkt og overfører dem til en datamaskin. Datamaskinen viser dataene i numerisk form. Du kan også plotte data ved å overføre det til et programmerings program, for eksempel Max / MSP eller foredling, hvor det kan plottes i sanntid.

Bruksanvisning

Koble Akselerometer til Arduino

1 Plasser akselerometeret på breadboard med sine pinner på separate spor.

2 Koble akselerometer akse pins til Arduino analoge eller digitale innganger med wire. Bruk en inngang per pinne. Akselerometeret dataark forteller deg hvilke pins gi aksedata og om dataene er analog eller digital.

3 Koble akselerometer forsyningsspenningen pin til riktig spenning på Arduino med wire. Akselerometeret dataark forteller deg hvor mye strøm den trenger.

4 Koble akselerometeret sin bakken pin til bakken terminalen på Arduino med wire.

5 Sett inn en USB-kabel inn i Arduino USB-kontakt.

6 Plugg den andre enden av USB-kabelen inn i en USB-port på en datamaskin.

Skriv Arduino kode

7 Gi variabler til Arduino innganger koblet til akselerometer utganger. Koden kan se slik ut:
int xPin = 2;
int yPin = 3;
Variablene "xPin" og "yPin" er tilordnet pinnene koblet til akselerometerets X- og Y-utganger.

8 Initiere seriell kommunikasjon mellom datamaskinen og Arduino. Koden kan se slik ut:
void setup () {
Serial.begin (9600);
Den første linjen i koden er nødvendig for alle programmer. Den krøllete brakett markerer begynnelsen på "oppsett". "Serial.begin (9600)" oppretter kommunikasjon på 9600 bits per sekund.

9 Definer Arduino innsats pins under "oppsett". Koden kan se slik ut:
pinMode (xPin, INPUT);
pinMode (yPin, INPUT);
}
Pins 2 og 3 på Arduino er nå satt som innganger. Den krøllete brakett markerer slutten på "oppsett".

10 Tilordne variabler for å lagre innkommende akse og akselerasjonsdata. Koden kan se slik ut:
void loop () {
int pulseX, pulseY;
int accelerationX, accelerationY;
Den første linjen i koden forteller Arduino at følgende kode består av funksjoner den må utføre i en loop. Det første settet av hele tall lagre de data som kommer fra inngangs pinnene, mens det andre sett lagrer resultatene av beregningene som omdanner de innkommende data til verdier som representerer akselerometerets akselerasjon.

11 Les data fra Arduino innganger og lagre den i de aktuelle variablene. Koden kan se ut som dette hvis akselerometer gir digital data:
pulseX = pulseIn (xPin, HIGH);
pulseY = pulseIn (yPin, HIGH);
Koden "pulseIn (xPin, HIGH)" forteller Arduino å vente på pin for å lese "høy" og starte tidtakingen. Når pinnen leser "Low", Arduino stopper timing og lagrer verdien i "pulseX." Den andre linjen i koden fungerer på samme måte.

Koden kan se ut som dette hvis akselerometer gir analoge data:
pulseX = analogRead (xPin);
pulseY = analogRead (yPin);
Denne koden leser verdiene fra den Arduino innganger og lagrer dem i "pulseX" og "pulseY."

12 Konvertere data som er lagret i "pulseX" og "pulseY" i akselerasjon. Akselerometeret produsenten bør gi en ligning eller tabell med verdier som skal brukes for konvertering.

1. 3 Skriv ut akselerasjon data i serie monitor, og sende det til en kompatibel program for grafisk fremstilling. Koden kan se slik ut:
Serial.print ( "X");
Serial.print (accelerationX);
Serial.println ();
Serial.print ( "Y");
Serial.print (accelerationY);
Serial.println ();
Linjene som begynner med "Serial.print" skrive ut de verdiene som er lagret i den tildelte variabler eller bokstavene som vises i anførselstegn. "Serial.println ()" legger linjeskift mellom de trykte variabler, slik at de ikke vises på samme linje.

14 Legg en forsinkelse før Arduino går tilbake til den første linjen med kode. Koden kan se slik ut:
forsinkelse (50);
}
Den første linjen med kode setter forsinkelsen til 50 millisekunder. Den krøllete brakett markerer slutten på "loop" og forteller Arduino for å gå tilbake til den første linjen med kode.

15 Klikk på "Last opp" -knappen for å laste opp koden til Arduino.

Tegne grafen til Acceleration

16 Lansere et programmeringsmiljø som Max / MSP, Bearbeiding eller pure data, som aksepterer serielle data.

17 Skriv kode som forteller programmet til å overvåke og akseptere innkommende serielle data fra Arduino. Koden du skriver avhenger av programmeringsmiljø du bruker. Angi overføringshastigheten du brukte i Arduino koden når du setter opp seriell kommunikasjon.

18 Skrive kode som setter opp en graf med en X- og Y-aksen. Tegn og merke aksene med verdier som er riktige for akselerometer. Du vil kanskje bruke maksimums- og minimumsverdier gitt av akselerometeret til å definere lengden på hver akse.

19 Skriv kode som skiller de data som kommer fra Arduino i de riktige X-aksen og Y-aksen verdier. For eksempel kan du legge inn tallverdien mottas etter "X" til X-aksen på grafen og verdien mottatt etter "Y" til Y-aksen.

20 Skriv kode som plotter punktene på grafen ved hjelp av data fra Arduino.

21 Skriv kode som trekker linjer mellom plottede punktene.