Overview
Elektrostimulator merupakan suatu peralatan elektronik yang mampu menghasilkan tegangan listrik dengan intensitas dan frekuensi tertentu untuk merangsang keseimbangan Chi/ energi tubuh. Penelitian ini bertujuan untuk membuat rancang bangun elektrostimulator yang memiliki bentuk gelombang keluaran spike dan square dimana tegangan, frekuensi dan waktu rangsang dapat divariasi sesuai dengan kebutuhan. Penelitian yang bersifat eksperimen ini dilakukan dengan membuat elektrostimulator yang memiliki 2 gelombang keluaran yang berbeda dan mengemasnya menjadi satu alat sehingga memberi kekeluasaan pada akupunkturis untuk melakukan terapi sesuai dengan kondisi penderita.Dari hasil perancangan alat dan perwujudannya kemudian dilakukan uji coba dan kalibrasi. Kalibrasi alat menggunakan osiloskop dan digital frekuensi meter. Analisis dilakukan dengan menggunakan uji T pada 2 sisi untuk mengetahui stabilitas tegangan dan frekuensi pada keempat keluaran. Hasil penelitian diperoleh elektrostimulator dengan bentuk gelombang spike(pulsa) dan square.
Hardware Used
- Arduino Uno R3 – 1
- Step Up Dc Converter
- Lcd 2x16 I2C
- Adaptor 9V 1 A
- Jumper Wires
- Kabel Pad Elktroda
- Elektroda
- keypad 1x4
Software Used
Arduino IDE
Libraries Used
Search Results
Web results
Note :
Input Dc converter terhubung dengan sumber 3.3V arduino dan output terhubung pwm signal generator.
Pin 11 Sebagai TX arduino -> Pin Rx PWM signal generator
Pin 10 sebagai RX arduino -> Pin Tx PWM signal generator
#include <SoftwareSerial.h> SoftwareSerial SoftSerial(10, 11);
Tambahan Input Keypad 1x4 untuk pilihan Level frekuensi atau Duty Cycle
const int buttonPin[] = {2,3,4,5}; void setup() { for(int x=0; x<4; x++) { pinMode(buttonPin[x], INPUT_PULLUP); } }
Full Code
Arduino Code
#include <SoftwareSerial.h> SoftwareSerial SoftSerial(10, 11); // RX | TX pins. Can be reassigned if needed #include <Wire.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27, 16, 2); const long BAUDRATE = 9600; // Baud rate of the XY-LPWM module char c = ' '; // Character being transmitted //=============================================================================== // Initialization //=============================================================================== const int buttonPin[] = {2,3,4,5}; void setup() { // put your setup code here, to run once: { for(int x=0; x<4; x++) { pinMode(buttonPin[x], INPUT_PULLUP); } } SoftSerial.begin(BAUDRATE); // Init soft serial object Serial.begin(9600); // Init hardware serial Serial.println("XY-LPWM Serial Test"); Serial.println("Enter 'Fxxx', 'Fx.xx', 'Fxx.x' or 'Fx.x.x' to set frequency"); Serial.println("Enter 'Dxxx' to set duty cycle"); Serial.println("Enter 'read' to get current settings"); lcd.setCursor(0,0); lcd.print(" Elektro"); lcd.setCursor(0,1); lcd.print(" stimulator"); delay(2000); lcd.clear(); } void loop() { // put your main code here, to run repeatedly: if (buttonState == LOW && buttonPin[x] == 2) { lcd.clear(); lcd.setCursor(0,0); lcd.print("1. Frekensi :"); lcd.setCursor(0,1); lcd.print(" level 1"); SoftSerial.write("'F070'"); delay(1000); SoftSerial.write("'D060'"); delay(500); } if (buttonState == LOW && buttonPin[x] == 3) { lcd.clear(); lcd.setCursor(0,0); lcd.print("1. Frekensi :"); lcd.setCursor(0,1); lcd.print(" level 2"); SoftSerial.write("'F060'"); delay(1000); SoftSerial.write("'D050'"); delay(500); } if (buttonState == LOW && buttonPin[x] == 4) { lcd.clear(); lcd.setCursor(0,0); lcd.print("1. Frekensi :"); lcd.setCursor(0,1); lcd.print(" level 3"); SoftSerial.write("'F050'"); delay(1000); SoftSerial.write("'D40'"); delay(500); } if (buttonState == LOW && buttonPin[x] == 5) { lcd.clear(); lcd.setCursor(0,0); lcd.print("1. Frekensi :"); lcd.setCursor(0,1); lcd.print(" level 4"); SoftSerial.write("'F040'"); delay(1000); SoftSerial.write("'D035'"); delay(500); } if (SoftSerial.available()) { c = SoftSerial.read(); if (c=='F' || c=='D') Serial.write(' '); // Add space between commands Serial.write(c); } // Read char from the Serial Monitor and send to the XY-LPWM module if (Serial.available()) { c = Serial.read(); SoftSerial.write(c); Serial.write(c); // Echo character typed to serial monitor window } }
0 Comments