วันอังคารที่ 27 กรกฎาคม พ.ศ. 2564

Program coding of muscle stimulation and hot compress

/* Program coding of muscle stimulation and hot compress , Neramitr Chirakanphaisarn, mit9bkk@gmail.com */

// This program that shows charactor LCD size 20x4 (lcd12864)(20characters,4rows)

// The wiring diagram please see picture of Muscle Stimulation and Hot compress. This code is completed by wiring diagram sure! 

// Mr.Neramitr Chirakanphaisarn, mit9bkk@gmail.com

#include <SoftwareSerial.h>

#include <SD.h>              // used SD CARD module for reading and writing the log data

#include <LiquidCrystal.h>      // used library of SLCD module with 16 digits x 2 lines

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);      // assigned the SLCD functions of 20 digits x 4 lines


#define ANALOG_PIN4  4      // Sweep the Subject ID or No. to Analog input A4 of ADK R3 mega2560

int analogValue4 = 4 ;     // Sweep the Subject ID or No. to Analog input A4 of ADK R3 mega2560

#define ANALOG_PIN  5      // Sweep the Subject AGE to Analog input A5 of ADK R3 mega2560

int analogValue = 5;     // Sweep the Subject AGE to Analog input A5 of ADK R3 mega2560

#define ANALOG_PIN3  3      // Sweep the Stimulate time to Analog input A3 of ADK R3 mega2560

int analogValue3 = 3;     // Sweep the Stimulate time to Analog input A3 of ADK R3 mega2560

#define ANALOG_PIN0  0      // Sweep the Stimulate Level to Analog input A0 of ADK R3 mega2560

int analogValue0 = 0;     // Sweep the Stimulate Level to Analog input A0 of ADK R3 mega2560

#define ANALOG_PIN1  1      // Sweep the Frequency to Analog input A1 of ADK R3 mega2560

int analogValue1 = 1;     // Sweep the Frequency to Analog input A1 of ADK R3 mega2560

#define ANALOG_PIN2  2      // Sweep the T-PAD Temperature to Analog input A2 of ADK R3 mega2560

int analogValue2 = 2;     // Sweep the T-PAD Temperature to Analog input A2 of ADK R3 mega2560


#define IN_PIN0  0         // set Digital Pin0 (D0) for control file.close of SD card

#define IN_PIN6  6         // set Digital Pin6 (D6) to show KNEE or ABDOMINAL

#define ANALOG_PIN7  7     // Sweep angle (degree)of ADK R3 mega2560

int analogValue7 = 7 ;     // Decare the Sweep angle (degree)of ADK R3 mega2560

#define IN_PIN9  9         // set Digital Pin9 (D9) for show SEX type of MALE / FEMALE

#define IN_PIN10  10       // set Digital Pin10 (D10) for closed file for head label in EXCEL or CSV file


#define IN_PIN    19      //set Switch input to Digital pin19  ADKR3 mega2560

#define DEBOUNCE  10      // Delay 10 mSec , That no port number !!

#define OUT_PIN   8          //Output , Digital Pin8 (D8) or  ADK R3 mega2560

#define IN_SWEEP  7      // Sweep the ANGLE to Analog input A7 of ADK R3 mega2560

#define ANALOG_PIN6 6

#define BUZZER  7      // Digital Pin7 (D7) is Buzzer beep using Alert! when 60 seconds

#define ENDU_COUNT 8    // Digital Pin1 (D1) is Endurance Counter for Round Per Minute (RPM)

                          //We will use D8 for OUT_PIN and ENDU_COUNT are SURELY (Mitr)

const int chipSelect = 53;



int infrared;

int distance;

int state_sw = HIGH;

int reading;

int previous = HIGH;


unsigned long atime= 0;

unsigned long rtc= 0;

unsigned char counter=0;

unsigned long temp[200];      // default is temp[61];

unsigned long sub=0;

bool data_effect=true;

const int max_heartpluse_duty=20000;  

//---------closed declare of debounce switch-------------------




void setup()

  Serial.begin(9600);

  lcd.begin(20, 4);

 

  delay(100);


  while (!Serial) 

     {

       ; // wait for serial port to connect. 

     }


// Starting of datalogger section of setup mode ------------------------------

  pinMode(IN_PIN0,INPUT);   // set pinMode is INPUT value for file.close of SD card


  Serial.print("Initializing SD card...");

                    // make sure that the default chip select pin is set to

                    // output, even if you don't use it:

  pinMode(53, OUTPUT);

                    // see if the card is present and can be initialized:

  if (!SD.begin(chipSelect)) {

    Serial.println("Card failed, or not present");

                    // don't do anything more:

    return;

  }

  Serial.println("card initialized.");

  

// End of datalogger section of setup mode ------------------------------

 



 

  //---------open setup of debounce switch------------------- 

  pinMode(IN_PIN, INPUT);            // set pinMode digitalPin 19  name's IN_PIN is INPUT of ADK R3

  pinMode(OUT_PIN, OUTPUT);          // set pinMode digitalPin 8 name's OUT_PIN is OUTPUT of ADK R3

  digitalWrite(OUT_PIN, state_sw);   // set digitalWrite of digitalPin 3

  pinMode(IN_SWEEP,INPUT);            // set pinMode  analogPin 7 (A7) 

  //---------closed setup of debounce switch------------------- 


   lcd.setCursor(0,3);                  // show position (column,row)

   lcd.print("                   ");


 // Select the Muscle Stimulation and Hot compress

 pinMode (IN_PIN6, INPUT);  // set pinMode digitalPin 6   

 int test = digitalRead(IN_PIN6);    // default (IN_PIN6) get input HIGH or LOW to select 

   if(test == LOW )                  // Setting LOW 

   {                                    

    Serial.println("NERAMITR  TSE-TU2021");

    Serial.println("Id\tYear\tSex\tEndur\tTime\tStrng\tAngle");

            // Start DATA LOGGER in LOOP for saving in CSV to SD CARD

              File dataFile = SD.open("k_muscle.csv", FILE_WRITE);  //limit "name" size = 8 characters

              if (dataFile >= 0)  // dataFile=1 has write , dataFile=0 has not file , limited 207 lines 

                {        

                  dataFile.println("NERAMITR  TSE-TU2021");    //Show header of file

                  dataFile.print("ID");    

                  dataFile.print(",");  

                  dataFile.print("Age");    

                  dataFile.print(","); 

                  dataFile.print("Sex");    

                  dataFile.print(","); 

                  dataFile.print("Level");    

                  dataFile.print(",");

                  dataFile.print("Freq");    

                  dataFile.print(",");

                  dataFile.print("Temp");    

                  dataFile.print(",");

                  dataFile.println("Time");                   

              

                   int reading = digitalRead(IN_PIN0);    // get input HIGH or LOW , it is mode of control RECORD DATA 

                   if(reading == LOW )                  // Press RED SW to small is LOW (0 volt) , Release to tall is HIGH (5 volts)

                   {

                   dataFile.close();

                   dataFile.println("NERAMITR  TSE-TU2021");    //Endurance rpm 

                   dataFile.print("ID");    

                   dataFile.print(",");  

                   dataFile.print("Age");    

                   dataFile.print(","); 

                   dataFile.print("Sex");    

                   dataFile.print(","); 

                   dataFile.print("Level");    

                   dataFile.print(",");

                   dataFile.print("Freq");    

                   dataFile.print(",");

                   dataFile.print("Temp");    

                   dataFile.print(",");

                   dataFile.println("Time");    

                  }  

                  else {

                        Serial.println ("status_swith is HIGH you should a Press to LOW");

                        }

                }

                    else {

                            Serial.println("error opening k_muscle.csv");

                         } 

            // Closed the DATA LOGGER in LOOP for saving in CSV to SD CARD     

   } 

}





void loop()

{

 

 // Setting the Stimulate Muscle & Hot compress 2021 Published paper 

 

 pinMode (IN_PIN6, INPUT);  // set pinMode digitalPin 6  name's IN_PIN6 is INPUT of ADK R3    

 int test = digitalRead(IN_PIN6);    // default (IN_PIN6) get input HIGH or LOW to select 

   if(test == LOW )                  // Setting LOW 

   {                                    

    lcd.setCursor(0,0);

    lcd.print("NERAMITR  TSE-TU2021");

      lcd.setCursor(0,1);                  // show position (column,row)

                              // show ID  YR  LV  FREQ  TMP on LCD first

      lcd.print("Id Yr Sx Lv Fre Tmp"); 


            lcd.setCursor(15,3);                  // show unit of stimulate time (column,row)

            lcd.print("min"); 

  

   //delay(100);

   

   

 // Set Patients ID , We applied A4 ANALOG PIN4 and adjust age with Volume 10K ohms 

     analogValue4 = analogRead(ANALOG_PIN4);

     int id = analogValue4/10;        // adjust Patients Id , values 0 to 100 persons (1000/10= 100 persons)

  

     if(id <= 99)  {              // Fix LCD shows 0 to 50 persons only

        lcd.setCursor(0,2);                  // show position (column,row)

        lcd.print("  "); 

            lcd.setCursor(0, 2);                  // show position (column,row)

            lcd.print(id);  

            Serial.print(id);

            Serial.print("\t");

            // Start DATA LOGGER in LOOP for saving in CSV to SD CARD

              File dataFile = SD.open("k_muscle.csv", FILE_WRITE);  //limit "name" size = 8 characters

              if (dataFile >= 0)  // dataFile=1 has write , dataFile=0 has not file , limited 207 lines 

                {        

                  dataFile.print(id);    

                  dataFile.print(",");


                  int reading = digitalRead(IN_PIN0);    // get input HIGH or LOW , it is mode of control RECORD DATA 

                  if(reading == LOW )                  // Press RED SW to small is LOW (0 volt) , Release to tall is HIGH (5 volts)

                  {

                    dataFile.close();

                      dataFile.print(id);    

                      dataFile.print(",");

                  }  

                  else {

                        Serial.println ("status_swith is HIGH you should a Press to LOW");

                        }

                }

                    else {

                            Serial.println("error opening k_muscle.csv");

                         } 

            // Closed the DATA LOGGER in LOOP for saving in CSV to SD CARD             

     }

  // Close the Set Patients ID , We applied A4 ANALOG PIN4

 

 

  // Set Patients AGE , We applied A5 ANALOG PIN5 and adjust age with Volume 10K ohm 

      analogValue = analogRead(ANALOG_PIN);

      int age = analogValue/10;

     

      if(age <= 99)   {

         lcd.setCursor(3, 2);                  // show position (column,row)

         lcd.print("  ");

             lcd.setCursor(3, 2);                  // show position (column,row)

             lcd.print(age); 

             Serial.print(age);

             Serial.print("\t");

            // Start DATA LOGGER in LOOP for saving in CSV to SD CARD

              File dataFile = SD.open("k_muscle.csv", FILE_WRITE);  //limit "name" size = 8 characters

              if (dataFile >= 0)  // dataFile=1 has write , dataFile=0 has not file , limited 207 lines 

                {        

                  dataFile.print(age);    //Endurance rpm shows into SD Card

                  dataFile.print(",");

              //delay(50);              // Reduces speed rate 50 mSec

                  int reading = digitalRead(IN_PIN0);    // get input HIGH or LOW , it is mode of control RECORD DATA or YELLOW SWITCH

                  if(reading == LOW )                  // Press RED SW to small is LOW (0 volt) , Release to tall is HIGH (5 volts)

                  {

                    dataFile.close();

                      dataFile.print(age);    

                      dataFile.print(",");

                  }  

                  else {

                        Serial.println ("status_swith is HIGH you should a Press to LOW");

                        }

                }

                    else {

                            Serial.println("error opening k_muscle.csv");

                         } 

            // Closed the DATA LOGGER in LOOP for saving in CSV to SD CARD              

       }

  // Close, We applied A5 ANALOG PIN5

    

  

  //Set Set SEX type MALE / FEMALE for EXCEL or CSV file

    pinMode (IN_PIN9, INPUT);  // set pinMode digitalPin 9     

    int sex = digitalRead(IN_PIN9);    // default (IN_PIN9) get CSV file


    if(sex == LOW ) {                

      lcd.setCursor(6, 2);       

      lcd.print("MA");

      Serial.print("MA");

      Serial.print("\t"); 

            // Start DATA LOGGER in LOOP for saving in CSV to SD CARD

              File dataFile = SD.open("k_muscle.csv", FILE_WRITE);  //limit "name" size = 8 characters

              if (dataFile >= 0)  // dataFile=1 has write , dataFile=0 has not file , limited 207 lines 

                {        

                  dataFile.print("MA");    

                  dataFile.print(",");

              //delay(50);              // Reduces speed rate 50 mSec

                  int reading = digitalRead(IN_PIN0);    // get input HIGH or LOW , it is mode of control RECORD DATA

                  if(reading == LOW )                  // Press RED SW to small is LOW (0 volt) , Release to tall is HIGH (5 volts)

                  {

                    dataFile.close();

                      dataFile.print("MA");   

                      dataFile.print(",");

                  }  

                  else {

                        Serial.println ("status_swith is HIGH you should a Press to LOW");

                        }

                }

                    else {

                            Serial.println("error opening k_muscle.csv");

                         } 

            // Closed the DATA LOGGER in LOOP for saving in CSV to SD CARD       

      }

      else {

             lcd.setCursor(6, 2);        // show position (column,row)

             lcd.print("FE");

             Serial.print("FE");

             Serial.print("\t");           

            // Start DATA LOGGER in LOOP for saving in CSV to SD CARD

              File dataFile = SD.open("k_muscle.csv", FILE_WRITE);  //limit "name" size = 8 characters

              if (dataFile >= 0)  // dataFile=1 has write , dataFile=0 has not file , limited 207 lines 

                {        

                  dataFile.print("FE");   

                  dataFile.print(",");

             // delay(50);              // Reduces speed rate 50 mSec

                  int reading = digitalRead(IN_PIN0);    // get input HIGH or LOW , it is mode of control RECORD DATA 

                  if(reading == LOW )                  // Press RED SW to small is LOW (0 volt) , Release to tall is HIGH (5 volts)

                  {

                    dataFile.close();

                      dataFile.print("FE");    //Endurance rpm shows into SD Card

                      dataFile.print(",");

                  }  

                  else {

                        Serial.println ("status_swith is HIGH you should a Press to LOW");

                        }

                }

                    else {

                            Serial.println("error opening k_muscle.csv");

                         } 

            // Closed the DATA LOGGER in LOOP for saving in CSV to SD CARD 

         }

         

  //End of Set SEX type MALE / FEMALE 



// Set Stimulation time or timer , We applied A3 ANALOG PIN3 and adjust Stimulate Level with Volume 10K ohms 

     analogValue3 = analogRead(ANALOG_PIN3);

     int timer = analogValue3/100;        // adjust Stimulation Level , values 0 to 10 (1000/100= 10 minutes)

  

     if(timer <= 10)  {              // Fix LCD shows 0 to 10 minutes  only

        lcd.setCursor(13,3);                

        lcd.print("  "); 

            lcd.setCursor(13, 3);                 

            lcd.print(timer); 

             int rtc = millis()/1150 ;

              if(timer == 1 && rtc == 60)

               {

                pinMode(BUZZER, OUTPUT);      // sets the digital pin 7 as output

                digitalWrite(BUZZER,HIGH);

                delay(50);

                digitalWrite(BUZZER,LOW);

                digitalWrite(BUZZER,HIGH);

                delay(50);

                digitalWrite(BUZZER,LOW);           

               }

                if(timer == 2 && rtc == 120)

                 {

                pinMode(BUZZER, OUTPUT);      // sets the digital pin 7 as output

                digitalWrite(BUZZER,HIGH);

                delay(50);

                digitalWrite(BUZZER,LOW);

                digitalWrite(BUZZER,HIGH);

                delay(50);

                digitalWrite(BUZZER,LOW);

                 }

                  if(timer == 3 && rtc == 180)

                   {

                    pinMode(BUZZER, OUTPUT);      // sets the digital pin 7 as output

                    digitalWrite(BUZZER,HIGH);

                    delay(50);

                    digitalWrite(BUZZER,LOW);

                    digitalWrite(BUZZER,HIGH);

                    delay(50);

                    digitalWrite(BUZZER,LOW);

                   }

                    if(timer == 4 && rtc == 240)

                     {

                      pinMode(BUZZER, OUTPUT);      // sets the digital pin 7 as output

                      digitalWrite(BUZZER,HIGH);

                      delay(50);

                      digitalWrite(BUZZER,LOW);

                      digitalWrite(BUZZER,HIGH);

                      delay(50);

                      digitalWrite(BUZZER,LOW);

                     }

                      if(timer == 5 && rtc == 300)

                       {

                        pinMode(BUZZER, OUTPUT);      // sets the digital pin 7 as output

                        digitalWrite(BUZZER,HIGH);

                        delay(50);

                        digitalWrite(BUZZER,LOW);

                        digitalWrite(BUZZER,HIGH);

                        delay(50);

                        digitalWrite(BUZZER,LOW);

                       }

                        if(timer == 6 && rtc == 360)

                         {

                         pinMode(BUZZER, OUTPUT);      // sets the digital pin 7 as output

                         digitalWrite(BUZZER,HIGH);

                         delay(50);

                         digitalWrite(BUZZER,LOW);

                         digitalWrite(BUZZER,HIGH);

                         delay(50);

                         digitalWrite(BUZZER,LOW);

                         }

                          if(timer == 7 && rtc == 420)

                           {

                            pinMode(BUZZER, OUTPUT);      // sets the digital pin 7 as output

                            digitalWrite(BUZZER,HIGH);

                            delay(50);

                            digitalWrite(BUZZER,LOW);

                            digitalWrite(BUZZER,HIGH);

                            delay(50);

                            digitalWrite(BUZZER,LOW);

                           }

                            if(timer == 8 && rtc == 480)

                             {

                              pinMode(BUZZER, OUTPUT);      // sets the digital pin 7 as output

                              digitalWrite(BUZZER,HIGH);

                              delay(50);

                              digitalWrite(BUZZER,LOW);

                              digitalWrite(BUZZER,HIGH);

                              delay(50);

                              digitalWrite(BUZZER,LOW);

                             }

                              if(timer == 9 && rtc == 540)

                               {

                                pinMode(BUZZER, OUTPUT);      // sets the digital pin 7 as output

                                digitalWrite(BUZZER,HIGH);

                                delay(50);

                                digitalWrite(BUZZER,LOW);

                                digitalWrite(BUZZER,HIGH);

                                delay(50);

                                digitalWrite(BUZZER,LOW);

                               }

                                if(timer == 10 && rtc == 600)

                                 {

                                  pinMode(BUZZER, OUTPUT);      // sets the digital pin 7 as output

                                  digitalWrite(BUZZER,HIGH);

                                  delay(50);

                                  digitalWrite(BUZZER,LOW);

                                  digitalWrite(BUZZER,HIGH);

                                  delay(50);

                                  digitalWrite(BUZZER,LOW);

                                 }




             

            Serial.print(timer);

            Serial.print("\t");

            // Start DATA LOGGER in LOOP for saving in CSV to SD CARD

              File dataFile = SD.open("k_muscle.csv", FILE_WRITE);  //limit "name" size = 8 characters

              if (dataFile >= 0)  // dataFile=1 has write , dataFile=0 has not file , limited 207 lines 

                {        

                  dataFile.print(timer);    

                  dataFile.print(",");

              //delay(50);              // Reduces speed rate 50 mSec

                  int reading = digitalRead(IN_PIN0);    // get input HIGH or LOW , it is mode of control RECORD DATA or YELLOW SWITCH

                  if(reading == LOW )                  // Press RED SW to small is LOW (0 volt) , Release to tall is HIGH (5 volts)

                  {

                    dataFile.close();

                      dataFile.print(timer);   d

                      dataFile.print(",");

                  }  

                  else {

                        Serial.println ("status_swith is HIGH you should a Press to LOW");

                        }

                }

                    else {

                            Serial.println("error opening k_muscle.csv");

                         } 

            // Closed the DATA LOGGER in LOOP for saving in CSV to SD CARD             

     }

  // Close the Stimulation time or timer , We applied A3 ANALOG PIN3 and adjust Stimulate Level with Volume 10K ohms




 // Set Stimulation Level or Vp , We applied A0 ANALOG PIN0 and adjust Stimulate Level with Volume 10K ohms 

     analogValue0 = analogRead(ANALOG_PIN0);

     int level = analogValue0/50;        // adjust Stimulation Level , values 0 to 10 (1000/50= 20 level)

  

     if(level <= 20)  {              // Fix LCD shows 0 to 20  only

        lcd.setCursor(9,2);                  // show position (column,row)

        lcd.print("  "); 

            lcd.setCursor(9, 2);                  // show position (column,row)

            lcd.print(level);  

            Serial.print(level);

            Serial.print("\t");

            // Start DATA LOGGER in LOOP for saving in CSV to SD CARD

              File dataFile = SD.open("k_muscle.csv", FILE_WRITE);  //limit "name" size = 8 characters

              if (dataFile >= 0)  // dataFile=1 has write , dataFile=0 has not file , limited 207 lines 

                {        

                  dataFile.print(level);  

                  dataFile.print(",");

              //delay(50);              // Reduces speed rate 50 mSec

                  int reading = digitalRead(IN_PIN0);    // get input HIGH or LOW , it is mode of control RECORD DATA or YELLOW SWITCH

                  if(reading == LOW )                  // Press RED SW to small is LOW (0 volt) , Release to tall is HIGH (5 volts)

                  {

                    dataFile.close();

                      dataFile.print(level);    //Endurance rpm shows into SD Card

                      dataFile.print(",");

                  }  

                  else {

                        Serial.println ("status_swith is HIGH you should a Press to LOW");

                        }

                }

                    else {

                            Serial.println("error opening k_muscle.csv");

                         } 

            // Closed the DATA LOGGER in LOOP for saving in CSV to SD CARD             

     }

  // Close the Stimulation Level or Vp , We applied A0 ANALOG PIN0 and adjust Stimulate Level with Volume 10K ohms



 // Set Frequency or Fre , We applied A1 ANALOG PIN1 and adjust Frequency with Volume 10K ohms 

     analogValue1 = analogRead(ANALOG_PIN1);

     int fre = analogValue1/10;        // adjust Frequency, values 0 to 100  (1000/10= 100 )

  

     if(fre <= 100)  {              // Fix LCD shows 0 to 50  only

        lcd.setCursor(12,2);                  // show position (column,row)

        lcd.print("   "); 

            lcd.setCursor(12, 2);                  // show position (column,row)

            lcd.print(fre);  

            Serial.print(fre);

            Serial.print("\t");

            // Start DATA LOGGER in LOOP for saving in CSV to SD CARD

              File dataFile = SD.open("k_muscle.csv", FILE_WRITE);  //limit "name" size = 8 characters

              if (dataFile >= 0)  // dataFile=1 has write , dataFile=0 has not file , limited 207 lines 

                {        

                  dataFile.print(fre);  

                  dataFile.print(",");

              //delay(50);              // Reduces speed rate 50 mSec

                  int reading = digitalRead(IN_PIN0);    // get input HIGH or LOW , it is mode of control RECORD DATA or YELLOW SWITCH

                  if(reading == LOW )                  // Press RED SW to small is LOW (0 volt) , Release to tall is HIGH (5 volts)

                  {

                    dataFile.close();

                      dataFile.print(fre);    //Endurance rpm shows into SD Card

                      dataFile.print(",");

                  }  

                  else {

                        Serial.println ("status_swith is HIGH you should a Press to LOW");

                        }

                }

                    else {

                            Serial.println("error opening k_muscle.csv");

                         } 

            // Closed the DATA LOGGER in LOOP for saving in CSV to SD CARD             

     }

  // Close the Frequency or Fre , We applied A1 ANALOG PIN1 and adjust Frequency with Volume 10K ohms





// Set T-PAD Temperature , We applied A2 ANALOG PIN2 and adjust Frequency with Volume 10K ohms 

     analogValue2 = analogRead(ANALOG_PIN2);

     int tmp = (analogValue2/12.5)+30;        // adjust T-PAD Temperature, values 30 to 80  (1000/12.5= 80 )

  

     if(tmp <= 80)  {              // Fix LCD shows 0 to 90  only

        lcd.setCursor(17,2);                  // show position (column,row)

        lcd.print("  "); 

            lcd.setCursor(17, 2);                  // show position (column,row)

            lcd.print(tmp);  

            Serial.println(tmp);

           // Serial.print("\t");

            // Start DATA LOGGER in LOOP for saving in CSV to SD CARD

              File dataFile = SD.open("k_muscle.csv", FILE_WRITE);  //limit "name" size = 8 characters

              if (dataFile >= 0)  // dataFile=1 has write , dataFile=0 has not file , limited 207 lines 

                {        

                  dataFile.print(tmp);    //Endurance rpm shows into SD Card

                  dataFile.print(",");

              //delay(50);              // Reduces speed rate 50 mSec

                  int reading = digitalRead(IN_PIN0);    // get input HIGH or LOW , it is mode of control RECORD DATA or YELLOW SWITCH

                  if(reading == LOW )                  // Press RED SW to small is LOW (0 volt) , Release to tall is HIGH (5 volts)

                  {

                    dataFile.close();

                      dataFile.print(tmp);    

                      dataFile.print(",");

                  }  

                  else {

                        Serial.println ("status_swith is HIGH you should a Press to LOW");

                        }

                }

                    else {

                            Serial.println("error opening k_muscle.csv");

                         } 

            // Closed the DATA LOGGER in LOOP for saving in CSV to SD CARD             

     }

  // Close the Hot compress / T-PAD Temperature , We applied A2 ANALOG PIN2 and adjust Frequency with Volume 10K ohms 



   }


  lcd.setCursor(0,3);                  // show unit of stimulate time (column,row)

  lcd.print("Time("); 

    lcd.setCursor(8,3);                  // show unit of stimulate time (column,row)

  lcd.print(")="); 

    int rtc = millis()/1150 ;

    lcd.setCursor(5, 3);

      lcd.print(rtc);          // print the number of seconds since reset:

        lcd.setCursor(12,3);        

        lcd.print(":"); 

  if(rtc == 60 )

    {

    lcd.setCursor(10, 3);

    lcd.print("1");

    }

     if(rtc == 120 )

      {

      lcd.setCursor(10, 3);

      lcd.print("2"); 

      }

       if(rtc == 180)

        {

         lcd.setCursor(10, 3);

         lcd.print("3"); 

        }

         if(rtc == 240)

          {

           lcd.setCursor(10, 3);

           lcd.print("4"); 

          }

           if(rtc == 300)

            {

             lcd.setCursor(10, 3);

             lcd.print("5"); 

            }

             if(rtc == 360)

              {

               lcd.setCursor(10, 3);

               lcd.print("6"); 

              }

               if(rtc == 840)

                {

                 lcd.setCursor(10, 3);

                 lcd.print("7"); 

                }

                 if(rtc == 480)

                  {

                   lcd.setCursor(10, 3);

                   lcd.print("8"); 

                  }

                   if(rtc == 540)

                    {

                     lcd.setCursor(10, 3);

                     lcd.print("9"); 

                    }

                    if(rtc == 600)

                     {

                      lcd.setCursor(10, 3);

                      lcd.print("10"); 

                     }

  else

  {

  } 

}

ไม่มีความคิดเห็น:

แสดงความคิดเห็น

Engineering of Robotics Industry & Computer (ERIC) , 2008-2022

นาย เนรมิธ   จิรกาญจน์ไพศาล,  Add Line : Click here คลิ๊กตรงนี้   NERAMITR CHIRAKANPHAISARN, Curriculum vitae Research evidence areas :  -G...