26/07/2567

ปีการศึกษา 2567 Arduino ม.5 ระบบวัดระยะห่างและแสดงข้อความ

 📣ความรู้ไปประยุกต์ใช้อุปกรณ์อิเล็กทรอนิกส์เพื่อสร้างสรรค์เป็นโครงงานตามที่โจทย์กำหนดได้วงจร


📣ความรู้ไปประยุกต์ใช้อุปกรณ์อิเล็กทรอนิกส์เพื่อสร้างสรรค์เป็นโครงงานตามที่โจทย์กำหนดได้คำสั่งเขียน 

#include<LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int Sw1 = A0;
int Sw2 = A1;
int Sw3 = A2;
int distanceThreshold = 0;
int cm = 0;
int inches = 0;
long readUltrasonicDistance(int triggerPin, int echoPin)
{
  pinMode(triggerPin, OUTPUT); 
  digitalWrite(triggerPin, LOW);
  delayMicroseconds(2);
  digitalWrite(triggerPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(triggerPin, LOW);
  pinMode(echoPin, INPUT);
  return pulseIn(echoPin, HIGH);
}
void setup()
{
 lcd.begin(16, 2);
  pinMode(Sw1, INPUT);
  pinMode(Sw2, INPUT);
  pinMode(Sw3, INPUT);
  Serial.begin(9600);
  pinMode(8, OUTPUT);
  pinMode(9, OUTPUT);
  pinMode(10, OUTPUT);
}
void A()
{
  lcd.clear();
  lcd.setCursor(5,0);          
  lcd.print("tengtechno"); 
  lcd.setCursor(5,1);           
  lcd.print("tengtechno"); 
}
void B()
{
  lcd.clear();
  lcd.setCursor(3,0);          
  lcd.print("Thank "); 
  lcd.setCursor(3,1);           
  lcd.print("Thank "); 
}
void C()
{
  lcd.clear();
}
void loop()
{
  distanceThreshold = 350;
  cm = 0.01723 * readUltrasonicDistance(7, 7);
  inches = (cm / 2.54);
  Serial.print(cm);
  Serial.print("cm, ");
  Serial.print(inches);
  Serial.println("in");
  if (cm > distanceThreshold- 150) {
    digitalWrite(8, LOW);
    digitalWrite(9, LOW);
    digitalWrite(10, LOW);
  }
  if (cm <= distanceThreshold - 150&& cm > distanceThreshold - 250) {
    digitalWrite(8, HIGH);
    digitalWrite(9, LOW);
    digitalWrite(10, LOW);
  }
  if (cm <= distanceThreshold - 250 && cm > distanceThreshold - 330) {
    digitalWrite(8, HIGH);
    digitalWrite(9, HIGH);
    digitalWrite(10, LOW);
  }
  if (cm <= distanceThreshold - 330 && cm > distanceThreshold - 350) {
    digitalWrite(8, HIGH);
    digitalWrite(9, HIGH);
    digitalWrite(10, HIGH);
  }
  if (cm <= distanceThreshold - 350) {
    digitalWrite(8, HIGH);
    digitalWrite(9, HIGH);
    digitalWrite(10, HIGH);
  }
  delay(100);
  int StatusSw1;
  int StatusSw2;
  int StatusSw3;
  StatusSw1 = digitalRead(Sw1);
  StatusSw2 = digitalRead(Sw2);
  StatusSw3 = digitalRead(Sw3);
  if(StatusSw1 == 0)
  {
    A();
  }
  else if(StatusSw2 == 0)
  {
    B();
  }
  else if(StatusSw3 == 0)
  {
    C();
  }  
}


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

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

ครูเต้ง เทคโนฯ