วันพุธที่ 26 กันยายน พ.ศ. 2561

งานที่ 12

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

#include <LiquidCrystal_I2C.h>  // การอ่านไฟล์จากไดเร็กทอรี หรือโฟลเดอร์ที่กำหนดไว้
LiquidCrystal_I2C lcd(0x27,16,2);  //ฟังก์ชั่นของ lcd กำหนดให้ ตัวอักษรที่16 แถวที่2
int triggerPin = 13; // ตัวแปรพื้นฐานที่เก็บตัวเลขโดยไม่มีจุดทศนิยม
int echoPin = 12;
long duration,distCM,temp_distCM=0;  // เป็นตัวแปรจำนวนเต็มแบบขยายโดยไม่มีจุดทศนิยม เก็บค่าแบบ 32 bit 
void setup()     // ฟังก์ชั่นใช้ในการประกาศค่าเริ่มต้น 

  lcd.begin();  // การทำงานเริ่มต้นของ lcd 
  lcd.setCursor(0,0);  //ใช้สั่งให้แสดงเคเซอร์บนหน้าจอ ตัวอักษรที่0เเถว0
  lcd.print("Dist =      cm");     
  pinMode(triggerPin,OUTPUT);   //การกำหนดหน้าที่ของขาว่าเป็นอินพุตหรือเอาต์พุต
  pinMode(echoPin,INPUT);
}
void loop() 
{
  digitalWrite(triggerPin,LOW);    //ทำหน้าที่เขียนค่า HIGH หรือ LOW ไปยังขาดิจิตอล
  delayMicroseconds(2);   // หน่วงเวลา
  digitalWrite(triggerPin,HIGH);
  delayMicroseconds(10);
  digitalWrite(triggerPin,LOW);
  duration = pulseIn(echoPin,HIGH);
  distCM = duration/58; 
  if (temp_distCM != distCM)  // คำสั่งในการตัดสินใจ แบบตัวเลือกเดียว โดยใช้งานร่วมกับ ==, !=, <, >เพื่อใช้ใน                                                       การ  ตัดสินใจในการหาคำ
  {
    lcd.setCursor(7,0); //ใช้สั่งให้แสดงเคเซอร์บนหน้าจอ ตัวอักษรที่7เเถว0
    lcd.print("    ");
  }
  lcd.setCursor(7,0);   
  lcd.print(distCM);
  temp_distCM = distCM;   
  delay(300);    // หน่วงเวลา

}

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





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

วัดระยะโดยเซ็นเซอร์ ULTRASONIC มีเสียงการทำงาน เเล้วเเสดงผมบน LCD ว่าระยะ กี่ ซม.


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

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