สารบัญ:

เครื่องเก็บตัวอย่างเสียงที่ใช้ DFPlayer พร้อมเซนเซอร์แบบ Capacitive: 9 ขั้นตอน
เครื่องเก็บตัวอย่างเสียงที่ใช้ DFPlayer พร้อมเซนเซอร์แบบ Capacitive: 9 ขั้นตอน

วีดีโอ: เครื่องเก็บตัวอย่างเสียงที่ใช้ DFPlayer พร้อมเซนเซอร์แบบ Capacitive: 9 ขั้นตอน

วีดีโอ: เครื่องเก็บตัวอย่างเสียงที่ใช้ DFPlayer พร้อมเซนเซอร์แบบ Capacitive: 9 ขั้นตอน
วีดีโอ: อุปกรณ์เสียงที่ใช้กับ Arduino มีอะไรบ้าง ☯ RiD Finity 2024, กรกฎาคม
Anonim
เครื่องเก็บตัวอย่างเสียงที่ใช้ DFPlayer พร้อมเซนเซอร์แบบ Capacitive
เครื่องเก็บตัวอย่างเสียงที่ใช้ DFPlayer พร้อมเซนเซอร์แบบ Capacitive

บทนำ

หลังจากทดลองสร้างซินธิไซเซอร์หลายตัวแล้ว ฉันก็เริ่มสร้างเครื่องเก็บตัวอย่างเสียง ซึ่งสามารถจำลองเสียงได้ง่ายและราคาไม่แพง

เพื่อให้มีคุณภาพเสียงที่ดี (44.1 kHz) และความจุที่เพียงพอ จึงใช้โมดูล DFPlayer ซึ่งใช้การ์ดหน่วยความจำ micro SD เพื่อจัดเก็บข้อมูลสูงสุด 32 กิกะไบต์ โมดูลนี้สามารถเล่นเสียงได้ครั้งละหนึ่งเสียงเท่านั้น ดังนั้นเราจะใช้สองเสียง

ข้อกำหนดอีกประการสำหรับโครงการนี้คือ วงจรสามารถปรับให้เข้ากับอินเทอร์เฟซต่างๆ ได้ นั่นคือเหตุผลที่เราเลือกเซ็นเซอร์แบบคาปาซิทีฟแทนปุ่ม

เซ็นเซอร์แบบคาปาซิทีฟสามารถเปิดใช้งานได้เพียงแค่สัมผัสด้วยมือกับพื้นผิวโลหะใดๆ ที่เชื่อมต่อกับเซ็นเซอร์

สำหรับการอ่านเซ็นเซอร์เราจะใช้ Arduino nano เนื่องจากความสามารถและขนาดที่เล็ก

ลักษณะเฉพาะ

6 เสียงที่แตกต่างกัน

เปิดใช้งานโดยเซ็นเซอร์ capacitive

โพลีโฟนี 2 เสียงพร้อมกัน

ขั้นตอนที่ 1: วัสดุและเครื่องมือ

วัสดุและเครื่องมือ
วัสดุและเครื่องมือ
วัสดุและเครื่องมือ
วัสดุและเครื่องมือ

วัสดุ

Arduino นาโน

DFPlayer 2x

ไมโคร SD 2x

3.5 แจ็คเสียง

2.1 แจ็ค DC

กระดานทองแดง 10x10

เฟอริกคลอไรด์

ลวดบัดกรี

กระดาษถ่ายโอน PCB

เครื่องมือ

บัดกรีเหล็ก

เครื่องตัดตะกั่วส่วนประกอบ

คอมพิวเตอร์

เหล็ก

ซอฟต์แวร์

Arduino Ide

Kicad

ห้องสมุด ADTouch

ไลบรารี DFPlayer ที่รวดเร็ว

ขั้นตอนที่ 2: มันทำงานอย่างไร

ตัวอย่างทำงานดังนี้ โดยใช้ไลบรารี ADTouch เราแปลง 6 พอร์ตแอนะล็อกของ Arduino Nano เป็นเซ็นเซอร์ capacitive

ในฐานะที่เป็นเซ็นเซอร์ เราสามารถใช้โลหะใดๆ ที่เชื่อมต่อกับหมุดเหล่านี้โดยใช้สายเคเบิล

คุณสามารถอ่านเพิ่มเติมเกี่ยวกับไลบรารีและเซ็นเซอร์ capacitive ได้ที่ลิงค์ต่อไปนี้

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

โมดูล DFPlayer แต่ละโมดูลสามารถเล่นเสียงได้ครั้งละหนึ่งเสียงเท่านั้น ดังนั้นเพื่อให้สามารถสั่งเสียงได้ครั้งละ 2 เสียง เครื่องดนตรีจึงใช้ 2 โมดูล

ขั้นตอนที่ 3: แผนผัง

แผนผัง
แผนผัง

ในไดอะแกรมเราจะเห็นว่า Arduino และโมดูล DFPlayer ทั้งสองเชื่อมต่อกันอย่างไร

R1 และ R2 (1 k) ใช้สำหรับเชื่อมต่อโมดูลกับ DFPlayer

R 3 4 5 และ 6 (10k) ใช้สำหรับผสมเอาต์พุตของช่อง l และ r ของโมดูล

R 7 (330) คือความต้านทานการป้องกันของ LED ที่จะใช้เป็นตัวบ่งชี้ว่า Arduino กำลังได้รับพลังงาน

ขั้นตอนที่ 4: สร้าง PCB

สร้าง PCB
สร้าง PCB
สร้าง PCB
สร้าง PCB
สร้าง PCB
สร้าง PCB

ต่อไปเราจะผลิตเพลทโดยใช้วิธีการถ่ายเทความร้อนซึ่งอธิบายไว้ในคำแนะนำนี้:

มีแผ่นอิเล็กโทรด 6 แผ่นวางอยู่บนบอร์ดเพื่อให้ใช้ตัวอย่างได้โดยไม่ต้องใช้เซ็นเซอร์ภายนอก

ขั้นตอนที่ 5: การบัดกรีส่วนประกอบ

การบัดกรีส่วนประกอบ
การบัดกรีส่วนประกอบ
การบัดกรีส่วนประกอบ
การบัดกรีส่วนประกอบ
การบัดกรีส่วนประกอบ
การบัดกรีส่วนประกอบ

ต่อไปเราจะประสานส่วนประกอบ

อย่างแรกคือตัวต้านทาน

ขอแนะนำให้ใช้ส่วนหัวเพื่อติดตั้ง Arduino และโมดูลโดยไม่ต้องบัดกรีโดยตรง

ในการบัดกรีส่วนหัวเริ่มต้นด้วยหมุด จากนั้นตรวจสอบว่าอยู่ในตำแหน่งที่ดี จากนั้นจึงบัดกรีหมุดที่เหลือ

ในที่สุดเราจะประสานตัวเชื่อมต่อ

ขั้นตอนที่ 6: ติดตั้ง Libraries

ติดตั้งไลบรารี
ติดตั้งไลบรารี
ติดตั้งไลบรารี่
ติดตั้งไลบรารี่

ในโครงการนี้ เราจะใช้ไลบรารีสามแห่งที่เราจำเป็นต้องติดตั้ง:

SoftwareSerial.h

DFPlayerMini_Fast.h

ADCTouch.h

ในลิงค์ต่อไปนี้ คุณสามารถดูรายละเอียดวิธีการติดตั้งไลบรารี่ใน Arduino

www.arduino.cc/en/guide/libraries

ขั้นตอนที่ 7: รหัส

ตอนนี้เราสามารถอัปโหลดโค้ดไปยังบอร์ด Arduino ได้แล้ว

สำหรับสิ่งนี้เราต้องเลือกบอร์ด Arduino Nano

#รวม #รวม #รวม

int ref0, ref1, ref2, ref3, ref4, ref5; int th;

ซอฟต์แวร์Serial mySerial(8, 9); // RX, TX DFPlayerMini_Fast myMP3;

ซอฟต์แวร์Serial mySerial2(10, 11); // RX, TX DFPlayerMini_Fast myMP32;

การตั้งค่าเป็นโมฆะ () { int th = 550; // Serial.begin(9600); mySerial.begin(9600); mySerial2.begin(9600); myMP3.begin(mySerial); myMP32.begin(mySerial2); myMP3.volume(18); ref0 = ADCTouch.read(A0, 500); ref1 = ADCTouch.read (A1, 500); ref2 = ADCTouch.read (A2, 500); ref3 = ADCTouch.read (A3, 500); ref4 = ADCTouch.read (A4, 500); ref5 = ADCTouch.read (A5, 500);

}

วงเป็นโมฆะ () {

int total1 = ADCTouch.read(A0, 20); int total2 = ADCTouch.read (A1, 20); int total3 = ADCTouch.read (A2, 20); int total4 = ADCTouch.read (A3, 20); int total5 = ADCTouch.read (A4, 20); int total6 = ADCTouch.read(A5, 20);

ทั้งหมด 1 -= ผู้อ้างอิง 0; ทั้งหมด2 -= ref1; ทั้งหมด3 -= ref2; ทั้งหมด4 -= ref3; รวม 5 -= อ้างอิง 4; ทั้งหมด6 -= ref5; // // Serial.print(total1 > th); // Serial.print(total2 > th); // Serial.print(total3 > th); // Serial.print(total4 > th); // Serial.print(total5 > th); // Serial.println(total6 > th);

// Serial.print(รวม1); // Serial.print("\t"); // Serial.print(รวม2); // Serial.print("\t"); // Serial.print(รวม3); // Serial.print("\t"); // Serial.print(total4); // Serial.print("\t"); // Serial.print(รวม5); // Serial.print("\t"); // Serial.println(total6); if (total1 > 100 && total1 > th) { myMP32.play(1); // Serial.println("o1"); }

ถ้า (total2 > 100 && total2 > th) { myMP32.play(2); //Serial.println("o2"); }

ถ้า (total3 > 100 && total3 > th) {

myMP32.play(3); //Serial.println("o3");

}

if (total4 > 100 && total4 > th) {

myMP3.play(1); //Serial.println("o4");

}

ถ้า (total5 > 100 && total5 > th) {

myMP3.play(2); //Serial.println("o5");

}

ถ้า (total6 > 100 && total6 > th) {

myMP3.play(3); //Serial.println("o6");

} // ไม่ทำอะไรล่าช้า(1); }

ขั้นตอนที่ 8: โหลดเสียงลงในการ์ดหน่วยความจำ

ตอนนี้คุณสามารถโหลดเสียงของคุณในการ์ด micro SD

รูปแบบต้องเป็น 44.1 kHz และ 16 บิต wav

คุณต้องอัปโหลด 3 เสียงในการ์ด SD แต่ละใบ

ขั้นตอนที่ 9: อินเทอร์เฟซ

Image
Image

ในขณะนี้ คุณสามารถเรียกใช้แซมเพลอร์ของคุณด้วยแพดใน PCB ได้แล้ว แต่คุณยังคงมีความเป็นไปได้ในการปรับแต่ง เลือกเคสและวัตถุหรือพื้นผิวโลหะต่างๆ เพื่อใช้เป็นเซ็นเซอร์

ในกรณีนี้ ฉันใช้หัวข้อมือ 3 อัน ซึ่งฉันใส่สกรูโลหะเป็นเสียงสัมผัสโลหะ

เมื่อต้องการทำเช่นนี้ ให้ต่อสกรูเข้ากับหมุดของบอร์ดโดยใช้สายเคเบิล

คุณสามารถใช้วัตถุที่เป็นโลหะ เทปนำไฟฟ้า หรือทดลองกับหมึกนำไฟฟ้าได้

แนะนำ: