วันอาทิตย์ที่ 23 กันยายน พ.ศ. 2561

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

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

#include <LedControl.h>    // การอ่านไฟล์จากไดเร็กทอรี หรือโฟลเดอร์ที่กำหนดไว้
#include <DHT11.h>    
int pin=4;      /ตัวแปรพื้นฐานที่เก็บตัวเลขโดยไม่มีจุดทศนิยม
DHT11 dht11(pin);   //ฟังก์ชั่นพิเศษของ  DHT11.h
LedControl lc=LedControl(8,10,9,1);    //ฟังก์ชั่นของ lcd
void show2digit(int h,int t)    // การเขียนฟังชั่นขึ้นมาโดยตั้งชื่อว่า show2digit

  int seg1,seg2,seg3,seg4;
  seg1 = h%10;
  seg2 = h/10;
  lc.setDigit(0,4,seg1,false); 
  lc.setDigit(0,5,seg2,false);
  seg3 = t%10;
  seg4 = t/10;
  lc.setDigit(0,0,seg3,false); 
  lc.setDigit(0,1,seg4,false);
  delay(300);
}
void setup()   // ฟังก์ชั่นใช้ในการประกาศค่าเริ่มต้น
{
  Serial.begin(9600);  //ประกาศการใช้งานการสื่อสารรับส่งข้อมูลผ่าน พอร์ตRS232
  while (!Serial) {  //คำสั่ง While คือเงื่อนไขที่จะทำการตรวจสอบว่าเป็นจริงหรือเท็จ
      ; // wait for serial port to connect. Needed for Leonardo only
    }
  lc.shutdown(0,false);  
  lc.setIntensity(0,5); 
  lc.clearDisplay(0);  
}
void loop()   // ฟังก์ชั่นใช้ในการเขียนโค้ดโปรแกรมการทำงานของArduinoเป็นฟังก์ชั่นการวนลูปไปเรื่อยๆ
{
  int err;
  float temp, humi;    // ตัวแปรชนิด floating-point หรือตัวแปรที่มีจุดทศนิยม
  if((err=dht11.read(humi, temp))==0)    // คำสั่งในการตัดสินใจ แบบตัวเลือกเดียว โดยใช้งานร่วมกับ                                                                                         ==, !=, <, >เพื่อใช้ใน การ  ตัดสินใจในการหาคำ
  {
    Serial.print("temperature:");
    Serial.print(temp);
    Serial.print(" humidity:");
    Serial.print(humi);
    Serial.println();
    
  } 
  else     
  {
    Serial.println();
    Serial.print("Error No :");
    Serial.print(err);
    Serial.println();    
  }
  lc.clearDisplay(0);
  show2digit(humi,temp);

}

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

เเสดงผลของเซ็นเซอร์วัดอุณหภูมิและความชิ้น เเล้วเเสดงผล บน7 segment

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

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