วันพฤหัสบดีที่ 15 มิถุนายน พ.ศ. 2560

ใบงานที่ 2 เรื่อง Detecting Obstacles and Warning

จัดทำโดย

นายนนทกร   คำลาย         เลขที่  8   กลุ่ม E5

วัสดุอุปกรณ์

1.บอร์ดทดลอง Arduino UNO R3     1   บอร์ด
2.สาย USB                                      1   เส้น
3.สายไฟ                                          13   เส้น
4.โฟโต้บอร์ด                                    1 แผง
5.ตัวต้านทาน 220โอหม์                    6   ตัว
6.หลอด LED                                   6  หลอด
7.Ultrasonic sensor                      1 บอร์ด
8.
buzzer                                       1 ตัว


รูปวงจร










Code


int const trigPin = 11;
int const echoPin = 10;
int const buzzPin = 9;
int const ledPinA = 3;
int const ledPinB = 4;
int const ledPinC = 5;
int const ledPinD = 6;
int const ledPinE = 7;
int const ledPinF = 8;

void setup()
{
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT); 
  pinMode(buzzPin, OUTPUT); 
  pinMode(ledPinA, OUTPUT);
  pinMode(ledPinB, OUTPUT);
  pinMode(ledPinC, OUTPUT);
  pinMode(ledPinD, OUTPUT);
  pinMode(ledPinE, OUTPUT);
  pinMode(ledPinF, OUTPUT);
}

void loop()
{

  int duration, distance;
  digitalWrite(trigPin, HIGH);
  delay(1);
  digitalWrite(trigPin, LOW);
  duration = pulseIn(echoPin, HIGH);
  // Distance is half the duration devided by 29.1 (from datasheet)
  distance = (duration/2) / 29.1;
  // if distance less than 0.5 meter and more than 0 (0 or less means over range)
    if (distance <= 50 && distance >= 30) {
      // Buzz
      digitalWrite(buzzPin, HIGH);
      digitalWrite(ledPinA, HIGH);
      digitalWrite(ledPinB, HIGH);
      delay(500);
      digitalWrite(buzzPin, LOW);
      digitalWrite(ledPinA, LOW);
      digitalWrite(ledPinB, LOW);
      delay(500);
    } else {
      // Don't buzz
      digitalWrite(buzzPin, LOW);
      digitalWrite(ledPinA, LOW);
      digitalWrite(ledPinB, LOW);
    }

if (distance <= 29 && distance >= 15) {
      // Buzz
      digitalWrite(buzzPin, HIGH);
      digitalWrite(ledPinC, HIGH);
      digitalWrite(ledPinD, HIGH);
      delay(200);
      digitalWrite(buzzPin, LOW);
      digitalWrite(ledPinC, LOW);
      digitalWrite(ledPinD, LOW);
      delay(200);
    } else {
      // Don't buzz
      digitalWrite(buzzPin, LOW);
      digitalWrite(ledPinC, LOW);
      digitalWrite(ledPinD, LOW);
    }


    if (distance <= 14 && distance >= 0) {
      // Buzz
      digitalWrite(buzzPin, HIGH);
      digitalWrite(ledPinE, HIGH);
      digitalWrite(ledPinF, HIGH);

    } else {
      // Don't buzz
      digitalWrite(buzzPin, LOW);
      digitalWrite(ledPinE, LOW);
      digitalWrite(ledPinF, LOW);
    }
    // Waiting 60 ms won't hurt any one
    delay(60);

}

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

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

ใบงานที่ 3 เรื่อง การใช้ Ultrasonic sensor Module ควบคุมการปิด-เปิดประตู

จัดทำโดย นายนนทกร   คำลาย         เลขที่  8   กลุ่ม E5 วัสดุอุปกรณ์ 1.บอร์ดทดลอง Arduino UNO R3     1   บอร์ด 2.สาย USB      ...