This shows you the differences between two versions of the page.
pm:prj2024:ccontasel:andreea_ioana.ton [2024/05/11 11:52] andreea_ioana.ton [Descriere generală] |
pm:prj2024:ccontasel:andreea_ioana.ton [2024/05/26 20:35] (current) andreea_ioana.ton [Software Design] |
||
---|---|---|---|
Line 10: | Line 10: | ||
* Flutterul atrial | * Flutterul atrial | ||
* Fibrilatii atriale paroxostice | * Fibrilatii atriale paroxostice | ||
+ | |||
</note> | </note> | ||
===== Descriere generală ===== | ===== Descriere generală ===== | ||
Line 15: | Line 16: | ||
<note tip> | <note tip> | ||
Pentru acest proiect vor fi folositi 3 senzori care vor capta ritmul cardiac si il vor converti in semnal eletric. | Pentru acest proiect vor fi folositi 3 senzori care vor capta ritmul cardiac si il vor converti in semnal eletric. | ||
- | Modulul AD8232 filtreaza semnalele bioelectrice venite de la senzori si elimina zgomotul aditional. | + | Modulul AD8232 filtreaza semnalele bioelectrice venite de la senzori si elimina zgomotul aditional. Semnalul electric va fi afisat pe LCD daca acesta este pornit(caz in care si led-ul verde va lumina, in caz contrar cel rosu va fi aprins). De asemenea valoarea ritmului cardiac v-a fi descrisa de o serie de leduri albe care se vor lumina de la stanga la dreapta in functie de cat de mult creste ritmul cardiac. |
- | {{:pm:prj2024:ccontasel:schema_holter.png?450|Schema}} | + | |
+ | Concepte folosite: | ||
+ | * I2C (LCD) | ||
+ | * GPIO(In cadrul ledurilor care arata valoarea semnalului cardiac) | ||
+ | * SPI( in cadrul modulului AD8232) | ||
+ | {{:pm:prj2024:ccontasel:schema_holter.png?470|Schema}} | ||
</note> | </note> | ||
Line 29: | Line 35: | ||
- Conector electrozi x1 | - Conector electrozi x1 | ||
- Breadboard x1 | - Breadboard x1 | ||
+ | - Intrerupator x1 | ||
+ | - Led x5 | ||
+ | - LCD 1602 cu interfata I2C x1 | ||
</note> | </note> | ||
+ | {{:pm:prj2024:ccontasel:schematic_holter.jpg?470|Schema}} | ||
+ | {{:pm:prj2024:ccontasel:schema_piese_holter.jpg?470|Schema}} | ||
+ | {{:pm:prj2024:ccontasel:poza_holter.jpg?470|Schema}} | ||
+ | |||
===== Software Design ===== | ===== Software Design ===== | ||
Line 36: | Line 49: | ||
<note tip> | <note tip> | ||
Descrierea codului aplicaţiei (firmware): | Descrierea codului aplicaţiei (firmware): | ||
- | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | + | * mediu de dezvoltare: Arduino IDE |
- | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | + | * am folosit librariile LiquidCrystal_I2C si Wire.h |
- | * algoritmi şi structuri pe care plănuiţi să le implementaţi | + | * in setup am setat ca input pinii 10 si 11 care preiau semnalul de la modului AD8232, am initializat lcd-ul cu 16 coloane si 3 randuri |
- | * (etapa 3) surse şi funcţii implementate | + | * in functia loop astept semnalul de la modului AD8232, in cazul in care primesc un semnal, afisez heart rate-ul pe lcd |
+ | * in functie de cum scade si creste valoarea afisata,luminez unul dintre leduri | ||
</note> | </note> | ||
+ | |||
+ | <code cpp> | ||
+ | #include <LiquidCrystal_I2C.h> | ||
+ | |||
+ | #include <Wire.h> | ||
+ | //I2C pins declaration | ||
+ | LiquidCrystal_I2C lcd(0x27, 16, 2); | ||
+ | |||
+ | void setup() | ||
+ | { | ||
+ | Serial.begin(9600); | ||
+ | |||
+ | pinMode(10,INPUT); | ||
+ | pinMode(11,INPUT); | ||
+ | pinMode(13, OUTPUT); | ||
+ | pinMode(8, OUTPUT); | ||
+ | pinMode(9, OUTPUT); | ||
+ | pinMode(12, OUTPUT); | ||
+ | lcd.begin(16, 2); | ||
+ | lcd.init(); | ||
+ | lcd.backlight(); | ||
+ | lcd.clear(); | ||
+ | } | ||
+ | |||
+ | void loop() | ||
+ | { | ||
+ | lcd.clear(); | ||
+ | lcd.setCursor(0, 0); | ||
+ | if((digitalRead(10)==1)||(digitalRead(11)==1)){ | ||
+ | | ||
+ | } | ||
+ | else{ | ||
+ | lcd.print(analogRead(A1)); | ||
+ | Serial.println(analogRead(A1)); | ||
+ | } | ||
+ | if(analogRead(A1) < 200){ | ||
+ | digitalWrite(9, HIGH); | ||
+ | digitalWrite(13, LOW); | ||
+ | digitalWrite(8, LOW); | ||
+ | digitalWrite(12, LOW); | ||
+ | delay(100); | ||
+ | | ||
+ | } | ||
+ | if(analogRead(A1) > 200){ | ||
+ | if(analogRead(A1) < 300){ | ||
+ | digitalWrite(9, LOW); | ||
+ | digitalWrite(13, HIGH); | ||
+ | digitalWrite(8, LOW); | ||
+ | digitalWrite(12, LOW); | ||
+ | delay(100); | ||
+ | } | ||
+ | } | ||
+ | if(analogRead(A1) > 300){ | ||
+ | if(analogRead(A1) < 450){ | ||
+ | digitalWrite(9, LOW); | ||
+ | digitalWrite(13, LOW); | ||
+ | digitalWrite(8, HIGH); | ||
+ | digitalWrite(12, LOW); | ||
+ | delay(100); | ||
+ | } | ||
+ | } | ||
+ | if(analogRead(A1) > 450){ | ||
+ | digitalWrite(9, LOW); | ||
+ | digitalWrite(13, LOW); | ||
+ | digitalWrite(8,LOW ); | ||
+ | digitalWrite(12, HIGH); | ||
+ | delay(100); | ||
+ | } | ||
+ | delay(500); | ||
+ | } | ||
+ | </code> | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
<note tip> | <note tip> | ||
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | Graficul EKG obtinut: |
</note> | </note> | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
- | ===== Download ===== | ||
- | |||
- | |||
- | ===== Jurnal ===== | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
+ | * https://www.instructables.com/ECG-Monitoring-System-by-Using-Arduino-or-AD8232/ | ||