This shows you the differences between two versions of the page.
pm:prj2023:adarmaz:sistem-cartografiere-sol [2023/05/30 09:08] ioana.profeanu [Utilizarea cardului SD] |
pm:prj2023:adarmaz:sistem-cartografiere-sol [2023/05/30 09:13] (current) ioana.profeanu [Download cod] |
||
---|---|---|---|
Line 150: | Line 150: | ||
Pentru lucrul cu cardul SD, am utilizat biblioteca SD.h, ce pune la dispoziție funcții de bază pentru scrierea și citirea datelor de pe cardul SD. | Pentru lucrul cu cardul SD, am utilizat biblioteca SD.h, ce pune la dispoziție funcții de bază pentru scrierea și citirea datelor de pe cardul SD. | ||
+ | |||
+ | === Scrierea metricilor medii === | ||
+ | |||
+ | La fiecare recalculare a metricilor, mediile datelor citite sunt stocate și pe cardul SD într-un fișier de log numit metrics.txt, inserându-se media temperaturii, a umitității aerului și solului, a luminozității și numărul de citiri. | ||
<spoiler Cod scriere metrici pe cardul SD> | <spoiler Cod scriere metrici pe cardul SD> | ||
Line 189: | Line 193: | ||
</code> | </code> | ||
</spoiler> | </spoiler> | ||
- | |||
- | === Scrierea metricilor medii === | ||
- | |||
- | La fiecare recalculare a metricilor, mediile datelor citite sunt stocate și pe cardul SD într-un fișier de log numit metrics.txt, inserându-se media temperaturii, a umitității aerului și solului, a luminozității și numărul de citiri. | ||
=== Citirea plantelor === | === Citirea plantelor === | ||
Line 347: | Line 347: | ||
<code cpp> | <code cpp> | ||
- | // function for extracting the latitude | + | // function which, from an input NMEA sentence, |
- | String extractLatitude(const String& sentence) { | + | // extracts a string with the latitude |
+ | String extractCoordinates(const String& sentence) | ||
+ | { | ||
int commas; | int commas; | ||
if (sentence.indexOf("GPRMC") != -1) { | if (sentence.indexOf("GPRMC") != -1) { | ||
Line 362: | Line 364: | ||
int endIndex = -1; | int endIndex = -1; | ||
+ | // count commas and extract the value of the latitude | ||
for (size_t i = 0; i < sentence.length(); i++) { | for (size_t i = 0; i < sentence.length(); i++) { | ||
if (sentence[i] == ',') { | if (sentence[i] == ',') { | ||
Line 381: | Line 384: | ||
} | } | ||
- | // function for receiving NMEA sentences | + | // function which reads NMEA sentences from |
+ | // software serial for 20 seconds and returns the | ||
+ | // latitude in case the sentence is valid | ||
String getGPGGAsentence() | String getGPGGAsentence() | ||
{ | { | ||
Line 390: | Line 395: | ||
gpsSerial.begin(9600); | gpsSerial.begin(9600); | ||
- | // repeat the reading for 20 seconds | ||
while (timerDisplayInfo - currentTime < MINUTE / 4) { | while (timerDisplayInfo - currentTime < MINUTE / 4) { | ||
if (gpsSerial.available()) { | if (gpsSerial.available()) { | ||
Line 414: | Line 418: | ||
return sentence; | return sentence; | ||
} | } | ||
- | |||
</code> | </code> | ||
</spoiler> | </spoiler> | ||
Line 464: | Line 467: | ||
===== Download cod ===== | ===== Download cod ===== | ||
- | Codul poate fi vizualizat [[https://github.com/ioanaprofeanu/Sistem-cartografiere-sol.git|aici]]. | + | Codul poate fi vizualizat [[https://github.com/ioanaprofeanu/Sistem-cartografiere-sol.git|aici]] sau descărcat {{:pm:prj2023:adarmaz:sistem_cartografiere_sol.zip|aici}}. |
===== Jurnal ===== | ===== Jurnal ===== | ||