12/04/2568

Theme 1 โครงงาน พัฒนาโครงงานเขียนโปรแกรมจำลอง

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

#include <Servo.h>
Servo servo_4; //ตั้งชื่อ servo
const int trigPin = 9;//กำหนด pin ที่ต้องการใช้งานคือ pin 9
const int echoPin = 10;//กำหนด pin ที่ต้องการใช้งานคือ pin 10
int  ledPin = 6;//กำหนด led ขาที่6
int analogPin = 5;//ประกาศตัวแปรให้ analogPin แทนขา analog ขาที่ 5
int val = 0;//กำหนดค่าแสงให้เริ่มต้นที่ 0
 
long duration;  //ตัวแปรชนิด long(ตัวแปรที่ใช้เก็บตัวเลขจำนวนเต็มที่มีความยาว)ตัวแปรชื่อ duration
int distance;//ตัวแปรชนิด int(ตัวแปรใช้เก็บตัวเลข
void setup() {
  servo_4.attach(4);  //servo_4 เสียบ pin 4 อยู่
  pinMode(trigPin, OUTPUT);  //กำหนดให้ pin ที่ต้องการใช้งาน ทำงานเป็น Output
  pinMode(echoPin, INPUT); //กำหนดให้ pin ที่ต้องการใช้งาน ทำงานเป็น Input
  Serial.begin(9600);//ตั้งความเร็วสื่อสารที่ 9600 และสั่งให้เริ่มทำงาน
  pinMode(ledPin, OUTPUT); //กำหนดให้ pin ที่ต้องการใช้งาน ทำงานเป็น Output
  Serial.begin(9600);//ตั้งความเร็วสื่อสารที่ 9600 และสั่งให้เริ่มทำงาน
}
void loop() {
 
  digitalWrite(trigPin, LOW);//กำหนดให้ pin ที่ต้องการใช้งาน มีสถานะลิจิกเป็น 1
  delayMicroseconds(2);   //หน่วงเวลา 2 us
 
  digitalWrite(trigPin, HIGH); //กำหนดให้ pin ที่ต้องการใช้งาน มีสถานะลิจิกเป็น 1
  delayMicroseconds(10);//หน่วงเวลา 10 us
  digitalWrite(trigPin, LOW);//กำหนดให้ pin ที่ต้องการใช้งาน มีสถานะลิจิกเป็น 1
 
  duration = pulseIn(echoPin, HIGH); //รอ echoPin ให้ไฟเข้า
  distance = duration * 0.034 / 2; //คำนวณระยะทางโดยใช้สูตร
  Serial.print("distance: "); //ให้แสดงdistanceบนหน้าจอ
  Serial.println(distance);  //ให้แสดงระยะทางบนหน้าจอ
  delay(500);  //หน่วงเวลา 0.5 วินาที
  if(distance<=150)//ถ้าระยะทางน้อยกว่าหรือเท่ากับ 150    
  {
    servo_4.write(90);//servo หมุน 90 องศา
    delay(500);  //หน่วงเวลา 0.5 วินาที
    servo_4.write(180);//servo หมุน 180 องศา
    delay(500);  //หน่วงเวลา 0.5 วินาที
    servo_4.write(90);//servo หมุน 90 องศา
    delay(500);  //หน่วงเวลา 0.5 วินาที
  }
  else
  {
    servo_4.write(0); //servo หมุน 0 องศา
    delay(500);  //หน่วงเวลา 0.5 วินาที
  }
   
  val = analogRead(analogPin);//อ่านค่าสัญญาณที่ analog ขาที่ 5 ที่ต่อกับ LDR
  Serial.print("val =");//พิมพ์ข้อความส่งเข้าคอมพิวเตอร์"val ="
  Serial.println(val);//พิมพ์ค่าของตัวแปรval ="
  if(val<=400){//ค่า 400 น้อยกว่าหรือเท่ากับ 400 สามารถกำหนดปรับได้ตามค่าแสงในห้องต่างๆ
     digitalWrite(ledPin, HIGH);//สั่งให้ LED ติดสว่าง
  }
  else {
  digitalWrite(ledPin, LOW);//สั่งให้ LED ดับ
  }
}

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






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

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

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