สารบัญ:

สวิตช์การเต้นของเสียง: 6 ขั้นตอน
สวิตช์การเต้นของเสียง: 6 ขั้นตอน

วีดีโอ: สวิตช์การเต้นของเสียง: 6 ขั้นตอน

วีดีโอ: สวิตช์การเต้นของเสียง: 6 ขั้นตอน
วีดีโอ: การต่อไฟ 12 โวลท์ในรถบรรทุกต่ออย่างไร (ต่อไฟเพื่อติดตั้งวิทยุรถยนต์/เครื่องเสียงรถยนต์) 2024, พฤศจิกายน
Anonim
Image
Image

เคยมีปัญหาเวลานอนอยู่บนเตียง แต่จู่ๆ ก็รู้ว่าไฟยังเปิดอยู่ อย่างไรก็ตาม คุณเหนื่อยมากจนไม่อยากเดินลงจากเตียงเพื่อปิดไฟ และไม่เสียเงินแปดสิบเหรียญเพื่อซื้อไฟรอบข้างของ Philip Hue ซึ่งจะช่วยให้คุณปิดไฟโดยใช้โทรศัพท์ได้ หากคุณกำลังใช้ไฟแบบเดิมที่มีสวิตช์ ทำไมไม่ลองดูโครงการ Arduino ที่แปลกใหม่นี้เพื่อแก้ปัญหาความเกียจคร้านของคุณ!

เริ่มมีไอเดียโครงการนี้เมื่อประมาณปีที่แล้ว ตอนที่ย้ายบ้านใหม่พบว่าสวิตช์ไฟไม่มีอยู่ใกล้เตียง ทำให้ต้องลุกออกจากเตียงทุกคืนเมื่อนอนบนเตียงเหนื่อย เพียงเพื่อปิดไฟ (ซึ่งทำให้ฉันหงุดหงิดทุกคืน)! อย่างไรก็ตาม หลังจากทำโปรเจ็กต์นี้ ฉันได้รับประโยชน์อย่างมากมายตลอดมา และหวังว่าจะแบ่งปันแนวคิดนี้กับผู้ใช้ที่สั่งสอนได้ทุกคน ซึ่งปัจจุบันประสบปัญหาเกี่ยวกับสวิตช์ไฟระยะไกลเช่นกัน

แนวคิดพื้นฐานของสวิตช์ Sound Pulsing นี้คือการกระตุ้น KY-037 Sound Detector Sensor เพื่อดำเนินการต่างๆ รวมถึงการเปิดเซอร์โวมอเตอร์เพื่อกดสวิตช์ไฟจริงเพื่อปิด ดังนั้น KY-037 Sound Detector Sensor ทำงานอย่างไร: โดยพื้นฐานแล้ว จะตรวจจับความเข้มของเสียงในสภาพแวดล้อม ในกรณีนี้ ทุกๆ 20 มิลลิวินาที (สามารถตั้งค่าได้ในส่วนการเข้ารหัส ขั้นตอนที่ 5) และเมื่อใด พบคลื่นเสียงที่ดังผิดปกติใน Oscilloscope Trace จากนั้นจะกระตุ้นการนับ ในขณะที่เมื่อถึงสองค่า มันจะเปิดใช้งานเซอร์โวมอเตอร์ และปิดไฟเพิ่มเติม

ขั้นตอนที่ 1: วัสดุสิ้นเปลือง

เสบียง
เสบียง
เสบียง
เสบียง

ในการสร้าง Sound Pulsing Switch นี้ เราจำเป็นต้องมีอุปกรณ์บางอย่างเช่นด้านล่าง:

อิเล็กทรอนิกส์:

  • บอร์ด Arduino นาโน
  • เขียงหั่นขนม
  • สายจัมเปอร์ (ตัวเมียกับตัวเมีย และตัวเมียกับตัวผู้ และตัวผู้เป็นตัวผู้)
  • KY-037 โมดูลเซนเซอร์ตรวจจับเสียง
  • ตัวเก็บประจุอลูมิเนียมอิเล็กโทรลีติค 220uF 25V
  • เซอร์โวมอเตอร์
  • ธนาคารแบตเตอรี่
  • แหล่งจ่ายไฟภายนอก *(USB to two head Du-Pont Wire)
  • แบตเตอรี่ 9V
  • ขั้วต่อแบตเตอรี่ 9V

อุปกรณ์ตกแต่งโมเดล:

กระดาษแข็ง (หรือไม้ ถ้าตัดด้วยเลเซอร์)

คนอื่น

  • กาวแห้งเร็ว
  • มีดยูทิลิตี้
  • แผ่นรองตัด
  • เครื่องตัดเข็มทิศ
  • ดินสอและยางลบ
  • ดินเหนียว
  • เทปสองหน้า
  • เทป
  • อุปกรณ์บัดกรี

ขั้นตอนที่ 2: ประกอบชิ้นส่วนอิเล็กทรอนิกส์

ประกอบชิ้นส่วนอิเล็กทรอนิกส์
ประกอบชิ้นส่วนอิเล็กทรอนิกส์
ประกอบชิ้นส่วนอิเล็กทรอนิกส์
ประกอบชิ้นส่วนอิเล็กทรอนิกส์
ประกอบชิ้นส่วนอิเล็กทรอนิกส์
ประกอบชิ้นส่วนอิเล็กทรอนิกส์

ก่อนสร้างแบบจำลองจริง ๆ เราต้องประกอบชิ้นส่วนอิเล็กทรอนิกส์ซึ่งง่ายมาก และสามารถทำได้ในไม่กี่ขั้นตอนดังนี้:

  1. บัดกรีขั้วต่อแบตเตอรี่ 9V กับบอร์ด Arduino Nano อาจเป็นเรื่องยากเล็กน้อยสำหรับผู้ที่ไม่คุ้นเคยกับเทคนิคการบัดกรีใดๆ แต่สิ่งนี้จำเป็นสำหรับการประสบความสำเร็จในการทำโครงงานนี้ เพราะหากบอร์ดไม่ได้รับพลังงานเพียงพอ บอร์ดอาจทำงานได้ไม่ดีหรือไม่ดี สำหรับการบัดกรีให้ต่อสายสีแดงเข้ากับพิน VIN และสายสีดำเข้ากับพิน GND ซึ่งทั้งคู่ตั้งอยู่ทางด้านขวามือของบอร์ด
  2. ต่อสายจัมเปอร์เข้ากับบอร์ด Arduino Nano ในโครงการนี้ เราจะสนับสนุนเฉพาะพิน A0, D2, พิน GND และพิน 5V

    • การใช้เขียงหั่นขนมเพื่อเชื่อมต่อพิน เราจำเป็นต้องเชื่อมต่อพิน G จากโมดูลเซ็นเซอร์ตรวจจับเสียง KY-037 กับเขียงหั่นขนม บนคอลัมน์เดียวกัน (ระวังสิ่งนี้ ถ้าไม่ใช่ในคอลัมน์เดียวกัน โครงการสุดท้ายของคุณจะไม่ทำงาน) เชื่อมต่อสายสีดำจากเซอร์โวมอเตอร์ และสายสีดำจากแหล่งจ่ายไฟภายนอกของคุณ (คุณต้องทำเช่นนี้สำหรับ พิน GND แต่ไม่ใช่พิน 5V เนื่องจากแหล่งจ่ายไฟภายนอกจะต้องสร้างกราวด์ร่วมกันในกรณีที่ไม่เบิร์น Arduino ของคุณ) จากนั้นเชื่อมต่อสายจัมเปอร์ตัวผู้กับตัวเมียอีกอันเข้ากับคอลัมน์เดียวกันและกับนาโนของคุณตามลำดับ
    • ถัดไป ต่อพิน “+” จากโมดูลเซ็นเซอร์ตรวจจับเสียง KY-037 เข้ากับรูใดช่องหนึ่งในคอลัมน์เดียวกัน จากนั้นนำสายจัมเปอร์ตัวผู้กับตัวเมียอีกตัวที่เชื่อมต่อกับคอลัมน์เดียวกันบนเขียงหั่นขนมและอีกด้านเข้ากับนาโน กระดาน.
    • หลังจากนั้น ให้เชื่อมต่อสายสีแดงบนเซอร์โวมอเตอร์กับอีกคอลัมน์หนึ่งแม้จะใช้แล้วก็ตาม และวางสายสีแดงจากแหล่งจ่ายไฟภายนอกไปยังคอลัมน์เดียวกันด้วย เพื่อจ่ายไฟให้กับแบตเตอรีแบตเตอรี ให้ต่อหัว USB-sub เข้ากับพาวเวอร์แบงค์เพื่อให้จ่ายไฟให้กับเซอร์โวมอเตอร์
    • นอกจากนี้ เมื่อข้ามเกินสองคอลัมน์ที่ GND และพิน 5V ตั้งขึ้น ให้วางขาทั้งสองของตัวเก็บประจุบนทั้งสองคอลัมน์ เพื่อสร้างสภาพแวดล้อมที่ค่อนข้างคงที่สำหรับเซ็นเซอร์ตรวจจับเสียง KY-037
    • สุดท้าย เชื่อมต่อสายสีขาวบนเซอร์โวมอเตอร์กับพิน D2 บนนาโน และเชื่อมต่อ A0 กับ A0 จากโมดูลเซนเซอร์ตรวจจับเสียง KY-037 เข้ากับบอร์ด Arduino Nano ตามลำดับ

และคุณทำอุปกรณ์อิเล็กทรอนิกส์ทั้งหมดเสร็จแล้ว!

ขั้นตอนที่ 3: การออกแบบตัวแบบ

การออกแบบโมเดล
การออกแบบโมเดล

สำหรับโครงการนี้ การสร้างแบบจำลองนั้นง่ายมาก เนื่องจากเราต้องสร้างกล่องที่มีหกด้านเท่านั้น อย่างไรก็ตาม การออกแบบจะต้องมีความแน่นอนเท่ากับไฟล์ AutoCAD ที่ฉันให้ไว้ด้านล่าง

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

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

  1. ด้านบนมีรูยาว 3 * กว้าง 2 สำหรับวางเซอร์โวมอเตอร์ ให้พื้นที่ใช้งานและกดปุ่ม
  2. ถัดจากด้านล่างตรงข้าม เราสังเกตว่านี่เป็นเพียงฐานสี่เหลี่ยมที่ไม่มีรูสำหรับเก็บทุกอย่างไว้ในนั้นอย่างสวยงามและยืนยัน จากนั้นทางด้านขวาเราจำเป็นต้องมีรูสำหรับสายไฟภายนอกเพื่อเชื่อมต่อกับพาวเวอร์แบงค์เพื่อที่จะจ่ายไฟให้กับพาวเวอร์แบงค์
  3. หลังจากนั้นสำหรับด้านซ้ายจะมีลักษณะเหมือนกับด้านซ้ายมือด้านขวา แต่ไม่มีรู
  4. สุดท้ายนี้สำหรับด้านหน้าเราต้องการรูอีกรูหนึ่งสำหรับขั้วต่อแบตเตอรี่ 9V ที่จะออกจากกล่องเพื่อให้เราสามารถเปลี่ยนแบตเตอรี่ได้อย่างง่ายดายเมื่อเราหมดไฟเช่นเดียวกับการปิดสวิตช์เพื่อป้องกันการสิ้นเปลือง ของพลังงานแบตเตอรี่ ส่วนอีกอันสำหรับไมโครโฟนของ KY-037 เพื่อให้แน่ใจว่าอุปกรณ์สามารถตรวจจับการเปลี่ยนแปลงของเสียงในสภาพแวดล้อมได้
  5. ด้านล่างไม่มีรู ด้านหลังยังยึดแน่น

ขั้นตอนที่ 4: การสร้างแบบจำลอง

การสร้างแบบจำลอง
การสร้างแบบจำลอง
การสร้างแบบจำลอง
การสร้างแบบจำลอง
การสร้างแบบจำลอง
การสร้างแบบจำลอง

หลังจากที่เราได้วางแผนอย่างละเอียดแล้ว ตอนนี้เราจะต้องเข้าสู่กระบวนการสร้างแบบจำลองจริงๆ อย่างไรก็ตาม กระบวนการนี้จะง่ายเป็นพิเศษเมื่อเทียบกับขั้นตอนก่อนหน้า เพียงทำเช่นนี้:

  1. ตัดทั้งหกด้านในสเกลที่ให้มาในไฟล์ AutoCAD ด้วยกระดาษแข็งหรือใช้เลเซอร์คัท
  2. นำกาวเหนียวมาแปะที่ด้านข้างของชิ้นส่วนเพื่อประกอบเข้าด้วยกัน แต่ยังคงให้ด้านหลังออกเพื่อให้เราจัดเรียงส่วนประกอบภายในได้
  3. ติดขั้วต่อแบตเตอรี่ 9V ของคุณลงในรูที่เราตัดที่ด้านหน้าของรุ่น
  4. ติดโมดูลเซ็นเซอร์ตรวจจับเสียง KY-037 ของคุณลงในรูที่เราตัดแล้ว แต่อย่าลืมตัดให้กว้างขึ้นอีกหน่อย เส้นผ่านศูนย์กลางที่ฉันให้ไว้เป็นค่าโดยประมาณสำหรับส่วนประกอบ "ของฉัน" ซึ่งอาจแตกต่างกันไปในแต่ละส่วน รวมถึงส่วนสี่เหลี่ยม อาจกระแทกข้างทำให้ซุกไม่ดีพอ จำไว้
  5. ฉีกสติกเกอร์ด้านหลังเขียงหั่นขนมของคุณและติดไว้ด้านหลังชิ้นส่วนด้านหน้าของโมเดลของคุณ
  6. วางเซอร์โวมอเตอร์ของคุณลงในรูที่เราได้ตัดออกที่ด้านบนของโมเดล

    • ลองวางดินเหนียวเหนียวบางส่วนไว้ด้านหลังเซอร์โวมอเตอร์กับด้านข้างเพื่อเพิ่มความแข็งแกร่ง
    • อย่าลืมติดเทปกาวสองหน้าเพื่อให้แข็งแรงขึ้น
  7. ดึงสาย USB ภายนอกของคุณออกจากรูที่เราตัดไว้ทางด้านขวามือของโครงสร้าง แล้วเชื่อมต่อกับพาวเวอร์แบงค์
  8. กาวด้านหลังของคุณเข้ากับโมเดล แต่ถ้าคุณไม่แน่ใจเกี่ยวกับงานของคุณและอาจยังต้องจัดเตรียมหรือซ่อมแซมอุปกรณ์ของคุณ ให้ใช้สก๊อตเทปกาวติดก่อน เพื่อที่คุณจะลอกออกได้ง่าย

ขั้นตอนที่ 5: การเข้ารหัส

การเข้ารหัส
การเข้ารหัส
การเข้ารหัส
การเข้ารหัส

และไม่มีส่วนไหนที่สนุกแต่เป็นส่วนสำคัญที่สุดในโปรเจ็กต์นี้ หากไม่มีการเข้ารหัส อุปกรณ์ของคุณก็ใช้งานไม่ได้ ไม่ว่าคุณจะสร้างแบบจำลองหรือความแม่นยำในการสร้างวงจร โดยไม่ต้องเขียนโค้ด ก็ไม่มีประโยชน์อะไร ดังนั้น ข้างล่างนี้ ฉันเขียนโค้ดสำหรับโปรเจ็กต์นี้โดยเฉพาะ และอธิบายว่าทุกบรรทัดหมายถึงอะไรในส่วนความคิดเห็นในโค้ดนั้น อย่างไรก็ตาม หากใครยังมีปัญหาใดๆ โปรดแสดงความคิดเห็นด้านล่างว่าฉันจะมีความสุข เพื่อตอบกลับทันที (ฉันเชื่อ)

ในรหัสนี้ ฉันเลือกให้เซอร์โวมอเตอร์หมุนได้เก้าสิบองศาและร้อยแปดองศา อย่างไรก็ตาม สิ่งนี้สามารถจัดเรียงได้เนื่องจากสวิตช์ต่างๆ ที่ทุกคนได้รับที่บ้าน และเชื่อว่าการเปลี่ยนแปลงนี้ฟรีสำหรับทุกคน. ขณะที่ดูรหัสของฉัน โปรดทราบว่าอุปกรณ์นี้มีไว้เพื่อ "ปิดไฟอัตโนมัติ" โดยใช้วิธีการของเสียง โปรดอย่าสับสน และหากคุณสับสน ให้ย้อนกลับไปดูวิดีโอได้ที่ จุดเริ่มต้น ตอนนี้คุณสามารถดูรหัสด้านล่างหรือผ่านลิงค์ Arduino Create Website

Arduino สร้างลิงค์

นอกจากนี้ ถ้ามีคนถามถึงการแจกแจงโค้ดมากพอ ผมคงคิดไปเอง ฮ่าๆ…

Arduino-เสียง-Pulsing-Switch

#include // รวมไลบรารีสำหรับเซอร์โวมอเตอร์
int MIC = A0; //เสียงตรวจจับส่วนประกอบที่เชื่อมต่อกับขา A0
สลับบูลีน = เท็จ; // กำลังบันทึกเวอร์ชันเริ่มต้นของ toggle
int micVal; //บันทึกปริมาณที่ตรวจพบ
เซอร์โวเซอร์โว; //ตั้งชื่อเซอร์โวมอเตอร์เป็นเซอร์โว
กระแสไฟยาวที่ไม่ได้ลงนาม = 0; //บันทึกการประทับเวลาปัจจุบัน
ไม่ได้ลงนามนานสุดท้าย = 0; //บันทึกการประทับครั้งสุดท้าย
ส่วนต่างยาวที่ไม่ได้ลงนาม = 0; //บันทึกความแตกต่างของเวลาระหว่างการประทับเวลาสองครั้ง
จำนวน int ที่ไม่ได้ลงนาม = 0; //บันทึกการนับสลับ
การตั้งค่าเป็นโมฆะ () {// เรียกใช้ครั้งเดียว
servo.attach(2); // เริ่มต้นเซอร์โวเพื่อเชื่อมต่อกับขา D-pin 2
Serial.begin(9600); // เริ่มต้น serial
servo.write(180); //ทำให้เซอร์โวหมุนไปที่มุมเริ่มต้น
}
วงเป็นโมฆะ () {// วนซ้ำตลอดไป
micVal = อนาล็อกอ่าน (MIC); //อ่านเอาต์พุตแบบอะนาล็อก
Serial.println (micVal); //พิมพ์ค่าเสียงสิ่งแวดล้อม
ล่าช้า (20); //ทุกๆ 20 วินาที
if (micVal > 180) { //ถ้าเกินขีดจำกัด ซึ่งผมตั้งไว้ที่ 180 ที่นี่
ปัจจุบัน = มิลลิวินาที (); //บันทึกการประทับเวลาปัจจุบัน
++นับ; // เพิ่มหนึ่งเพื่อนับสลับ
//Serial.print("นับ="); // ส่งออกเวลาสลับเปิดถ้าคุณรู้สึกว่า
//Serial.println(นับ); //พิมพ์เลขออกมาเปิดถ้ารู้สึก
if (count >= 2) { //ถ้าจำนวนการสลับมีค่ามากกว่าหรือเท่ากับสองอยู่แล้ว ให้ตรวจสอบว่าการประทับเวลาสองครั้งนั้นกินเวลาระหว่าง 0.3~1.5 วินาทีหรือไม่
diff = ปัจจุบัน - สุดท้าย; //คำนวณความแตกต่างของเวลาระหว่างการประทับเวลาสองครั้ง
if (diff > 300 && diff < 1500) {// ตรวจสอบว่าการประทับเวลาสองครั้งอยู่ระหว่าง 0.3 ~ 1.5 วินาที
สลับ = !toggle; // คืนค่าเงื่อนไขปัจจุบันของ toggle
นับ = 0; //ให้นับศูนย์ เตรียมสอบใหม่
} else { //หากเวลาไม่อยู่ระหว่างจำนวนที่ถูกจำกัด ให้เปลี่ยนการนับกลับเป็นหนึ่ง
นับ = 1; //ไม่นับนับ
}
}
สุดท้าย = ปัจจุบัน; //ใช้การประทับเวลาปัจจุบันเพื่ออัปเดตการประทับครั้งสุดท้ายสำหรับการเปรียบเทียบครั้งต่อไป
if (toggle) {// ตรวจสอบว่าการสลับเปิดอยู่หรือไม่
servo.write (90); //เซอร์โวจะหมุน 90 องศาเพื่อเปิดไฟ
ล่าช้า (3000); //ล่าช้า 5 วินาที
servo.write(180); //เซอร์โวจะกลับจุดเดิม
ล่าช้า (1000); //หน่วงเวลาอีก 5 วินาที
นับ = 0; //ตั้งค่าการนับเป็นตัวเลขเริ่มต้นเพื่อนับใหม่
}
อื่น {
servo.write(180); //ถ้าสวิตช์ไม่ทำงาน ให้อยู่ที่ระดับเริ่มต้น 180 องศา
}
}
}

ดู rawArduino-Sound-Pulsing-Switch โฮสต์ด้วย ❤ โดย GitHub

ขั้นตอนที่ 6: เสร็จสิ้น

Image
Image
เสร็จสิ้น
เสร็จสิ้น

ตอนนี้คุณทำโปรเจ็กต์เสร็จแล้วซึ่งคุณสามารถเล่นกับ Sound Pulsing Switch เพื่อปิดไฟของคุณ แสดงว่าความเกียจคร้านของคุณจะไม่เป็นปัญหาอีกต่อไป! และจำไว้ว่าถ้าคุณทำโปรเจ็กต์นี้แล้ว แชร์ออนไลน์กับฉันและให้โลกรู้ เพื่อแสดงความมหัศจรรย์ของโปรเจ็กต์!

อยากรู้อยากเห็นและสำรวจต่อไป! ขอให้โชคดี!

แนะนำ: