0% found this document useful (0 votes)
6 views10 pages

Electrosurgery Unit Control Code

The document contains an Arduino program for controlling an electrosurgery unit with both monopolar and bipolar modes. It includes setup for LCD displays, input readings, and safety mechanisms to prevent errors during operation. The main loop continuously updates the display and adjusts the output based on user inputs and selected modes.

Uploaded by

AZIZ UR RAHMAN
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views10 pages

Electrosurgery Unit Control Code

The document contains an Arduino program for controlling an electrosurgery unit with both monopolar and bipolar modes. It includes setup for LCD displays, input readings, and safety mechanisms to prevent errors during operation. The main loop continuously updates the display and adjusts the output based on user inputs and selected modes.

Uploaded by

AZIZ UR RAHMAN
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

LISTING PROGRAM

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd1(0x27, 20, 4);
LiquidCrystal_I2C lcd2(0x26, 20, 4);
int ftv = 6;
int dutycycle = 5;
int dcmono = 255;
int dcbipo = 255;
int pbcutbipo, pbcoagbipo; pbcutmono, pbcoagmono;
int dayaupmono, dayadownmono; dayaupbipo, dayadownbipo;
int relayhvmono; relayhvbipo; relaycut; relaycoag;
int dayamono = 1;
int dayabipo = 1;
int modemono = 0;
int modebipo = 0;
int frekuensimono = 400;
int frekuensibipo = 200;

void setup() {
// put your setup code here, to run once:
[Link](9600);
[Link]();
[Link]();
[Link]();
[Link]();
pinMode(A0, INPUT); //daya up bipo
pinMode(A1, INPUT); //daya down bipo
pinMode(A2, INPUT); //pb cut bipo
pinMode(A3, INPUT); //pb coag bipo
pinMode(2, INPUT); //daya up mono
pinMode(4, INPUT); //daya down mono
pinMode(5, OUTPUT); //dutycycle
pinMode(6, OUTPUT); //ftv
pinMode(7, INPUT); //pb cut mono
pinMode(8, INPUT); //pb coag mono
pinMode(9, OUTPUT); //relay
pinMode(10, OUTPUT); //relay
pinMode(11, OUTPUT); //relayhvmono
pinMode(12, OUTPUT); //relayhvbipo

digitalWrite(9, HIGH);
digitalWrite(10, HIGH);
digitalWrite(11, HIGH);
digitalWrite(12, HIGH);
}

void (*resetprogramcuy)(void) = 0;

void toneftvmono()
{ if (dayamono == 1) {frekuensimono = 300;}
if (dayamono == 2) {frekuensimono = 400;}
if (dayamono == 3) {frekuensimono = 700;}
if (dayamono == 4) {frekuensimono = 0;}
}

void toneftvbipo()
{ if (dayabipo == 1) {frekuensibipo = 280;}
if (dayabipo == 2) {frekuensibipo = 350;}
if (dayabipo == 3) {frekuensibipo = 600;}
if (dayabipo == 4) {frekuensibipo = 0;}
}

void dtcmono()
{ if (modemono == 1)
{dcmono = 0;
relaycut = 9;
relayhvmono = 11;}
if (modemono == 2)
{dcmono = 240;
relaycoag = 10;
relayhvmono = 11;}
if (modemono == 3)
{dcmono = 255;}
}

void dtcbipo()
{ if (modebipo == 1)
{dcbipo = 0;
relaycut = 9;
relayhvbipo = 12;}
if (modebipo == 2)
{dcbipo = 240;
relaycoag = 10;
relayhvbipo = 12;}
if (modebipo == 3)
{dcbipo = 255;}
}

void bottommono()
{
dayaupmono = digitalRead(2);
dayadownmono = digitalRead(4);
pbcutmono = digitalRead(7);
pbcoagmono = digitalRead(8);
if (pbcutmono == HIGH) {modemono = 1;}
if (pbcoagmono == HIGH) {modemono = 2;}
if (dayaupmono == HIGH) {dayamono++;}
if (dayadownmono == HIGH) {dayamono--;}
if (dayamono < 1) {dayamono = 3;}
if (dayamono > 3) {dayamono = 1;}
}

void bottombipo()
{
dayaupbipo = digitalRead(A0);
dayadownbipo = digitalRead(A1);
pbcutbipo = digitalRead(A2);
pbcoagbipo = digitalRead(A3);
if (pbcutbipo == HIGH) {modebipo = 1;}
if (pbcoagbipo == HIGH) {modebipo = 2;}
if (dayaupbipo == HIGH) {dayabipo++;}
if (dayadownbipo == HIGH) {dayabipo--;}
if (dayabipo < 1) {dayabipo = 3;}
if (dayabipo > 3) {dayabipo = 1;}
}

void safety () {
if (pbcutmono == HIGH && pbcutbipo == HIGH)
{modemono = 3;
modebipo = 3;
dayamono = 4;
dayabipo = 4;
[Link]();
[Link]();
delay(1000);
[Link](7, 1);
[Link]("ERROR");
[Link](7, 1);
[Link]("ERROR");
delay(1000);
[Link](4, 2);
[Link]("RESETTING ESU");
[Link](4, 2);
[Link]("RESETTING ESU");
delay(3000);
digitalWrite(relaycut, HIGH);
digitalWrite(relaycoag, HIGH);
digitalWrite(relayhvmono, HIGH);
digitalWrite(relayhvbipo, HIGH);
resetprogramcuy();
}
else if (pbcutmono == HIGH && pbcoagbipo == HIGH)
{
digitalWrite(relaycut, HIGH);
digitalWrite(relaycoag, HIGH);
digitalWrite(relayhvmono, HIGH);
digitalWrite(relayhvbipo, HIGH);
modemono = 3;
modebipo = 3;
dayamono = 4;
dayabipo = 4;
[Link]();
[Link]();
delay(1000);
[Link](7, 1);
[Link]("ERROR");
[Link](7, 1);
[Link]("ERROR");
delay(1000);
[Link](4, 2);
[Link]("RESETTING ESU");
[Link](4, 2);
[Link]("RESETTING ESU");
delay(3000);
resetprogramcuy();
}
else if (pbcoagmono == HIGH && pbcutbipo == HIGH)
{
digitalWrite(relaycut, HIGH);
digitalWrite(relaycoag, HIGH);
digitalWrite(relayhvmono, HIGH);
digitalWrite(relayhvbipo, HIGH);
modemono = 3;
modebipo = 3;
dayamono = 4;
dayabipo = 4;
[Link]();
[Link]();
delay(1000);
[Link] (7, 1);
[Link]("ERROR");
[Link](7, 1);
[Link]("ERROR");
delay(1000);
[Link](4, 2);
[Link]("RESETTING ESU");
[Link](4, 2);
[Link]("RESETTING ESU");
delay(3000);
resetprogramcuy();
}
else if (pbcoagmono == HIGH && pbcoagbipo == HIGH)
{
digitalWrite(relaycut, HIGH);
digitalWrite(relaycoag, HIGH);
digitalWrite(relayhvmono, HIGH);
digitalWrite(relayhvbipo, HIGH);
modemono = 3;
modebipo = 3;
dayamono = 4;
dayabipo = 4;
[Link]();
[Link]();
delay(1000);
[Link](7, 1);
[Link]("ERROR");
[Link](7, 1);
[Link]("ERROR");
delay(1000);
[Link](4, 2);
[Link]("RESETTING ESU");
[Link](4, 2);
[Link]("RESETTING ESU");
delay(3000);
resetprogramcuy();
}
else if (pbcutmono == HIGH && pbcoagmono == HIGH)
{
digitalWrite(relaycut, HIGH);
digitalWrite(relaycoag, HIGH);
digitalWrite(relayhvmono, HIGH);
digitalWrite(relayhvbipo, HIGH);
modemono = 3;
modebipo = 3;
dayamono = 4;
dayabipo = 4;
[Link]();
[Link]();
delay(1000);
[Link](7, 1);
[Link]("ERROR");
[Link](7, 1);
[Link]("ERROR");
delay(1000);
[Link](4, 2);
[Link]("RESETTING ESU");
[Link](4, 2);
[Link]("RESETTING ESU");
delay(3000);
resetprogramcuy();
}
else if (pbcutbipo == HIGH && pbcoagbipo == HIGH)
{
digitalWrite(relaycut, HIGH);
digitalWrite(relaycoag, HIGH);
digitalWrite(relayhvmono, HIGH);
digitalWrite(relayhvbipo, HIGH);
modemono = 3;
modebipo = 3;
dayamono = 4;
dayabipo = 4;
[Link]();
[Link]();
delay(1000);
[Link](7, 1);
[Link]("ERROR");
[Link](7, 1);
[Link]("ERROR");
delay(1000);
[Link](4, 2);
[Link]("RESETTING ESU");
[Link](4, 2);
[Link]("RESETTING ESU");
delay(3000);
resetprogramcuy();
}
}

void tampilanmono()
{[Link](0, 0);
[Link]("ELECTROSURGERY UNIT");
[Link](5, 1);
[Link]("MONOPOLAR");
if (modemono == 1)
{ [Link](2, 2);
[Link](">CUTTING");
[Link](12, 2);
[Link](" COAG");}
if (modemono == 2)
{ [Link](2, 2);
[Link](" CUTTING");
[Link](12, 2);
[Link](">COAG");}

if (dayamono == 1)
{ [Link](1, 3);
[Link](">LOW");
[Link](6, 3);
[Link](" MEDIUM");
[Link](14, 3);
[Link](" HIGH");}
if (dayamono == 2)
{ [Link](1, 3);
[Link](" LOW");
[Link](6, 3);
[Link](">MEDIUM");
[Link](14, 3);
[Link](" HIGH");}
if (dayamono == 3)
{ [Link](1, 3);
[Link](" LOW");
[Link](6, 3);
[Link](" MEDIUM");
[Link](14, 3);
[Link](">HIGH");}
}

void tampilanbipo() {
[Link](0, 0);
[Link]("ELECTROSURGERY UNIT");
[Link](6, 1);
[Link]("BIPOLAR");
if (modebipo == 1)
{ [Link](2, 2);
[Link](">CUTTING");
[Link](12, 2);
[Link](" COAG");}
if (modebipo == 2)
{ [Link](2, 2);
[Link](" CUTTING");
[Link](12, 2);
[Link](">COAG");}

if (dayabipo == 1) {
[Link](1, 3);
[Link](">LOW");
[Link](6, 3);
[Link](" MEDIUM");
[Link](14, 3);
[Link](" HIGH");}
if (dayabipo == 2) {
[Link](1, 3);
[Link](" LOW");
[Link](6, 3);
[Link](">MEDIUM");
[Link](14, 3);
[Link](" HIGH");}
if (dayabipo == 3) {
[Link](1, 3);
[Link](" LOW");
[Link](6, 3);
[Link](" MEDIUM");
[Link](14, 3);
[Link](">HIGH");}
}

void loop() {
// put your main code here, to run repeatedly:
tampilanmono();
tampilanbipo();
toneftvmono();
toneftvbipo();
dtcmono();
dtcbipo();
bottommono();
bottombipo();
safety();
[Link](dcmono);

if (pbcutmono == HIGH && modemono == 1)


{ tone(ftv, frekuensimono);
analogWrite(dutycycle, dcmono);
digitalWrite(relaycut, LOW);
digitalWrite(relaycoag, HIGH);
digitalWrite (relayhvmono, LOW);
digitalWrite (relayhvbipo, HIGH);
}

else if (pbcoagmono == HIGH && modemono == 2)


{ tone(ftv, frekuensimono);
analogWrite(dutycycle, dcmono);
digitalWrite(relaycut, HIGH);
digitalWrite(relaycoag, LOW);
digitalWrite (relayhvmono, LOW);
digitalWrite (relayhvbipo, HIGH);
}

else if (pbcutbipo == HIGH && modebipo == 1)


{ tone(ftv, frekuensibipo);
analogWrite(dutycycle, dcbipo);
digitalWrite(relaycut, LOW);
digitalWrite(relaycoag, HIGH);
digitalWrite (relayhvmono, HIGH);
digitalWrite (relayhvbipo, LOW);
}
else if (pbcoagbipo == HIGH && modebipo == 2)
{ tone(ftv, frekuensibipo);
analogWrite(dutycycle, dcbipo);
digitalWrite(relaycut, HIGH);
digitalWrite(relaycoag, LOW);
digitalWrite (relayhvmono, HIGH);
digitalWrite (relayhvbipo, LOW);
}

else {
noTone(ftv);
analogWrite(dutycycle, 255);
digitalWrite(9, HIGH);
digitalWrite(10, HIGH);
digitalWrite(relayhvmono, HIGH);
digitalWrite(relayhvbipo, HIGH);
}
}
/*analogWrite(3,240);//coagulant
analogWrite(3,191);//Blend3
analogWrite(3,153);//Blend2
analogWrite(3,128);//Blend1
analogWrite(3,255);//cutting
analogWrite(3,1);*/

You might also like