ระบบตรวจแผ่นดินไหวด้วย Vibration sensor รุ่น SW-420 แล้วส่งเสียงเตือน

Microcontroller

จุดประสงค์

  1. นักเรียนสามารถต่อวงจรในตรวจวัดแผ่นดินไหวแล้วแจ้งเตือนผ่าน BUZZER ได้
  2. นักเรียนสามารถเขียนโปรแกรมตรวจวัดแผ่นดินไหวแล้วแจ้งเตือนผ่าน BUZZER ได้
  3. นักเรียนสามารถนำความรู้ที่ได้ไปใช้ในการแก้ปัญหาในชีวิตประจำวันได้

เครื่องมือและอุปกรณ์

บอร์ดทดลอง Breadboard

Protoboard หรือ Breadboard คือบอร์ดทดลอง สำหรับต่อวงจรไฟฟ้าและอิเล็กทรอนิกส์ต่างๆโดยไม่ต้องบัดกรีวงจร ซึ่งมีประโยชน์มากทั้งสำหรับผู้เริ่มต้นและผู้ที่ต้องการทดลองต่อวงจรใหม่ๆ โดย Protoboard นั้นมีหลายขนาดด้วยกัน ตั้งแต่ 170 รู , 830 รู จนถึง 1,660 รูเลยทีเดียว

Arduino Uno R3

Arduino อ่านว่า (อา-ดู-อิ-โน่ หรือ อาดุยโน่) เป็นบอร์ดไมโครคอนโทรเลอร์ตระกูล AVR ที่มีการพัฒนาแบบ Open Sourceคือมีการเปิดเผยข้อมูลทั้งด้าน Hardware และ Software ตัว บอร์ด Arduino ถูกออกแบบมาให้ใช้งานได้ง่าย ดังนั้นจึงเหมาะสำหรับผู้เริ่มต้นศึกษา ทั้งนี้ผู้ใช้งานยังสามารถดัดแปลง เพิ่มเติม พัฒนาต่อยอดทั้งตัวบอร์ด หรือโปรแกรมต่อได้อีกด้วย

Active Buzzer

ถ้าต้องการสร้างเสียงเตือนแบบง่าย ๆ Active Buzzer เป็นตัวสร้างเสียงที่ง่ายที่สุด เพียงแค่จ่ายไฟ 3.3 – 5VDC ไปที่ Active Buzzer ก็สร้างเสียงร้องได้แล้ว

Vibration sensor รุ่น SW-420

โมดูลตรวจจับความสั่น SW420 Vibration Sensor Module เป็นโมดูลตรวจจับความสั่น เมื่อมีการสั่นจะส่งสัญญาณ Logic 1 ออกมา หากไม่มีการสั่นหรืออยู่นิ่งๆ จะส่ง Logic 0 ออกมา สามารถปรับค่าความไวในการตรวจจับโดยการปรับค่าที่ตัวต้านทานปรับค่าบนบอร์ด ใช้แหล่งจ่ายไฟเลี้ยง 3.3-5VDC นำไปประยุกต์ใช้ในงานตรวจจับการสั่นสะเทือนของเครื่องจักร ตรวจจับการสั่นของประตูเพื่อป้องกันขโมยเปิดประตู เป็นต้น

คำสั่งในการควบคุม

void setup() { //คำสั่งทำงานเมื่อเริ่มระบบ
pinMode(7,INPUT); //กำหนดให้ pin 7 เป็น INPUT
pinMode(13,OUTPUT); //กำหนดให้ pin 13 เป็น OUTPUT
Serial.begin(9600);
}
void loop() { //คำสั่งทำงานวนซ้ำตลอดเวลาเมื่อมีการใช้ระบบ
int a=digitalRead(7); //รับข้อมูลจากเซนเซอร์ผ่าน pin7 เก็บไว้ใน a
Serial.println(a); //แสดงข้อมูลผ่านจอ Serial monitor
if(a==1){ //ตรวจสอบสัญญาณว่าเท่ากับ 1 หรือไม่
  digitalWrite(13,HIGH); //ถ้าสัญญาณเท่ากับ 1 สั่งให้ pin 13 เปิดไฟหรือส่งเสียง
    delay(2000); //รอเวลา 2 วินาที
}else{
  digitalWrite(13,LOW); //ถ้าสัญญาณไม่เท่ากับ 1 สั่งให้ pin 13 ปิดไฟหรือปิดเสียง
  delay(1000); //รอเวลา 1 วินาที
}  
}

Arduino Blocks ควบคุมระบบ

การต่อวงจรระบบ

แนะนำอุปกรณ์