Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2021:abirlica:455 [2021/05/31 12:06]
ilie_cristian.sandu [Software Design]
pm:prj2021:abirlica:455 [2021/06/02 17:27] (current)
ilie_cristian.sandu [Bibliografie/Resurse]
Line 33: Line 33:
  
 ===== Software Design ===== ===== Software Design =====
-Medii Dezvoltare: ​+**Medii Dezvoltare**
   * Arduino IDE (pentru proiectul principal)   * Arduino IDE (pentru proiectul principal)
   * PyCharm (pentru scriptul de parsare date SD)   * PyCharm (pentru scriptul de parsare date SD)
   * Visual Studio Code (pentru scriptul de afisare a datelor in timp real pe Raspberry pi)   * Visual Studio Code (pentru scriptul de afisare a datelor in timp real pe Raspberry pi)
-Biblioteci folosite ​+**Biblioteci folosite** 
   * Wire.h   * Wire.h
   * SPI.h    * SPI.h 
Line 46: Line 46:
   * max30102.h   * max30102.h
   * U8glib.h   * U8glib.h
 +  * Arduino.h
  
-Activity diagram+**Activity diagram** 
 +{{ :​pm:​prj2021:​abirlica:​SchemaSoftTensiometru.png?​600 |}} 
 + 
 +**Pe Arduino** 
 + 
 +Programul functioneaza astfel:  
 +Pana nu se introduce de la tastatura un caracter masuratoarea nu incepe. Se colecteaza datele intr-un for de la 1 la 100 astfel obtinandu-se o valoare cat mai aproape de realitate. Daca rezultatul obtinut dupa este valid conform algoritmului se trimit datele prin serial la Pi, spre SD card alaturi de data si ora la care s-au inregistrat(aici apare un delay de max 2s), si datele spre ecrane ca sa se afiseze.  
 +La inceput se verifica si daca exista un SD card returnand o eroare in caz contrar.  
 + 
 +**Pe Pi** 
 + 
 +Datele se primesc una pe un rand despartite de un caracter, astfel putand sa se faca distinctia intre HR si SPO2. Dupa se ploteaza rezultatul cu ajutorul biblioteci matplotlib.pyplot. 
 + 
 +**Pe partea de parsare SD** 
 + 
 +Aici intervine o parsare simpla de text. 
 + 
 + 
 +Ca si algoritmi folositi am ales sa raman la algoritmul oferit de producatorul senzorului (varianta originala nu era compatibia cu MEGA)  usor modificat gasit [[https://​github.com/​aromring/​MAX30102_by_RF| aici]]. Acest algoritm calculeaza HR si SPO2 folosind datele de la senzor. 
 + 
 +===== Rezultate ===== 
 +{{ :​pm:​prj2021:​abirlica:​TensiometruRezultateSIC701.jpg?​600 |}} 
 +{{ :​pm:​prj2021:​abirlica:​TensiometruRezultateSIC742.jpg?​600 |}} 
 +{{ :​pm:​prj2021:​abirlica:​TensiometruRezultateSIC142.jpg?​600 |}} 
 +{{ :​pm:​prj2021:​abirlica:​TensiometruRezultateSIC8.jpg?​600 |}} 
 +{{ :​pm:​prj2021:​abirlica:​TensiometruRezultateSIC00.jpg?​600 |}} 
 + 
 +==== Demo ==== 
 + 
 +Cum am zis si in [[ https://​youtu.be/​EvRmBBJJen0| demo]] am atasat graficele dupa rulare alaturi de datele optinute 
 + 
 +{{ :​pm:​prj2021:​abirlica:​testVideoDemo.png?​600 |}} 
 +{{ :​pm:​prj2021:​abirlica:​outputSDDemoVideo.jpg?​600 |}} 
 +{{ :​pm:​prj2021:​abirlica:​hrSDPlot.jpg?​600 |}} 
 +{{ :​pm:​prj2021:​abirlica:​spo2SDPlot.jpg?​600 |}} 
 + 
 +===== Concluzii ===== 
 + 
 +In concluzie, acest proiect ma ajutat sa invat comunicarea dintre Arduino si Raspberry pi w 0, de la utilizarea unui divizor de tensiune la comunicarea intre acestea. Aceasta infromatie fiind utila pentru viitoare proiecte pentru conectare mai usoara la internet a placutei arduino. :)  
 +  
 +Ca si alte parti bune intra si lipitul pinilor (trebuie o atentie sporita sa nu strici componentele de pe langa).
  
-Ca si algoritmi folositi am ales sa raman la algoritmul oferit de producatorul senzorului (varianta originala nu era compatibia cu MEGA)  usor modificat gasit aici [[https://​github.com/​aromring/​MAX30102_by_RF| aici]]. Acest algoritm calculeaza HR si SPO2 folosind datele de la senzor. 
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
-* [[https://​roboromania.ro/​produs/​placa-de-dezvoltare-mega-2560-ch340-cablu-usb-compatibila-arduino/​|Arduino MEGA 2560]]+  ​* [[https://​roboromania.ro/​produs/​placa-de-dezvoltare-mega-2560-ch340-cablu-usb-compatibila-arduino/​|Arduino MEGA 2560]] 
 +  * [[https://​github.com/​aromring/​MAX30102_by_RF| Algoritm calcul MAX_RF]] 
 +  * [[ https://​youtu.be/​EvRmBBJJen0| Demo YT]] 
 +  * [[https://​www.maximintegrated.com/​en/​support/​videos/​2019/​vid_how_to_set_up_the_maxrefdes117_heart_rate_and_pulse_oximetry_monitor_with_an_arduino_board.html | Video Producator setare senzor Arduino UNO]] 
 +  * Mare parte din piese [[https://​www.optimusdigital.ro/​ro/​]|Optimus Digital]] 
 +  * https://​roboticsbackend.com/​raspberry-pi-arduino-serial-communication/​ 
 +  * Restul de pe [[https://​roboromania.ro/​]|RoboRomania]] 
 +  * [[https://​github.com/​CristiSandu/​Tensiometru-cu-MAXREFDES117-si-Raspberry-pi|GitHub Code Link ]]
 <​note>​Link catre pagina: https://​ocw.cs.pub.ro/​courses/​pm/​prj2021/​abirlica/​455 </​note>​ <​note>​Link catre pagina: https://​ocw.cs.pub.ro/​courses/​pm/​prj2021/​abirlica/​455 </​note>​
 +  ​
 +
  
pm/prj2021/abirlica/455.1622451973.txt.gz · Last modified: 2021/05/31 12:06 by ilie_cristian.sandu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0