สารบัญ:

Soundplant + 2 Bareconductive Boards = 24 Input Digital Instrument: 7 Steps
Soundplant + 2 Bareconductive Boards = 24 Input Digital Instrument: 7 Steps

วีดีโอ: Soundplant + 2 Bareconductive Boards = 24 Input Digital Instrument: 7 Steps

วีดีโอ: Soundplant + 2 Bareconductive Boards = 24 Input Digital Instrument: 7 Steps
วีดีโอ: Soundplant + 2 Bareconductive Boards = 24 Input Digital Instrument 2024, พฤศจิกายน
Anonim
Soundplant + 2 Bareconductive Boards = 24 Input Digital Instrument
Soundplant + 2 Bareconductive Boards = 24 Input Digital Instrument

โครงการนี้เป็นเอกสารสำหรับโครงการทำงานผ่านงานของฉันที่ CEISMC (Center of Education Integrating Science, Mathematics และ Computing) CEISMC เป็นหน่วยงานด้านการศึกษาของ Georgia Tech ในเมืองแอตแลนตา รัฐจอร์เจีย โปรแกรมที่ฉันเข้าร่วมคือ "GoSteam" คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับโปรแกรมได้ที่นี่:

เครื่องมือดิจิทัล 24 อินพุทนี้จะใช้กับ Soundplant (ลิงค์ดาวน์โหลดด้านล่าง) เราจะเขียนโค้ดเครื่องมือนี้โดยใช้ Arduino (ลิงก์ดาวน์โหลดด้านล่าง) เราจะ 'หลอก' คอมพิวเตอร์ให้อ่านบอร์ด Bareconductive เหมือนกับแป้นพิมพ์ปกติ ทุกครั้งที่คุณสัมผัสเซ็นเซอร์ในบอร์ด Bareconductive จะส่ง 'การกดแป้น' ไปยัง Soundplant และจะเล่นตัวอย่างที่กำหนด นี่คือลิงค์ที่อธิบายวิธีที่ Bareconductive Touch Boards ใช้การสัมผัสแบบ capacitive เพื่อส่งสัญญาณ

เหตุใดเราจึงใช้ Bareconductive Touch Boards แทนคีย์บอร์ดสองตัว

โปรเจ็กต์นี้เป็นส่วนหนึ่งของโครงการสร้างเสริมความห่างไกลทางสังคมสำหรับครูสอนดนตรีระดับประถมศึกษา ในสถานการณ์ปกติ เด็กๆ จะแลกเปลี่ยนและแบ่งปันตราสาร ขออภัย เราไม่สามารถทำเช่นนี้ได้อีกต่อไปเนื่องจาก COVID-19 เครื่องมือนี้จะใช้กับรูปทรงที่เป็นสื่อกระแสไฟฟ้าของเด็กๆ (กระดาษแข็งห่อด้วยฟอยล์อลูมิเนียม)

เสบียง

1. สอง (2) - บอร์ดสัมผัสแบบ Bareconductive (ซึ่งจะให้อินพุตทั้งหมด 24 รายการ)

2. ติดตั้งซอฟต์แวร์ Arduino ไว้ล่วงหน้า **คุณต้องติดตั้ง PRIOR นี้เพื่อติดตั้ง Touchboard Library**

หากคุณยังไม่ได้ติดตั้งสิ่งนี้ นี่คือลิงค์ไปยังเว็บไซต์ของพวกเขา ฟรี แต่พิจารณาบริจาค:)

3. Touchboard Library (จาก Bareconductive)

สิ่งนี้จะให้ห้องสมุดสำหรับ Arduino เพื่อดึงรหัสที่สร้างไว้ล่วงหน้าสำหรับบอร์ด Bareconductive (มีประโยชน์มาก)

4. Soundplant - ซอฟต์แวร์นี้เปลี่ยนคีย์บอร์ดคอมพิวเตอร์ของคุณให้เป็นอุปกรณ์ทริกเกอร์เสียง

5. ตัวอย่าง 24 ตัวอย่างที่คุณเลือก www.freesound.org และ www.archive.org เป็นจุดเริ่มต้นที่ดีในการค้นหาเสียงที่ไม่มีค่าลิขสิทธิ์

ขั้นตอนที่ 1: การเตรียมรหัสสำหรับบอร์ด Bareconductive ทั้งสองแผ่น

การเตรียม Code ของ Bareconductive Boards ทั้งสองชุด
การเตรียม Code ของ Bareconductive Boards ทั้งสองชุด

ขั้นตอนแรกที่เราจะทำคือเตรียมบอร์ด Bareconductive ทั้ง 2 บอร์ดสำหรับส่ง 'การกดแป้น' ไปยัง Soundplant สิ่งนี้จะทำให้เราต้องสร้างไฟล์ arduino.ino แยกกันสองไฟล์ (.ino เป็นรูปแบบไฟล์ Arduino ดั้งเดิม)

ก่อนอื่นให้เปิด Arduino เมื่อโหลดแล้ว ให้ไปที่ File -> Sketchbook -> Touch Board Examples -> HID_Keyboard

เมื่อเปิดแล้ว เราจะดำเนินการต่อและ 'บันทึกเป็น' และติดป้ายกำกับว่า 'Soundplant_BCTB_1of2'

จากนั้นให้ 'บันทึกเป็น' อีกครั้งและติดป้ายกำกับไฟล์ใหม่นี้ว่า 'Soundplant_BCTB_2of2' ดังนั้นตอนนี้เรามีไฟล์สอง (2) ไฟล์: Soundplant_BCTB_1of2.ino และSoundplant_BCTB_2of2.ino

ขั้นตอนที่ 2: Soundplant_BCTB_1of2.ino PREP

Soundplant_BCTB_1of2.ino PREP
Soundplant_BCTB_1of2.ino PREP

ใน Soundplant_BCTB_1of2 ภายใต้ // ค่าคงที่พฤติกรรมแป้นพิมพ์ เราจะเปลี่ยนค่าคงที่สองค่า

1. ค่าคงที่แรกที่เราจะเปลี่ยนคือ const bool HOLD_KEY = true; เราจะเปลี่ยน 'จริง' เป็น 'เท็จ'

เมื่อเปลี่ยนเป็น 'เท็จ' ระบบจะส่งการกดแป้นพิมพ์ครั้งเดียว (เปิด/ปิด) ไปยัง Soundplant วิธีนี้จะช่วยให้ประสิทธิภาพของเครื่องดนตรีดิจิทัลนี้มีความเป็นอินทรีย์เพิ่มขึ้นอีกเล็กน้อยและตอบสนองเหมือนเครื่องดนตรีอะคูสติกแบบดั้งเดิม

2. ค่าคงที่ที่สองที่เราจะเปลี่ยนคือ const char KEY_MAP[12] = {'J', 'U', 'H', 'Y', 'G', 'T', 'F', 'D', ' E', 'S', 'W', 'A'}; ตัวอักษรเหล่านี้สามารถเป็นอะไรก็ได้ที่คุณต้องการ สำหรับโครงการนี้ เราจะเปลี่ยนเป็น {'Q', 'W', 'E', 'R', 'T', 'Y', 'U', 'I', 'O', 'P', 'เช่น'};

**** โปรดทราบว่าตัวอักษรแต่ละตัวต้องมีเครื่องหมายคำพูดลอยตัวเดียวก่อนและหลังตัวอักษรพิมพ์ใหญ่แต่ละตัว ตามด้วยเครื่องหมายจุลภาค เช่น { 'A', 'B', 'C', …}****

สิ่งนี้จะกำหนดอิเล็กโทรด E0-E11 บน Bareconductive Touch Board1 จาก 2

ขั้นตอนที่ 3: Soundplant_BCTB_2of2.ino PREP

Soundplant_BCTB_2of2.ino PREP
Soundplant_BCTB_2of2.ino PREP

ใน Soundplant_BCTB_2of2 ภายใต้ // ค่าคงที่พฤติกรรมแป้นพิมพ์ เราจะเปลี่ยนค่าคงที่สองค่า

1. ค่าคงที่แรกที่เราจะเปลี่ยนคือ const bool HOLD_KEY = true; เราจะเปลี่ยน 'จริง' เป็น 'เท็จ'

เมื่อเปลี่ยนเป็น 'เท็จ' ระบบจะส่งการกดแป้นพิมพ์ครั้งเดียว (เปิด/ปิด) ไปยัง Soundplant วิธีนี้จะช่วยให้ประสิทธิภาพของเครื่องดนตรีดิจิทัลนี้มีความเป็นอินทรีย์เพิ่มขึ้นอีกเล็กน้อยและตอบสนองเหมือนเครื่องดนตรีอะคูสติกแบบดั้งเดิม

2. ค่าคงที่ที่สองที่เราจะเปลี่ยนคือ const char KEY_MAP[12] = {'J', 'U', 'H', 'Y', 'G', 'T', 'F', 'D', ' E', 'S', 'W', 'A'}; ตัวอักษรเหล่านี้สามารถเป็นอะไรก็ได้ที่คุณต้องการ สำหรับโครงการนี้ เราจะเปลี่ยนเป็น {'D', 'F', 'G', 'H', 'J', 'K', 'L', 'Z', 'X', 'C', 'วี', 'บี'};

**** โปรดทราบว่าตัวอักษรแต่ละตัวต้องมีเครื่องหมายคำพูดลอยตัวเดียวก่อนและหลังตัวอักษรพิมพ์ใหญ่แต่ละตัว ตามด้วยเครื่องหมายจุลภาค เช่น { 'A', 'B', 'C', …}****

องค์กรนี้จัดกลุ่มตัวอย่างโดยใช้ปุ่มตัวอักษรบนแป้นพิมพ์เท่านั้นเพื่อให้ทุกอย่างง่ายขึ้น

สิ่งนี้จะกำหนดอิเล็กโทรด E0-E11 บน Bareconductive Touch Board 2 จาก 2

ขั้นตอนที่ 4: การตั้งค่าซอฟต์แวร์ Arduino เพื่ออ่านทัชบอร์ด

การตั้งค่าซอฟต์แวร์ Arduino เพื่ออ่านทัชบอร์ด
การตั้งค่าซอฟต์แวร์ Arduino เพื่ออ่านทัชบอร์ด
การตั้งค่าซอฟต์แวร์ Arduino เพื่ออ่านทัชบอร์ด
การตั้งค่าซอฟต์แวร์ Arduino เพื่ออ่านทัชบอร์ด

ในการส่งไฟล์.ino ไปยัง Touch Board ก่อนอื่นเราต้องตรวจสอบให้แน่ใจว่าซอฟต์แวร์ Arduino อ่านบอร์ดได้อย่างถูกต้อง

เสียบบอร์ดของคุณเข้ากับคอมพิวเตอร์โดยตรง ไม่ใช่ผ่านฮับ USB เพราะอาจทำให้ซอฟต์แวร์ Arduino ไม่อ่านบอร์ดเลย พลิกสวิตช์เปิดปิดบน Touchboard ไปที่ ON

ไปที่ Tools -> Boards -> Bareconductive Boards -> Bareconductive Touch Board ***อย่าลืมเลือก Bareconductive Board ไม่ใช่ Bareconductive Board USB MIDI***

ไปที่ Tools -> Port -> /dev/cu.usbmodem(XXXX) (XXXX จะแตกต่างกันไปสำหรับทุกคน)

ขั้นตอนที่ 5: ดาวน์โหลดรหัสไปยัง Touch Boards

กำลังดาวน์โหลดรหัสไปยัง Touch Boards
กำลังดาวน์โหลดรหัสไปยัง Touch Boards
กำลังดาวน์โหลดรหัสไปยัง Touch Boards
กำลังดาวน์โหลดรหัสไปยัง Touch Boards

ขั้นตอนนี้จะเหมือนกันสำหรับทั้งสองบอร์ด เพียงแค่มีไฟล์ต่างกันสำหรับแต่ละบอร์ด

เมื่อเชื่อมต่อบอร์ดแล้วและกำลังอ่านอย่างถูกต้อง ให้โหลดไฟล์.ino Soundplant_BCTB_1of2 ลงบนบอร์ดสัมผัสแรก

ที่มุมซ้ายมือของหน้าต่างมีวงกลมสองวง:

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

อีกปุ่มหนึ่งคืออัปโหลด กดปุ่มนี้แล้วคุณจะเห็น 'กำลังอัปโหลด…' ที่ด้านล่าง และคุณจะเห็น LED 4 ดวงบนแฟลชทัชบอร์ด (L, Tx, Rx) หากทุกอย่างเรียบร้อย พวกเขาจะกะพริบสองสามวินาทีแล้วดับไป

ก่อนที่เราจะไปที่ซอฟต์แวร์ Soundplant ให้แตะอิเล็กโทรดสองสามตัวบน Touchboard แล้วคุณจะเห็นไฟ LED สว่างขึ้น ความสำเร็จ!!

เมื่ออันแรกใช้งานได้ ให้ทำซ้ำขั้นตอนกับ Touch Board อันที่สองโดยอัปโหลด Soundplant_BCTB_2of2 ลงใน Touch Board อันที่สอง คุณจะต้องตรวจสอบให้แน่ใจว่าคุณได้เลือกบอร์ดและพอร์ตที่ถูกต้องสำหรับบอร์ดที่สองด้วยเช่นกัน

ขั้นตอนที่ 6: วางตัวอย่างลงใน Soundplant

การวางตัวอย่างลงใน Soundplant
การวางตัวอย่างลงใน Soundplant
การวางตัวอย่างลงใน Soundplant
การวางตัวอย่างลงใน Soundplant

เอาล่ะนี่คือส่วนที่สนุก! เราจะนำตัวอย่างที่เตรียมไว้มาไว้ในซอฟต์แวร์ Soundplant เพื่อเริ่มจัดวาง KEYMAP ของเรา KEYMAP นี้คือสิ่งที่เราจะโหลดเพื่อให้แน่ใจว่าตัวอย่างทั้งหมดถูกโหลดทุกครั้งที่เราเปิดซอฟต์แวร์

เนื่องจากโค้ดของเราถูกตั้งค่าให้ทำงานเฉพาะกับคีย์ที่กำหนดในค่าคงที่ const char KEY_MAP[12] เราจะเริ่มด้วยตัวอักษร 'Q'

คุณสามารถลากและวางตัวอย่างลงใน Soundplant ได้โดยตรงบนคีย์ที่คุณเลือก สำหรับตัวอย่างนี้ เราใช้ 'Q' เพื่อเริ่มต้น

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

ภายใต้พื้นที่ 'KEYMODE' เราจะเลือก 'รีสตาร์ท' แทน 'sustain' การวางสิ่งนี้ในโหมดรีสตาร์ทจะรีสตาร์ทตัวอย่างและเล่นเพียงหนึ่งอินสแตนซ์ของตัวอย่าง ในโหมด Sustain การกดแป้นพิมพ์ทุกครั้งจะเพิ่มตัวอย่างอื่นไปยังเพลย์ลิสต์ทางด้านขวาสุดของหน้าต่าง Soundplant การตั้งค่านี้เพื่อรีสตาร์ทจะช่วยให้การประมวลผลโหลดบน CPU ของคอมพิวเตอร์ของคุณลดลง

เมื่อคุณตั้งค่าตัวอย่างแรกของคุณตามการตั้งค่าข้างต้นแล้ว ให้ล้างและทำซ้ำสำหรับตัวอย่างที่เหลือทั้ง 23 ตัวอย่างของคุณ!

ขั้นตอนที่ 7: บันทึก KEYMAP ของคุณด้วยเสียง

การบันทึก KEYMAP ของคุณด้วยเสียง
การบันทึก KEYMAP ของคุณด้วยเสียง
การบันทึก KEYMAP ของคุณด้วยเสียง
การบันทึก KEYMAP ของคุณด้วยเสียง

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

มองหาลำโพงตัวเล็กข้างไอคอนบันทึก (ฟลอปปีดิสก์สำหรับคนรุ่นเก่าอย่างเรา) แล้วคลิก

ซึ่งจะแจ้งให้คุณตั้งชื่อโฟลเดอร์ตามชื่อโครงการของคุณ เลือกชื่อของคุณและคลิก 'บันทึกโฟลเดอร์'

เมื่อบันทึกแล้ว คุณจะเห็นโฟลเดอร์ที่มีคีย์แมปและตัวอย่างที่คุณดูแลจัดการ

ตอนนี้ เมื่อคุณพร้อมที่จะเปิดชุดตัวอย่างนี้อีกครั้ง เพียงดับเบิลคลิกที่ไฟล์.keymap ภายในโฟลเดอร์ใหม่ของคุณ แล้วมันจะโหลดคีย์แมปและตัวอย่าง!

ยินดีด้วย!