ใบรายงานผลการปฏิบัติงาน ครั้งที่ 17

  ส่วนประกอบงานวิชา การเขียนโปรแกรมคอมฯ ครั้งที่ 17

                             ใบรายงานผลการปฏิบัติงาน


  Code

  #include <LiquidCrystal_I2C.h>    
  LiquidCrystal_I2C lcd(0x27,16,2);  //ฟังก์ชั่นของ lcd กำหนดให้ ตัวอักษรที่16 แถวที่2
  int aVal=0,tempaVal=0; 
  const int SW_ON = 2;        
  const int led_ON =  13; int CSW_ON = 0; int C_CSW_ON =0;
  int Relay1=12,Relay2=11,Relay3=10,Relay4=9;
  int sensorPin = A0;
  int sensorValue = 0;
  void setup() {   
  lcd.backlight();   // ไฟเเบคไลท์  
  lcd.begin();   // การทำงานเริ่มต้นของ lcd 
  Serial.begin(9600); 
  pinMode(led_ON, OUTPUT);
  pinMode(SW_ON, INPUT);
  pinMode(Relay1,OUTPUT);  
  pinMode(Relay2,OUTPUT);   //การกำหนดหน้าที่ของขาว่าเป็นอินพุตหรือเอาต์พุต
  pinMode(Relay3,OUTPUT);
  pinMode(Relay4,OUTPUT);

  digitalWrite(Relay1,HIGH);
  digitalWrite(Relay2,HIGH);
  digitalWrite(Relay3,HIGH);  //การกำหนดหน้าที่ของขาว่าเป็นอินพุตหรือเอาต์พุต
  digitalWrite(Relay4,HIGH);
  lcd.setCursor(0,0);   
  lcd.print("Project2017");  // เเสดงตัวอักษร
  lcd.setCursor(0,1); 
  lcd.print("standby");  
 }
  //END Setup
  void loop() {   
  CSW_ON = digitalRead(SW_ON);   
  sensorValue = analogRead(sensorPin);//Serial.println(sensorValue);
  //=======================================================================
  int c_sensorValue1 = map(sensorValue,0,1023,0,255);
  //Serial.print("c_sensorValue1 = ");Serial.println(c_sensorValue1);
  int c_sensorValue2 = map(sensorValue,0,1023,255,0);
  //Serial.print("c_sensorValue2 = ");Serial.println(c_sensorValue2);
  //=======================================================================
  //check SW_ON
  if (CSW_ON == LOW) { delay(1000); 
    lcd.clear();  //ล้างหน้าจอ
    C_CSW_ON++;
      Serial.print("C_CSW_ON = ");Serial.println(C_CSW_ON);
    //OPEN Project
    digitalWrite(led_ON, HIGH);
  //END check SW_ON
    if(C_CSW_ON == 1){
    lcd.setCursor(0,0);
    lcd.print("Power On ");
    delay(1000);
    lcd.clear();
    lcd.print("Power On ");
    delay(1000);
    lcd.clear();
    }
  }
  if(C_CSW_ON == 1){//OPEN PROJECT                                   
    digitalWrite(led_ON, HIGH);    
    //delay(1000);
    digitalWrite(Relay1, HIGH);
    //ตรวจสอบค่า VR================
      //lcd.clear();
      lcd.setCursor(0,0);     
      lcd.print(c_sensorValue1);  
      lcd.print(" ");
      //==============================
      if(c_sensorValue1 >= 150){
      digitalWrite(Relay2, LOW);
      }else{
        digitalWrite(Relay2, HIGH);
        }
      //=============================
   RelaySTART();     // ใช้ฟังก์ชั่น RelaySTART
    }else{//OFF PROJECT
    lcd.setCursor(0,0);
    //lcd.print("Power Off");
    lcd.setCursor(0,1);
    lcd.print("standby");
    digitalWrite(led_ON, LOW); C_CSW_ON = 0;
    RelaySTOP();
    }
  }//END Loop
//======โปรแกรมย่อย==========
void RelaySTOP(){                 // เขียนฟังก์ชั่นขึ้นมาโดยใช้ชื่อ RelaySTOP
digitalWrite(Relay1,HIGH); 
digitalWrite(Relay2,HIGH);  
digitalWrite(Relay3,HIGH);
digitalWrite(Relay4,HIGH);  
  }
void RelaySTART(){       // เขียนฟังก์ชั่นขึ้นมาโดยใช้ชื่อ RelaySTART
digitalWrite(Relay1,LOW);
digitalWrite(Relay2,LOW); 
digitalWrite(Relay3,LOW);
digitalWrite(Relay4,LOW); 
}  




   ภาพจำลองการทำงานด้วยโปรแกรม Proteus

                             

    อธิบายการทำงานของโปรแกรม

    เมื่อกดสวิตซ์ ขึ้นข้อความบน LCD ว่า Power on LED เเละหลอดไฟติด 1วิ พอดับ 
     ขึ้นคำว่า Power off

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

(บล็อกที่ 9). code รถบังคับจากแผ่นซีดี ควบคุมด้วยแอพแอนดรอยด์

โครงงานเรื่อง ล้อวัดระยะทางด้วย Encoder (งานที่ 17)

โครงงานเครื่องรดน้ำต้นไม้อัตโนมัติ (งานที่ 6)