Quadcopter datavisualisering med Plotly (4 / 7 steg)
Steg 4: kod
Koden är inte helt förklaras, bara de viktigaste delarna. Fortfarande, du kan hämta koden och jag tror det är ganska väl förstådd. Om du har tveka några frågor inte att fråga.
Koden består av 3 filer, den viktigaste av dem med huvudkoden, initiering sensorer, debug, huvudloop, etc. En annan fil för att styra accelerometern och gyroskop och en tredje för barometer och temperatur sensorer. Först definierar vi konstanter och variabler som programmet kommer att använda. För Plotly definierar vi tre variabler:
#define num_traces 4
Är antalet data variabler vi vill visualisera, i vårt fall 4.
char * streaming_tokens [num_traces] = {"your_plotly_stream_token", "another_plotly_stream_token",...};
Här anger vi nycklarna till vår stream tokens, var och en för varje variabel data.
plotly graf = plotly ("your_plotly_username", "your_plotly_api_key", streaming_tokens, "your_plotly_filename", num_traces);
Slutligen måste en datatyp för att möjliggöra arduino att ta kontakt med vår Plotly tjänst, vi ange namnet på vårt Plotly konto, API-nyckel och namnet på filen som lagrar data.
Huvudkoden initierar sensorerna och konfigurerar Ethernet shield för att etablera kontakt med Plotly web service.
I slingan utföra vi funktionen varje 100 millisekunder. Det innebär att våra prov frekvens är 10 Hz (vi kan använda andra frekvens som 100 eller 1000 Hz). Denna funktion tar värdena på sensorn, bearbeta dem (Kalmanfilter, kompletterande filter,...), och slutligen skickar data till tjänsten Plotly.
Jag gjorde två program, en för Använd datan av accelerometern och gyroskop, skickar fyra vinklar till Plotly, och en andra en som mäter temperaturen och trycket och skickar dessa värden plus höjdvärdet tidigare beräknas till Plotly.