กลับไปหน้ารวมไฟล์
clap-sensing-servo-control-2f0c76.md

ชื่อโปรเจกต์: Clap Sensing Servo Control

โปรเจกต์นี้เป็นการควบคุม Servo ด้วยเสียง โดยผู้ใช้สามารถสร้างเสียงในช่วงการตรวจจับของ Sensor เพื่อให้ Servo เคลื่อนที่

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

การทำงานของโปรเจกต์นี้ง่ายมาก เมื่อใดก็ตามที่ Sensor ได้ยินเสียงใดๆ ภายใต้ช่วงการตรวจจับของมัน มันจะทำให้ Servo หมุนประมาณ 180 องศา ซึ่งจะเปิด LED เพื่อให้ผู้ใช้ทราบทิศทางของ Servo เมื่อมีเสียงคล้ายกันเกิดขึ้นอีกครั้ง มันจะนำ Servo กลับสู่ตำแหน่งเดิม โดยปิด LED

สำหรับสิ่งนี้ คุณจะต้องมี:

1) บอร์ด Arduino UNO

2) โมดูลตรวจจับเสียง

3) Servo

4) LED

5) Breadboard

6) ตัวต้านทาน 1k ohm

7) สาย Jumper

นี่คือโค้ด:

#include <Servo.h>

Servo myservo;

int pos = 0;

int soundSensor=2;

int LED=4;

boolean LEDStatus=false;

void setup() {

myservo.attach(9);

pinMode(soundSensor, INPUT);

pinMode(LED, OUTPUT);

}

void loop() {

int SensorData=digitalRead(soundSensor);

if(SensorData==1){

if(LEDStatus==false){

LEDStatus=true;

digitalWrite(LED, HIGH);

for (pos = 0; pos <= 180; pos += 1) { // goes from 0 degrees to 180 degrees

// in steps of 1 degree

myservo.write(pos); // tell servo to go to position in variable 'pos'

delay(15); // waits 15ms for the servo to reach the position

}

}

else{

LEDStatus=false;

digitalWrite(LED, LOW);

for (pos = 180; pos >= 0; pos -= 1) { // goes from 180 degrees to 0 degrees

myservo.write(pos); // tell servo to go to position in variable 'pos'

delay(15); // waits 15ms for the servo to reach the position

}

}

}

}

รายละเอียดทางเทคนิคเพิ่มเติม

ระบบอัตโนมัติด้วยแรงกระตุ้นเสียง

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

- **การทำแผนที่ Acoustic Envelope**: Arduino จะจับสัญญาณอนาล็อกจากโมดูลไมโครโฟนที่มี Gain สูง เฟิร์มแวร์จะมองหาสัญญาณ "Peak and Decay" ที่เฉพาะเจาะจง ซึ่งตรงกับการตบมือของมนุษย์ โดยไม่สนใจเสียงรบกวนพื้นหลังคงที่ - **ลอจิกการสลับสถานะ Servo**: เมื่อมีการ "ตบมือ" สำเร็จแต่ละครั้ง Arduino จะสลับตำแหน่งของ **servo motor** (เช่น 0° เป็น 90°) ซึ่งสามารถนำไปใช้ในการเปิดผ้าม่าน เปิดสวิตช์ หรือป้อนอาหารสัตว์เลี้ยงได้โดยไม่ต้องสัมผัสทางกายภาพ

ประสิทธิภาพ

  • ช่วงเวลาความไวแบบมีเวลาจำกัด: มี "ช่วงเวลาเงียบ" 500ms หลังจากตรวจจับเสียงตบมือแต่ละครั้ง เพื่อป้องกันการทริกเกอร์ซ้ำที่เกิดจากเสียงสะท้อนหรือเสียงจากการเคลื่อนไหวทางกลไกของ Servo เอง

ข้อมูล Frontmatter ดั้งเดิม

title: "Clap Sensing Servo Control"
description: "Clap to make your servo move!"
author: "Jetaban"
category: ""
tags: []
views: 7608
likes: 5
price: 1120
difficulty: "Intermediate"
components:
  - "1x 5 mm LED: Red"
  - "1x Sound sensor"
  - "1x Jumper wires (generic)"
  - "1x PHPoC Bread Board"
  - "1x Arduino UNO"
  - "1x Basic Arduino kit"
  - "1x SparkFun Breadboard Power Supply 5V/3.3V"
tools: []
apps:
  - "1x Arduino IDE"
downloadableFiles:
  - "https://projects.arduinocontent.cc/8781e617-753e-4b41-8bac-da2e9c6aa0f3.ino"
  - "https://projects.arduinocontent.cc/8781e617-753e-4b41-8bac-da2e9c6aa0f3.ino"
documentationLinks: []
passwordHash: "885c0b4237a56a61a299e318d2532f926e07bb5d81af0e8c139e30a8c519fad7"
encryptedPayload: "U2FsdGVkX1+1mhZplqfamp8dFF5zsDO1TqZH8zOkPUbo1IINwMLtJISCSM+zmjDDt07MhSR/X7njlFdiMfa2mGsKrvYmlOah6HY+nuCzhSQ="
seoDescription: "Control a Servo using Clap Sensing with Arduino. A simple DIY electronics project for beginners."
videoLinks: []
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/clap-sensing-servo-control-2f0c76_cover.jpg"
lang: "th"