This is an old revision of the document!
Butonul de start face o ciclare intre starea de preluare date, idle si trimitere date la calculator. Initial, sistemul e idle, adica nu preia sau trimite date. Cand e apasat prima oara, se trece in starea de preluare date, prin care un LED rosu e aprins. Daca e apasat iar, sau nu mai are spatiu microSD-ul, se trece in starea idle iarasi, cu LED-ul rosu oprit. Daca e apasat iar, se trece in starea de trimitere date spre calculator, prin care un LED verde e aprins. La urmatoarea apasare, se reia ciclul, in starea idle, fara vreun LED aprins.
In modul idle, se asteapta schimbarea starii, fie la cea de preluare date, sau trimitere date.
Datele de la MPU9250 sunt comunicate prin protocolul I2C. Acestea ajung sa fie stocate intr-un buffer de 1KB din memorie care se umple constant si apoi sunt transmise catre MicroSD, prin protocolul SPI. Datele sunt adaugate in cadrul unui singur fisier, pana ce se schimba starea sau MicroSD-ul e plin. Are loc in starea de preluare date.
Pentru trimiterea datelor de pe placa spre calculator, se conecteaza calculatorul la placa si datele sunt luate prin protocolul UART. Python ar merge cel mai bine pentru asta, datorita functiilor seriale. Se incarca un buffer din memorie de 1KB iarasi, cu date de pe MicroSD si apoi sunt transmise spre calculator. Se reumple buffer-ul pana ce toate datele au fost transmise. La terminarea transmiterii, se sterg datele vechi. Are loc in starea de trimitere date.
Prin Python, se pot citi datele pe serial prin UART, pana ce fisierul de pe MicroSD e parcurs complet de microcontroller. Dupa asta, acesta da un mesaj 'NO DATA', indicand ca nu mai sunt date de trimis.
Atunci cand are loc preluarea datelor de la senzor, un buzzer va face un sunet scurt, in fiecare minut trecut.
Lista de piese: