@HilmihanEkim2208
Hello.
For easier communication, next time please write in English.
This is done with Bascom IDE and not Arduino. The source code is in the attachment.
'------------------------------------------------------------------------------
' ECG Electro Cardio Gram
' 2021-07-01 (c)gammda
' Ver-1
' CardioGraph
' Use Arduino UNO analog input A1 (pinc.1) and AD8232 modul
' .-----------------------.
' |ATMEGA328 |
' |Clock 11.059200MHz |
' |Baud:19200 |
' '-----------------------'
' 1.Install GUI-O application on smartphone
' www.gui-o.com or https://play.google.com/store/apps/details?id=com.guio.guioapp
' 2.Start GUI-O and make Bluetooth connection with arduino board
' 3.Press on start GUI-O button
'------------------------------------------------------------------------------
$regfile = "m328pbdef.dat"
$crystal = 11059200
'$baud = 9600 'default baudrate for Bluetooth HC06
$baud = 19200 'NOTE! For proper connection, it is necessary to set 19200 on the bluetooth module HC06.
'For first test you can use default baudrate 9600
Config Serialin = Buffered , Size = 120
Const Timer1reload = 43200
Config Timer1 = Timer , Prescale = 256
Load Timer1 , Timer1reload
On Ovf1 Timer1_isr
Enable Timer1
Start Timer1
Enable Interrupts
'-ADC--------------------------------------------------------------------------
Dim Channel As Byte 'A/D conversion
Channel = 1
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Start Adc
Enable Interrupts
'------------------------------------------------------------------------------
$lib "GetToken.Lib"
$external Gettoken
Declare Function Gettoken(strinput As String , Byval Bseparator As Byte , Byval Bcount As Byte ) As String
Dim Sep As Byte
Dim Pozicija As Byte
'------------------------------------------------------------------------------
Dim Cardio As Integer
Dim Pulse As Byte
Dim Pulsex As Byte
Pulsex = 60
Dim Timx As Byte
Dim Timy As Byte
Dim Pul1 As Byte
Dim Soun_d As Bit
Soun_d = 0
Dim Flags As Bit
Flags = 0
Dim Data_key As Byte
Dim Znak As String * 15
Dim Rdata As String * 100
Dim Init As String * 4
Gosub Guio_ini 'start initalization procedure on GUI-O - write objects on screen of smart phone
'------------------------------------------------------------------------------
Main:
Do
If Ischarwaiting() = 1 Then
Gosub Read_data
End If
Cardio = Getadc(channel) 'read walue of AD
If Cardio > 740 Then 'sound if amplitude je more than 740
If Soun_d = 1 Then
Print "@ton1 EDUR:500" 'sound appear on smart phone
End If
Pul1 = Pul1 + 1 'calculate pulse
If Timy = 4 Then
Pulse = Pul1 * 10
Pul1 = 0
Timy = 0
End If
End If
Print "@ch1 PLI:" ; Chr(34) ; "pl1" ; Chr(34) ; " YP:" ; Chr(34) ; Cardio ; Chr(34) ' write graph data (AD data) ECG to GUI-O
If Timx > 1 Then
Print "@ch0 PLI:" ; Chr(34) ; "pl0" ; Chr(34) ; " PLC:" ; Chr(34) ; "#000000" ; Chr(34) ; " YP:" ; Chr(34) ; Pulse ; Chr(34) ; " XP:" ; Chr(34) ; "0" ; Chr(34) 'Write graph pulse to GUI-O
Print "@lbpulse TXT:" ; Chr(34) ; Pulse ; Chr(34) 'write numeric value on GUI-O
Timx = 0
End If
Loop
End 'End of main cycle
'------------------------------------------------------------------------------
Read_data:
Reset Watchdog
Data_key = Inkey()
If Data_key = "@" Then Input Rdata Noecho
Sep = &H20
Pozicija = 1
Znak = Gettoken(rdata , Sep , Pozicija)
If Znak = "btsound" Then
Toggle Soun_d
If Soun_d = 1 Then
Print "@btsound BTH:0.25" 'If sound is ON button outline appear
Else
Print "@btsound BTH:0" 'If sound is OFF button outline disappear
End If
End If
Init = Mid(rdata , 1 , 4)
If Init = "init" Then 'reading "@init" from GUI-O
Gosub Guio_ini
End If
Rdata = ""
Return
'-Initialization procedure GUI-O Objects-------------------------------------------------------
Guio_ini:
Print "@sls 500" 'start writting objects
Print "@cls" 'clear screen
Print "@clh" 'clear HW components
'Print "@clo" 'clear orientation
Print "@guis BGC:#000000 ASR:0.449671" 'bacground color X-Y ratio
Print "|SORI UID:sori1 HID:sori ORI:2 SEN:0"
Waitms 250
Print "|IM UID:imx X:15 Y:50 W:100 H:100 ROT:0 SHE:0 VIS:1 OPA:1 SCM:2 IP:" ; Chr(34) ; "ECG.jpg" ; Chr(34) 'GUI-O Image ECG.jpg copy to smartphone \Phone\Android\data\com.guio.guioapp\files\Pictures\
Print "|TON UID:ton1 HID:ton EDUR:1000 TONT:24" 'GUI-O define ton
Print "|CH UID:ch0 X:65 Y:25 W:72 H:50 BTH:0.1 XTC:10 YTC:8 VIS:1 BSZ:5 DRA:0 BGC:#FFFFFF FGC:#900000 RAD:0 LT:0.15 XMA:5 YMA:8 SHVL:1 VLP:0 CHN:" ; Chr(34) ; "PULSE" ; Chr(34) ; " FFA:" ; Chr(34) ; "font6" ; Chr(34) ; " FSZ:4"
Print "|CH UID:ch1 X:65 Y:75 W:72 H:50 BTH:0.1 XTC:10 YTC:8 VIS:1 BSZ:200 DRA:0 CHT:2 BMA:0.03 XLO:0 XHI:40000 BGC:#FFFFFF FGC:#900000 RAD:0 LT:0.15 XMA:5 YMA:8 SHVL:1 VLP:0 CHN:" ; Chr(34) ; "ELECTRO CARDIOGRAM" ; Chr(34) ; " FFA:" ; Chr(34) ; "font6" ; Chr(34) ; " FSZ:4"
'GUI-O graph for pulse and Cardio
Print "|LB UID:lbpulse X:87 Y:35 ALP:1 ROT:0 SHE:1 FGC:#000000 FFA:" ; Chr(34) ; "font6" ; Chr(34) ; " FSZ:16 TXT:" ; Chr(34) ; "---" ; Chr(34) 'Label for number-pulse
Print "|LB UID:lbpname X:85 Y:23 ALP:1 ROT:0 SHE:1 FGC:#000000 FFA:" ; Chr(34) ; "font8" ; Chr(34) ; " FSZ:4 TXT:" ; Chr(34) ; "PULSE BMP" ; Chr(34) 'Label for name
Print "|LB UID:lbname X:2 Y:92 ALP:1 ROT:0 SHE:1 FGC:#FFFFFF FFA:" ; Chr(34) ; "font7" ; Chr(34) ; " FSZ:10 TXT:" ; Chr(34) ; "ECG" ; Chr(34) 'Label general name
Print "|BT UID:btsound X:22 Y:92 W:10 H:10 ROT:0 RAD:1 SHVR:0.8 SHE:1 SHC:#404040 BGC:#808B96 SBGC:#808B96 FGC:#FFFFFF FSZ:6 BTH:0 FFA:" ; Chr(34) ; "font6" ; Chr(34) ; " TXT:" ; Chr(34) ; "Sound" ; Chr(34) ; " SVAL:" ; Chr(34) ; "Stop" ; Chr(34)
'Button for sound ON/OFF
Print "@ch1 PLI:" ; Chr(34) ; "pl1" ; Chr(34) ; " PLC:" ; Chr(34) ; "#000000" ; Chr(34) ; " YP:" ; Chr(34) ; Cardio ; Chr(34) ; " XP:" ; Chr(34) ; "0" ; Chr(34)
'write data for cardio
Print "@hls 250" 'end writting objects
Return
'-Timer_ISR--------------------------------------------------------------------------------
Timer1_isr:
Timx = Timx + 1
Timy = Timy + 1
Return
'------------------------------------------------------------------------------------------