Crown ใบเลื่อยฉลุ เบอร์ #0 (12 ใบ)

Crown ใบเลื่อยฉลุ เบอร์ #0 (12 ใบ)
รหัสสินค้า M2959
หมวดหมู่ Tools/เครื่องมือ
ราคา 25.00 บาท
น้ำหนัก 10 กรัม
ลงสินค้า 12 ต.ค. 2562
อัพเดทล่าสุด 12 ต.ค. 2562
ขออภัย สินค้าหมด
บัตรประชาชน
บุ๊คแบ๊งค์
คุ้มครองโดย LnwPay
  • #include
    #include
    #include
    #include
    LiquidCrystal_I2C lcd(0x27,20,4); 
    #define TEST_PROG   0
    #define BUZZER      2
    //------------------------------------
    #if TEST_PROG == 0
      #define LED_GREEN   A3
      #define LED_RED     A2
      #define RELAY_1A    3
    #else
      #define LED_GREEN   A0
      #define LED_RED     A1
      #define RELAY_1A    A2
    #endif
    //------------------------------------
    //----- Hardware ---------------------
    // MAX6675 
    // SO = MISO = D12 = 12
    // SCK = SCK = D13 = 13
    //------------------------------------
    #define CS_1_PIN    10
    #define CS_2_PIN    9
    #define CS_3_PIN    8
    MAX6675 tcouple_01(CS_1_PIN);
    MAX6675 tcouple_02(CS_2_PIN);
    MAX6675 tcouple_03(CS_3_PIN);
    unsigned long buzzer_time = 0;
    unsigned long period_t_buzzer = 500;       // <---- delay time buzzer
    unsigned long buzzer_time2  = 0;          
    //unsigned long delay_buzzer_on = 180000;  // <---- 3 mintues
    //unsigned long delay_buzzer_on = 600000;  // <---- 10 mintues
    unsigned long delay_buzzer_on = 1800000;   // <---- 30 mintues
    #define ON_HIGH  1
    #define ON_LOW   0
    #define OFF_LOW  0
    #define OFF_HIGH 1
    #define SER_PRN  200
    #define READ_EEPROM   1
    #define WRITE_EEPROM  0
    #define FLAG_ON  1
    #define FLAG_OFF 0
    #define PIN_OUTPUT_OFFSET   3
    //---------------------------------------
    #define BUZZER_ON     1
    #define BUZZER_OFF    BUZZER_ON+1 
    #define LED_RED_ON    BUZZER_OFF+1
    #define LED_RED_OFF   LED_RED_ON+1
    #define LED_GREEN_ON  LED_RED_OFF+1
    #define LED_GREEN_OFF LED_GREEN_ON+1
    #define RELAY_1A_ON   LED_GREEN_OFF+1
    #define RELAY_1A_OFF  RELAY_1A_ON+1
    //---------------------------------------
    uint8_t flag_buzzer_delay = FLAG_OFF;
    uint8_t flag_buzzer_onoff = FLAG_OFF;
    uint8_t flag_buzzer_state = FLAG_OFF;
    uint8_t flag_reset_key    = FLAG_OFF;
    uint8_t counter_s_prnSprint = SER_PRN;
    String command; 
    float in_float;
    //------------------------------------------
    float DATA_C_MAX[] =  { 200.00, 200.00, 200.00 };
    float DATA_C[] =      { 0.00, 0.00, 0.00};
    float DATA_offset[] = { 0.00, 0.00, 0.00};
    //----------------------------------------------
    void alarm_out(byte xi);
    void Buzzer_onOff();
    void test_EEPROM();
    void LCD_show(byte line);
    void print_out(byte ch_X);
    void read_MAX6675();
    char *myStrings[] = {"CH1", "CH2", "CH3", "SHOW" };
    //-------------------------------------
    #define DATA_MAX_VALUE 1000.00
    #define DATA_MIN_VALUE 0.00
    #define KEYMAX      4
    #define CHANNEL_MAX 3
    #define KEY_MENU 0
    #define KEY_UP   1
    #define KEY_DOWN 2
    #define KEY_RST  3
    uint8_t key_BUZZER_delay = 0;
    unsigned long keypad_time = 0;
    unsigned long keypad_period = 300;       //
    uint8_t keypad_14[]= { 6,7,4,5 };
    // variables will change:
    uint8_t buttonState = 0;         // variable for reading the pushbutton sta
    uint8_t menu_key = 0;
    uint8_t ch_updown = 0;
    int  key4 = 0;
    void clear_LCD_line_10(uint8_t line)
      lcd.setCursor(0,line); 
             //("1234567890"); 
      lcd.print("          ");
    }//--end--
    //----------------------------------
    void clear_LCD_line_10P(uint8_t line)
      lcd.setCursor(10,line); 
             //("1234567890"); 
      lcd.print("          ");
    }//--end--
    //----------------------------------
    void show_setting_LCD_R(uint8_t line){
      clear_LCD_line_10P(line+1);
      lcd.setCursor(10,line+1);
      lcd.print('[');lcd.print(line+1); lcd.print("] ");
      lcd.print(DATA_C[line]);
    }//--end--
    //----------------------------------
      
    void show_setting_LCD(uint8_t line){
      clear_LCD_line_10(line+1);
      lcd.setCursor(0,line+1);
      //lcd.print("CH");
      lcd.print(line+1); lcd.print(": ");
      lcd.print(DATA_C_MAX[line]);
    }//--end--
    //----------------------------------
    void output_onOff(uint8_t inputA)
    {
        switch(inputA){ 
          case BUZZER_ON:     digitalWrite(BUZZER,    ON_LOW);      break;
          case BUZZER_OFF:    digitalWrite(BUZZER,    OFF_HIGH);    break;
    #if TEST_PROG == 0      
          case LED_RED_ON:    digitalWrite(LED_RED,   ON_LOW);      break;
          case LED_RED_OFF:   digitalWrite(LED_RED,   OFF_HIGH);    break;
          case LED_GREEN_ON:  digitalWrite(LED_GREEN, ON_LOW);      break;
          case LED_GREEN_OFF: digitalWrite(LED_GREEN, OFF_HIGH);    break;
          case RELAY_1A_ON:   digitalWrite(RELAY_1A,  ON_HIGH);     break; //<-------- ON  RELAY
          case RELAY_1A_OFF:  digitalWrite(RELAY_1A,  OFF_LOW);     break; //<-------- OFF RELAY
    #else
          case LED_RED_ON:    digitalWrite(LED_RED,   ON_HIGH);     break;
          case LED_RED_OFF:   digitalWrite(LED_RED,   OFF_LOW);     break;
          case LED_GREEN_ON:  digitalWrite(LED_GREEN, ON_HIGH);     break;
          case LED_GREEN_OFF: digitalWrite(LED_GREEN, OFF_LOW);     break;
          case RELAY_1A_ON:   digitalWrite(RELAY_1A,  ON_HIGH);     break; //<-------- ON  RELAY
          case RELAY_1A_OFF:  digitalWrite(RELAY_1A,  OFF_LOW);     break; //<-------- OFF RELAY
    #endif        
        }
    }//--end--
    //----------------------------------  
      
    void setup(void) {
      
      pinMode(BUZZER,   OUTPUT);
      pinMode(RELAY_1A, OUTPUT);
      pinMode(LED_GREEN,OUTPUT);
      pinMode(LED_RED,  OUTPUT);
      output_onOff(LED_RED_OFF   );
      output_onOff(LED_GREEN_OFF );
      output_onOff(BUZZER_OFF    );
      output_onOff(RELAY_1A_OFF  );  
      Serial.begin(57600);
      Serial.println("****MAX6675 thermocouple ******");
      Serial.println(delay_buzzer_on);
      Serial.println();
      
      float valuetest = EEPROM.readFloat(0x00);
      Serial.println(valuetest); 
      if( valuetest != 1234.56) {
          Serial.println("---- ERROR EEPROM ---- ");      
          EEPROM.writeFloat(0x00, 1234.56);
          Save_READ_EEPROM(WRITE_EEPROM); 
      }
      Save_READ_EEPROM(READ_EEPROM);  
      show_setting_S();     // Serial print    
      
      lcd.begin();
      lcd.backlight();
      lcd.home ();   // ไปที่ตัวอักษรที่ 0 แถวที่ 1
      lcd.setCursor(0,0); // ไปทตัวอักษรที่ 1 แถวที่ 1
             //("12345678901234567890"); 
      lcd.print("CH  SET  / CH Real  ");
      for(uint8_t i = 0 ;i
         pinMode(keypad_14[i],INPUT_PULLUP);
      }
      
      keypad_time = millis();
      for(uint8_t i=0 ; i < CHANNEL_MAX; i++) {
        show_setting_LCD(i); show_setting_LCD_R(i);
      }
      output_onOff(RELAY_1A_ON  );  //<-------- ON RELAY
      output_onOff(LED_GREEN_ON );  //<-------- ON LED GREEN
    }//--end--
    //----------------------------------
    void Save_READ_EEPROM(byte R_W){
      int sizeF,eeAddress = 0;
      byte i;
      
      sizeF = sizeof(float);
      eeAddress = sizeF;
      for(i= 0;i< CHANNEL_MAX;i++) {
         if(R_W == 0) {  // write EEPROM
             EEPROM.writeFloat(eeAddress,DATA_C_MAX[i]);
         } else {
             DATA_C_MAX[i] = EEPROM.readFloat(eeAddress);
         } 
         eeAddress += sizeF;
     }
    } //--end--
    //-------------------------------
    void show_setting_S() 
    {
       Serial.println("-- Display setting all channel ---- ");      
       for(byte i= 0;i< CHANNEL_MAX ;i++) {
           Serial.print("Temp. setting CH");
           Serial.print(i+1);Serial.print(" = ");
           Serial.println(DATA_C_MAX[i]);
       } 
       Serial.println("--- delay 3 sec.---- "); 
       delay(2000);  
    }//--end--
    //-----------------------------------
    void save_and_read_EEPROM()
    {
      Save_READ_EEPROM(WRITE_EEPROM); 
      Save_READ_EEPROM(READ_EEPROM); 
    }//--end--
    //----------------------------------
     
    void clear_LCD_line(uint8_t line)
      lcd.setCursor(0,line); 
             //("12345678901234567890"); 
      lcd.print("                    ");
    }//--end--
    //----------------------------------
    // flags for display on/off control
    // #define LCD_DISPLAYON 0x04
    // #define LCD_DISPLAYOFF 0x00
    // #define LCD_CURSORON 0x02
    // #define LCD_CURSOROFF 0x00
    // #define LCD_BLINKON 0x01
    // #define LCD_BLINKOFF 0x00
    void LCD_blink_onz(uint8_t line) {
      lcd.setCursor(1,line+1); lcd.blink_on();
    }//--end--
    //----------------------------------
    void key_memu14()
    {
      menu_key++;
      Serial.print("KEY MENU = ");
      Serial.println(menu_key);
      if(menu_key > 0) {
       switch(menu_key) {
         case 1: ch_updown = 0 ;  LCD_blink_onz(ch_updown); break;
         case 2: ch_updown = 1 ;  LCD_blink_onz(ch_updown); break;
         case 3: ch_updown = 2 ;  LCD_blink_onz(ch_updown); break;
         case 4: lcd.blink_off();
                lcd.setCursor(0,0);
                       //("12345678901234567890"); 
                lcd.print("SAVE SETTING MAX6675"); 
                digitalWrite(BUZZER,OFF_HIGH);
                delay(2500);
                lcd.setCursor(0,0);
                lcd.print("CH  SET  / CH Real  "); 
                save_and_read_EEPROM();
                menu_key = 0; ch_updown = 0;break;
         default: lcd.blink_off(); menu_key = 0; ch_updown = 0;break;
       }
      }
    }//--end--
    //----------------------------------
    void updown_DATA_setting(uint8_t ch, uint8_t updown)
    {
      if(updown == 1) {
        DATA_C_MAX[ch] += 1.00;
        if( DATA_C_MAX[ch] > DATA_MAX_VALUE) DATA_C_MAX[ch] = DATA_MAX_VALUE;
      }else {
        DATA_C_MAX[ch] -= 1.00;
        if( DATA_C_MAX[ch] < DATA_MIN_VALUE) DATA_C_MAX[ch] = DATA_MIN_VALUE;
      } 
     Serial.print("DATA CH"); Serial.print(ch_updown+1); 
     Serial.print(" = ");     Serial.println(DATA_C_MAX[ch_updown]);
     show_setting_LCD(ch_updown);
     LCD_blink_onz(ch_updown);
    }//--end--
    //----------------------------------
    void key_up()
    {
      if(menu_key > 0) { 
          updown_DATA_setting(ch_updown,1);
      }   
    }//--end--
    //----------------------------------
    void key_down()
    {
      if(menu_key > 0) { 
          updown_DATA_setting(ch_updown,0);
      } else {
        key_BUZZER_delay = HIGH;     
      }
    }//--end--
    //----------------------------------
    void key_reset()
    {
      Serial.println("RESET");
      digitalWrite(BUZZER,OFF_HIGH);
      flag_buzzer_onoff = FLAG_OFF;
      output_onOff(RELAY_1A_ON);     //<-------- ON RELAY
      output_onOff(LED_RED_OFF);     //<-------- OFF LED RED
      output_onOff(LED_GREEN_ON);    //<-------- ON  LED GREEN  
      delay(200);
    }//--end--
    //----------------------------------
    void read_keypad_14()
    {
      // read the state of the keypad value:
      for(uint8_t x=0; x < KEYMAX; x++){
        buttonState = digitalRead(keypad_14[x]);
        if( buttonState == LOW ){
            if( (millis() - keypad_time) >= keypad_period) {
              switch(x) {
                case KEY_MENU:  key_memu14(); break;
                case KEY_UP:    key_up();     break;
                case KEY_DOWN:  key_down(); break;
                case KEY_RST:   key_reset(); break;
              } //  switch(x)
             keypad_time = millis();
           } //---if( (millis()
       } //--- if( buttonState ==
      } //---  for(uint8_t x=0;
    }//--end--
    //----------------------------------
    //-------- input output ------------------
    void alarm_out(uint8_t xi)
    {
      switch(xi) {
        case 0: flag_buzzer_onoff |= 0x01; break;
        case 1: flag_buzzer_onoff |= 0x02; break;
        case 2: flag_buzzer_onoff |= 0x04; break;
      }
      output_onOff(LED_GREEN_OFF);  //<-------- OFF LED GREEN
      output_onOff(LED_RED_ON);     //<-------- ON  LED RED
      output_onOff(RELAY_1A_OFF);
    }//--end--
    //---------------------------------- 
    void Buzzer_onOff()
    {
      byte i,j;
      if( (millis() - buzzer_time)>= period_t_buzzer) {
        if(flag_buzzer_state == FLAG_OFF) {
            if(flag_buzzer_delay == FLAG_ON) {
                output_onOff(BUZZER_OFF);
                if( (millis() - buzzer_time2) > delay_buzzer_on) {
                    flag_buzzer_delay = FLAG_OFF;
                }
            }else { 
               output_onOff(BUZZER_ON);    //<-------- ON  BUZZER  
               output_onOff(LED_RED_ON);   //<-------- ON  LED RED
            }
            flag_buzzer_state = FLAG_ON;
        } else {
          output_onOff(BUZZER_OFF);      //<-------- OFF  BUZZER
          output_onOff(LED_RED_OFF);     //<-------- OFF  LED RED
          flag_buzzer_state = FLAG_OFF;
        }
        buzzer_time = millis();
      }  
    }//--end--
    //----------------------------------
    void print_out(byte ch_X) {
      show_setting_LCD_R(ch_X);
      if(menu_key>0) {
        LCD_blink_onz(ch_updown);
      }
      Serial.print("Temp. in CH");
      Serial.print(ch_X+1);
      Serial.print(" = ");
      Serial.println(DATA_C[ch_X]);
    }//--end--  
    //-----------------------------------
    void read_MAX6675() {
    //#if TEST_PROG  == 1
    //  DATA_C[0] =  500.00;
    //#else  
      DATA_C[0] = tcouple_01.readTempC() + DATA_offset[0];
    //#endif  
      DATA_C[1] = tcouple_02.readTempC() + DATA_offset[1];
      DATA_C[2] = tcouple_03.readTempC() + DATA_offset[2];
    }//--end--
    //----------------------------------
    void parseCommand(String com) 
    {
        String part1;
        String part2;
        
        part1 = com.substring(0, com.indexOf("=") );
        part2 = com.substring(com.indexOf("=") + 1 );
        for(byte i=0; i<3 ; i++) {
            if( part1.equalsIgnoreCase(myStrings[i]) ){
                in_float = part2.toFloat();
                Serial.print("--->CH"); Serial.print(i+1); Serial.print(" = ");
                Serial.println(in_float);
                DATA_C_MAX[i] = in_float;
                save_and_read_EEPROM();
                break;
            }
        }            
        if( part1.equalsIgnoreCase(myStrings[3]) ){
           show_setting_S();
        }else{
           Serial.println("COMMAND NOT RECONGNIZED");
        }
    }//--end--
    //-----------------------------------
     
    void loop(void) {
      byte xi ;
    //--------- TEST -------------
       read_MAX6675();
    //---------------------------- 
      counter_s_prnSprint--;
      //Serial.println(counter_s_prnSprint);
      if(counter_s_prnSprint == 0) {
        for( byte xi = 0; xi < CHANNEL_MAX ;xi++ ) {
           if( DATA_C[xi] > DATA_C_MAX[xi]) {  
               alarm_out(xi);
           }
           print_out(xi);
        }   
        counter_s_prnSprint = SER_PRN;
        Serial.println();
      }  
    //----------------------------------------
      read_keypad_14();
      if (flag_buzzer_onoff > 0) {
        if( key_BUZZER_delay == HIGH) {
          flag_buzzer_delay = FLAG_ON;
          buzzer_time2 = millis();
          key_BUZZER_delay = LOW;
        }
        Buzzer_onOff();
      } else {
         flag_buzzer_delay = FLAG_OFF;
      }
    //----------------------------------------
      if (Serial.available()) {
        char c = Serial.read(); 
        if( c == '\n') {
          parseCommand(command); 
          command = ""; 
        }else {
          command += c; 
        }
      } 
    //----------------------------------------  
      delay(10);
    }//--end--
    //----------------------------------

วิธีการชำระเงิน

ธนาคารกรุงเทพ จำกัด (มหาชน) สาขาบิ๊กซี รามคำแหง สะสมทรัพย์
ธนาคารไทยพาณิชย์ จำกัด (มหาชน) สาขาคลองจั่น ออมทรัพย์
บมจ. ธนาคารกรุงไทย สาขาเดอะมอลล์บางกะปิ ออมทรัพย์
บมจ. ธนาคารกสิกรไทย สาขาโลตัส บางกะปิ ออมทรัพย์
พร้อมเพย์ สาขา- mobile
Scan this!
กิตติ แซ่เอี้ยว
096-xxxxxx-3
Accept All Banks | รับเงินได้จากทุกธนาคาร
  • ค่าธรรมเนียม 3.9% + 11 THB
  • การชำระผ่าน PayPal คุณไม่จำเป็นต้องแจ้งชำระเงิน เนื่องจากระบบจะจัดการให้คุณทันที ที่คุณชำระเงินเสร็จสมบูรณ์

CATEGORY

TRACKCODE

  • ค้นหา
*ใส่ เบอร์มือถือ หรือ email ที่ใช้ในการสั่งซื้อ

CONTACT US

096-898-2243

STATISTICS

หน้าที่เข้าชม5,167,603 ครั้ง
ผู้ชมทั้งหมด1,566,943 ครั้ง
ร้านค้าอัพเดท6 ก.ย. 2568

MEMBER

Join เป็นสมาชิกร้านค้า

ร้านmcucity
ร้านmcucity
/www.mcucity.com/
Join เป็นสมาชิกร้าน
805
สมัครสมาชิกร้านนี้ เพื่อรับสิทธิพิเศษ
ติดตามร้านของเราผ่านแอพได้แล้ววันนี้
  • พิมพ์ “mcucity” ในช่อง Search
  • หรือเข้าจากรายการร้านค้าโปรดของฉัน
พูดคุย-สอบถาม