สารบัญ:
- ขั้นตอนที่ 1: วัสดุสิ้นเปลือง
- ขั้นตอนที่ 2: ประกอบชิ้นส่วนอิเล็กทรอนิกส์
- ขั้นตอนที่ 3: การออกแบบตัวแบบ
- ขั้นตอนที่ 4: การสร้างแบบจำลอง
- ขั้นตอนที่ 5: การเข้ารหัส
- ขั้นตอนที่ 6: เสร็จสิ้น
วีดีโอ: สวิตช์การเต้นของเสียง: 6 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:04
เคยมีปัญหาเวลานอนอยู่บนเตียง แต่จู่ๆ ก็รู้ว่าไฟยังเปิดอยู่ อย่างไรก็ตาม คุณเหนื่อยมากจนไม่อยากเดินลงจากเตียงเพื่อปิดไฟ และไม่เสียเงินแปดสิบเหรียญเพื่อซื้อไฟรอบข้างของ 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: ประกอบชิ้นส่วนอิเล็กทรอนิกส์
ก่อนสร้างแบบจำลองจริง ๆ เราต้องประกอบชิ้นส่วนอิเล็กทรอนิกส์ซึ่งง่ายมาก และสามารถทำได้ในไม่กี่ขั้นตอนดังนี้:
- บัดกรีขั้วต่อแบตเตอรี่ 9V กับบอร์ด Arduino Nano อาจเป็นเรื่องยากเล็กน้อยสำหรับผู้ที่ไม่คุ้นเคยกับเทคนิคการบัดกรีใดๆ แต่สิ่งนี้จำเป็นสำหรับการประสบความสำเร็จในการทำโครงงานนี้ เพราะหากบอร์ดไม่ได้รับพลังงานเพียงพอ บอร์ดอาจทำงานได้ไม่ดีหรือไม่ดี สำหรับการบัดกรีให้ต่อสายสีแดงเข้ากับพิน VIN และสายสีดำเข้ากับพิน GND ซึ่งทั้งคู่ตั้งอยู่ทางด้านขวามือของบอร์ด
-
ต่อสายจัมเปอร์เข้ากับบอร์ด 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 ที่ฉันให้ไว้ด้านล่าง
หากคุณต้องการทำให้โปรเจ็กต์นี้ออกมาดีและแม่นยำจริงๆ ให้อ่านต่อไปเพื่อค้นพบแนวคิดการออกแบบของโปรเจ็กต์นี้
สวิตช์เสียงพัลซิ่งนี้ประกอบด้วยกล่องซึ่งมีหกด้าน รูที่ด้านข้างแต่ละช่องเป็นช่องว่างสำหรับวางส่วนประกอบอิเล็กทรอนิกส์ เพื่อให้อุปกรณ์ทำงานได้
- ด้านบนมีรูยาว 3 * กว้าง 2 สำหรับวางเซอร์โวมอเตอร์ ให้พื้นที่ใช้งานและกดปุ่ม
- ถัดจากด้านล่างตรงข้าม เราสังเกตว่านี่เป็นเพียงฐานสี่เหลี่ยมที่ไม่มีรูสำหรับเก็บทุกอย่างไว้ในนั้นอย่างสวยงามและยืนยัน จากนั้นทางด้านขวาเราจำเป็นต้องมีรูสำหรับสายไฟภายนอกเพื่อเชื่อมต่อกับพาวเวอร์แบงค์เพื่อที่จะจ่ายไฟให้กับพาวเวอร์แบงค์
- หลังจากนั้นสำหรับด้านซ้ายจะมีลักษณะเหมือนกับด้านซ้ายมือด้านขวา แต่ไม่มีรู
- สุดท้ายนี้สำหรับด้านหน้าเราต้องการรูอีกรูหนึ่งสำหรับขั้วต่อแบตเตอรี่ 9V ที่จะออกจากกล่องเพื่อให้เราสามารถเปลี่ยนแบตเตอรี่ได้อย่างง่ายดายเมื่อเราหมดไฟเช่นเดียวกับการปิดสวิตช์เพื่อป้องกันการสิ้นเปลือง ของพลังงานแบตเตอรี่ ส่วนอีกอันสำหรับไมโครโฟนของ KY-037 เพื่อให้แน่ใจว่าอุปกรณ์สามารถตรวจจับการเปลี่ยนแปลงของเสียงในสภาพแวดล้อมได้
- ด้านล่างไม่มีรู ด้านหลังยังยึดแน่น
ขั้นตอนที่ 4: การสร้างแบบจำลอง
หลังจากที่เราได้วางแผนอย่างละเอียดแล้ว ตอนนี้เราจะต้องเข้าสู่กระบวนการสร้างแบบจำลองจริงๆ อย่างไรก็ตาม กระบวนการนี้จะง่ายเป็นพิเศษเมื่อเทียบกับขั้นตอนก่อนหน้า เพียงทำเช่นนี้:
- ตัดทั้งหกด้านในสเกลที่ให้มาในไฟล์ AutoCAD ด้วยกระดาษแข็งหรือใช้เลเซอร์คัท
- นำกาวเหนียวมาแปะที่ด้านข้างของชิ้นส่วนเพื่อประกอบเข้าด้วยกัน แต่ยังคงให้ด้านหลังออกเพื่อให้เราจัดเรียงส่วนประกอบภายในได้
- ติดขั้วต่อแบตเตอรี่ 9V ของคุณลงในรูที่เราตัดที่ด้านหน้าของรุ่น
- ติดโมดูลเซ็นเซอร์ตรวจจับเสียง KY-037 ของคุณลงในรูที่เราตัดแล้ว แต่อย่าลืมตัดให้กว้างขึ้นอีกหน่อย เส้นผ่านศูนย์กลางที่ฉันให้ไว้เป็นค่าโดยประมาณสำหรับส่วนประกอบ "ของฉัน" ซึ่งอาจแตกต่างกันไปในแต่ละส่วน รวมถึงส่วนสี่เหลี่ยม อาจกระแทกข้างทำให้ซุกไม่ดีพอ จำไว้
- ฉีกสติกเกอร์ด้านหลังเขียงหั่นขนมของคุณและติดไว้ด้านหลังชิ้นส่วนด้านหน้าของโมเดลของคุณ
-
วางเซอร์โวมอเตอร์ของคุณลงในรูที่เราได้ตัดออกที่ด้านบนของโมเดล
- ลองวางดินเหนียวเหนียวบางส่วนไว้ด้านหลังเซอร์โวมอเตอร์กับด้านข้างเพื่อเพิ่มความแข็งแกร่ง
- อย่าลืมติดเทปกาวสองหน้าเพื่อให้แข็งแรงขึ้น
- ดึงสาย USB ภายนอกของคุณออกจากรูที่เราตัดไว้ทางด้านขวามือของโครงสร้าง แล้วเชื่อมต่อกับพาวเวอร์แบงค์
- กาวด้านหลังของคุณเข้ากับโมเดล แต่ถ้าคุณไม่แน่ใจเกี่ยวกับงานของคุณและอาจยังต้องจัดเตรียมหรือซ่อมแซมอุปกรณ์ของคุณ ให้ใช้สก๊อตเทปกาวติดก่อน เพื่อที่คุณจะลอกออกได้ง่าย
ขั้นตอนที่ 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: เสร็จสิ้น
ตอนนี้คุณทำโปรเจ็กต์เสร็จแล้วซึ่งคุณสามารถเล่นกับ Sound Pulsing Switch เพื่อปิดไฟของคุณ แสดงว่าความเกียจคร้านของคุณจะไม่เป็นปัญหาอีกต่อไป! และจำไว้ว่าถ้าคุณทำโปรเจ็กต์นี้แล้ว แชร์ออนไลน์กับฉันและให้โลกรู้ เพื่อแสดงความมหัศจรรย์ของโปรเจ็กต์!
อยากรู้อยากเห็นและสำรวจต่อไป! ขอให้โชคดี!
แนะนำ:
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: 5 ขั้นตอน
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: การตวัดเป็นวิธีง่ายๆ ในการสร้างเกม โดยเฉพาะอย่างยิ่งเกมปริศนา นิยายภาพ หรือเกมผจญภัย
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: 3 ขั้นตอน
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: ในคำแนะนำนี้ เราจะทำการตรวจจับใบหน้าบน Raspberry Pi 4 ด้วย Shunya O/S โดยใช้ Shunyaface Library Shunyaface เป็นห้องสมุดจดจำใบหน้า/ตรวจจับใบหน้า โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อให้เกิดความเร็วในการตรวจจับและจดจำได้เร็วที่สุดด้วย
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: 3 ขั้นตอน
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: ในบทช่วยสอนนี้ ฉันจะแสดงขั้นตอนสำคัญในการติดตั้งปลั๊กอิน WordPress ให้กับเว็บไซต์ของคุณ โดยทั่วไป คุณสามารถติดตั้งปลั๊กอินได้สองวิธี วิธีแรกคือผ่าน ftp หรือผ่าน cpanel แต่ฉันจะไม่แสดงมันเพราะมันสอดคล้องกับ
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): 8 ขั้นตอน
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): ตัวแปลงสัญญาณเสียงล้ำเสียง L298N Dc ตัวเมียอะแดปเตอร์จ่ายไฟพร้อมขา DC ตัวผู้ Arduino UNOBreadboardวิธีการทำงาน: ก่อนอื่น คุณอัปโหลดรหัสไปยัง Arduino Uno (เป็นไมโครคอนโทรลเลอร์ที่ติดตั้งดิจิตอล และพอร์ตแอนะล็อกเพื่อแปลงรหัส (C++)
เครื่อง Rube Goldberg 11 ขั้นตอน: 8 ขั้นตอน
เครื่อง 11 Step Rube Goldberg: โครงการนี้เป็นเครื่อง 11 Step Rube Goldberg ซึ่งออกแบบมาเพื่อสร้างงานง่ายๆ ในรูปแบบที่ซับซ้อน งานของโครงการนี้คือการจับสบู่ก้อนหนึ่ง