สารบัญ:

Wearable Tech: ถุงมือเปลี่ยนเสียง: 7 ขั้นตอน
Wearable Tech: ถุงมือเปลี่ยนเสียง: 7 ขั้นตอน

วีดีโอ: Wearable Tech: ถุงมือเปลี่ยนเสียง: 7 ขั้นตอน

วีดีโอ: Wearable Tech: ถุงมือเปลี่ยนเสียง: 7 ขั้นตอน
วีดีโอ: อะไรเอ่ย #สิว #สิวอุดตัน #สิวอักเสบ #สิวเห่อ #รอยสิว #รักษาสิว #เล็บเท้า #satisfying 2024, พฤศจิกายน
Anonim
Wearable Tech: ถุงมือเปลี่ยนเสียง
Wearable Tech: ถุงมือเปลี่ยนเสียง
Wearable Tech: ถุงมือเปลี่ยนเสียง
Wearable Tech: ถุงมือเปลี่ยนเสียง

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

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

โครงการนี้เป็นส่วนหนึ่งของความร่วมมือในชุมชนระหว่างนักศึกษา Pomona College และ Fremont Academy of Engineering Femineers เป็นการผสมผสานที่สนุกอย่างแท้จริงระหว่างวิศวกรรมอิเล็กทรอนิกส์และองค์ประกอบดนตรีอิเล็กทรอนิกส์!

ขั้นตอนที่ 1: วัสดุ

วัสดุ
วัสดุ
วัสดุ
วัสดุ
วัสดุ
วัสดุ

อะไหล่:

  • ไมโครคอนโทรลเลอร์ HexWear (ATmega32U4) (https://hexwear.com/)
  • MMA8451 มาตรความเร่ง (https://www.adafruit.com/product/2019)
  • เซนเซอร์แบบงอสั้น (x4) (https://www.adafruit.com/product/1070)
  • ถุงมือวิ่งน้ำหนักเบา
  • #2 สกรูและแหวนรอง (x8)
  • ขั้วต่อขั้วต่อแบบจีบ; เกจ 22-18 (x8) (https://www.elecdirect.com/crimp-wire-terminals/ring-crimp-terminals/pvc-ring-terminals/ring-terminal-pvc-red-22-18-6- 100pk)
  • ตัวต้านทาน50kΩ (x4)
  • ลวด (~ 20 เกจ)
  • หมุดนิรภัยแบบมีกาวในตัว
  • สักหลาดหรือผ้าอื่นๆ (~10 ตร.นิ้ว)
  • ด้ายเย็บผ้า
  • Zipties
  • แล็ปท็อป
  • ไมโครโฟน USB

เครื่องมือ

  • ชุดบัดกรี
  • เครื่องปอกสายไฟและเครื่องตัดลวด
  • เทปพันสายไฟ
  • ปืนลมร้อน
  • ไขควง
  • กรรไกร
  • เข็มเย็บผ้า

ซอฟต์แวร์:

  • แม็กซ์ บาย ไซเคิล '74 (https://cycling74.com)
  • ซอฟต์แวร์ Arduino (https://www.arduino.cc/en/Main/Software)

ขั้นตอนที่ 2: การติดตั้งซอฟต์แวร์

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

Arduino:

ดาวน์โหลดและติดตั้งซอฟต์แวร์ Arduino (https://www.arduino.cc/en/Main/Software)

HexWear:

1) (Windows เท่านั้น ผู้ใช้ Mac สามารถข้ามขั้นตอนนี้ได้) ติดตั้งไดรเวอร์โดยไปที่ https://www.redgerbera.com/pages/hexwear-driver-installation ดาวน์โหลดและติดตั้งไดรเวอร์ (ไฟล์.exe ที่ระบุไว้ในขั้นตอนที่ 2 ที่ด้านบนของหน้า RedGerbera ที่เชื่อมโยง)

2) ติดตั้งไลบรารีที่จำเป็นสำหรับ Hexware เปิด Arduino IDE ภายใต้ "ไฟล์" เลือก "การตั้งค่า" ในพื้นที่ที่ให้ไว้สำหรับ URL ตัวจัดการบอร์ดเพิ่มเติม ให้วาง

github.com/RedGerbera/Gerbera-Boards/raw/master/package_RedGerbera_index.json

จากนั้นคลิก "ตกลง"

ไปที่เครื่องมือ -> บอร์ด: -> ผู้จัดการบอร์ด จากเมนูมุมซ้ายบน ให้เลือก "มีส่วนร่วม"

ค้นหา จากนั้นคลิกที่ Gerbera Boards แล้วคลิก Install ออกจากและเปิด Arduino IDE ใหม่

เพื่อให้แน่ใจว่าไลบรารีได้รับการติดตั้งอย่างถูกต้อง ให้ไปที่เครื่องมือ -> บอร์ด และเลื่อนไปที่ด้านล่างของเมนู คุณควรเห็นส่วนที่ชื่อว่า "Gerbera Boards" ซึ่งควรมี HexWear ปรากฏเป็นอย่างน้อย (ถ้าไม่ใช่บอร์ดอื่นๆ เช่น mini-HexWear)

มาตรความเร่ง:

ดาวน์โหลดและติดตั้งไลบรารี accelerometer (https://learn.adafruit.com/adafruit-mma8451-accelerometer-breakout/wiring-and-test)

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

การติดมาตรความเร่ง
การติดมาตรความเร่ง
การติดมาตรความเร่ง
การติดมาตรความเร่ง

เราต้องการเซ็นเซอร์หลักสองประเภทเพื่อโต้ตอบกับโครงการนี้: มาตรความเร่งและเซ็นเซอร์แบบยืดหยุ่น เราจะตรวจสอบทีละรายการโดยเริ่มจากมาตรวัดความเร่ง ขั้นแรก เราจำเป็นต้องมีการเชื่อมต่อฮาร์ดแวร์เพื่อให้ตรงกัน

เพื่อหลีกเลี่ยงไม่ให้ Hex ของคุณเสียหาย เราแนะนำให้ใส่สกรู #2 และแหวนรองผ่านพอร์ตที่ต้องการ จากนั้นจึงต่อการเชื่อมต่อทั้งหมดเข้ากับสกรูตัวนั้น เพื่อป้องกันไม่ให้สิ่งใดหลุดออกมาขณะเล่นถุงมือ ควรบัดกรีและ/หรือจีบข้อต่อ ใช้ลวดสองสามนิ้วสำหรับการเชื่อมต่อแต่ละครั้ง ทำการเชื่อมต่อต่อไปนี้จาก Hex ไปยังมาตรความเร่ง (ดูพินด้านบนสำหรับการอ้างอิง):

แรงดันไฟฟ้าขาเข้า GROUNDROUND GNDSCL/D3 SCLSDA/D2 SDA

เราพร้อมที่จะทดสอบแล้ว!

ในการทดสอบ ให้รันโค้ดตัวอย่างมาตรความเร่งใน Arduino (ไฟล์->ตัวอย่าง->Adafruit_MMA8451->MMA8451demo) ตรวจสอบให้แน่ใจว่าสามารถส่งออกไปยังจอภาพแบบอนุกรมได้ มันควรจะส่งออกความเร่งเนื่องจากแรงโน้มถ่วง (~10m/s) ในทิศทาง z เมื่อรักษาระดับ การเอียงตัวมาตรความเร่งจะวัดความเร่งในทิศทาง x หรือ y เราจะใช้สิ่งนี้เพื่อให้ผู้สวมใส่เปลี่ยนเสียงด้วยการหมุนมือ!

ตอนนี้ เราต้องนำเสนอข้อมูลมาตรความเร่งในลักษณะที่สามารถเชื่อมต่อกับ Max ได้ ในการทำเช่นนั้น เราต้องพิมพ์ค่าของ x และ y ซึ่งอาจแก้ไขเพื่อให้ตรงกับช่วงที่ต้องการ (ดูส่วนที่ 6) ในรหัสของเราที่แนบมาที่นี่ เราทำสิ่งต่อไปนี้:

//วัดทิศทางแกน x และทิศทาง y เราแบ่งและคูณเพื่อให้ได้ช่วงที่ถูกต้องสำหรับ MAX (ช่วง 1000 ใน x และช่วง 40 ใน y) xdir = event.acceleration.x/0.02; ydir = abs(event.acceleration.y)*2; //พิมพ์ทุกอย่างในรูปแบบที่อ่านได้สำหรับ Max - โดยมีช่องว่างระหว่างแต่ละหมายเลข Serial.print(xdir); Serial.print(" ");

สิ่งนี้ควรให้เลขฐานสิบหกพิมพ์ค่าที่แก้ไขของทิศทาง x และ y ของมาตรความเร่งทุกบรรทัด ตอนนี้เราพร้อมที่จะเพิ่มเซ็นเซอร์แบบยืดหยุ่นแล้ว!

ขั้นตอนที่ 4: การติด Flex Sensors

การติด Flex Sensors
การติด Flex Sensors
การติด Flex Sensors
การติด Flex Sensors
การติด Flex Sensors
การติด Flex Sensors

ผู้สวมใส่สามารถรับการควบคุมเสียงที่อาจเกิดขึ้นได้มากมายหากเราสามารถตรวจจับการงอนิ้วได้ เซ็นเซอร์แบบยืดหยุ่นจะทำอย่างนั้น เซ็นเซอร์แบบยืดหยุ่นแต่ละตัวโดยพื้นฐานแล้วจะเป็นโพเทนชิออมิเตอร์ โดยที่เซ็นเซอร์แบบไม่งอจะมีความต้านทาน ~25KΩ ในขณะที่เมื่องอเต็มที่จะมีความต้านทาน ~100KΩ เราใส่เซ็นเซอร์แบบยืดหยุ่นแต่ละตัวในตัวแบ่งแรงดันไฟฟ้าแบบง่ายพร้อมตัวต้านทาน 50K ดังที่แสดงในภาพแรก

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

ตอนนี้เราต้องการรหัส Arduino เพื่ออ่านแรงดันไฟฟ้าจากเซ็นเซอร์แต่ละตัว เพื่อจุดประสงค์ของเรา เราถือว่าเซ็นเซอร์แบบยืดหยุ่นเป็นสวิตช์ พวกเขาเปิดหรือปิด ดังนั้นรหัสของเราจึงตั้งค่าเกณฑ์แรงดันไฟฟ้าที่สูงกว่าเกณฑ์นี้ เราส่งออก 1 ไปยังพอร์ตอนุกรม (หมายความว่าเซ็นเซอร์งอ) มิฉะนั้นเราจะส่งออกเป็น 0:

// เอาเลข

ตัวอย่างแอนะล็อกและรวมเข้ากับเซ็นเซอร์แบบยืดหยุ่นแต่ละตัว

ในขณะที่ (sample_count < NUM_SAMPLES) {

sum10 += analogRead (A10);

sum9 += analogRead (A9);

sum7 += analogRead (A7);

sum11 += analogRead (A11);

sample_count++;

//รอช้าอย่ารีบเร่ง

ล่าช้า(5);

}

// คำนวณแรงดันไฟฟ้า

การหาค่าเฉลี่ยจากกลุ่มตัวอย่างที่รวดเร็ว

// ใช้ 5.0 สำหรับ 5.0V ADC

แรงดันอ้างอิง

// 5.015V คือค่าที่ปรับเทียบแล้ว

แรงดันอ้างอิง

แรงดันไฟฟ้า 10 = ((ลอย) sum10 /

(ลอย)NUM_SAMPLES * 5.015) / 1024.0;

แรงดันไฟฟ้า 9 = ((ลอย) sum9/

(ลอย)NUM_SAMPLES * 5.015) / 1024.0;

แรงดันไฟฟ้า7 = ((ลอย) sum7 /

(ลอย)NUM_SAMPLES * 5.015) / 1024.0;

แรงดันไฟ 11 = ((ลอย) sum11 /

(ลอย)NUM_SAMPLES * 5.015) / 1024.0;

// ตรวจสอบว่าเซ็นเซอร์แบบยืดหยุ่นแต่ละตัวหรือไม่

มากกว่าเกณฑ์ (thresh) - ถ้าใช่ ให้ตั้งค่าตัวเลข

//นิ้วก้อย

ถ้า (voltage10 > นวด)

{

//-5 เพิ่ม

ระดับเสียงหนึ่งอ็อกเทฟ

flex10 = -10;

}

อื่น ๆ flex10 = 0;

//แหวน

ถ้า (voltage9 >

(thresh-0.4)) {

///5 ลงไป

ระดับเสียงหนึ่งอ็อกเทฟ

flex9 = 5;

}

อื่น ๆ flex9 = 0;

//นิ้วกลาง

ถ้า (voltage7 > นวด) {

///1 เพื่อตั้งค่า

เอฟเฟกต์เสียงสะท้อน

flex7 = 1;

}

อื่น ๆ flex7 = 0;

//นิ้วชี้

ถ้า (voltage11 > นวด)

{

//50 เพื่อตั้งค่า

รอบถึง50

flex11 = 93;

}

อื่น ๆ flex11 = 0;

//รีเซ็ตการนับทั้งหมด

ตัวแปรเป็น 0 สำหรับลูปถัดไป

sample_count = 0;

sum10 = 0;

sum9 = 0;

sum7 = 0;

sum11 = 0;

ณ จุดนี้ พอร์ตอนุกรมควรแสดงค่าสำหรับการวางแนวมาตรความเร่ง และดูว่าเซ็นเซอร์แบบโค้งงอแต่ละตัวหรือไม่ เราพร้อมแล้วที่จะให้โค้ด Arduino ของเราคุยกับ Max!

ขั้นตอนที่ 5: เชื่อมต่อกับ Max

เชื่อมต่อกับ Max
เชื่อมต่อกับ Max

ตอนนี้รหัส Hex กำลังคายตัวเลขจำนวนมากผ่านพอร์ต Serial เราจึงต้องใช้ซอฟต์แวร์ Max เพื่ออ่านสัญญาณเหล่านี้ บล็อกของรหัสภาพด้านบนทำอย่างนั้น! คุณยินดีอย่างมาก.

หมายเหตุสำคัญ: หลังจากอัปโหลดรหัสไปยัง Hex แล้ว ให้ปิดหน้าต่างพอร์ตอนุกรมทั้งหมด จากนั้นเปลี่ยนตัวอักษรในวงกลมในโค้ด Max เพื่อให้ตรงกับพอร์ต Hex หากคุณไม่แน่ใจว่าต้องตั้งค่าตัวอักษรใด การกดส่วน "พิมพ์" ของรหัส Max จะแสดงรายการพอร์ตที่เชื่อมต่อทั้งหมด

บรรทัดที่พิมพ์จากพอร์ตอนุกรมของ Hex จะอ่านผ่านบล็อกโค้ด Max แล้วแยกตามตัวคั่นช่องว่าง เอาต์พุตที่ส่วนท้ายของบล็อก Max ช่วยให้คุณจับแต่ละหมายเลขได้ ดังนั้นเราจะเชื่อมต่อพื้นที่เอาต์พุตแรกกับตำแหน่งที่เราต้องการให้ทิศทาง x ของมาตรความเร่งไป ช่องว่างที่สองจะเป็นทิศทาง y เป็นต้น สำหรับ ตอนนี้ เพียงเชื่อมต่อสิ่งเหล่านี้กับบล็อคตัวเลขเพื่อให้แน่ใจว่ามันใช้งานได้ คุณควรจะสามารถย้ายมาตรความเร่งและเซ็นเซอร์แบบยืดหยุ่นได้ และเห็นการเปลี่ยนแปลงตัวเลขในซอฟต์แวร์ Max

ขั้นตอนที่ 6: สร้างส่วนที่เหลือของ Max Code

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

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

เคล็ดลับการแก้ไขปัญหา Max อื่นๆ:

  • หากคุณไม่ได้ยินเสียง

    • ตรวจสอบให้แน่ใจว่า Max ได้รับการตั้งค่าให้รับสัญญาณเสียงจากไมโครโฟนของคุณ (Options Audio Status Input Device)
    • ตรวจสอบให้แน่ใจว่าได้เปิดแถบเลื่อนระดับเสียงหลักใน Max และตัวควบคุมระดับเสียงอื่น ๆ ที่คุณอาจมีในรหัสของคุณ
  • ถ้าโค้ดดูเหมือนไม่มีอะไรทำ

    • ตรวจสอบให้แน่ใจว่าแพทช์ของคุณถูกล็อค (สัญลักษณ์ล็อคที่มุมล่างซ้าย)
    • ตรวจสอบผ่านการอ่านข้อมูลในโปรแกรมแก้ไข Max ว่าโปรแกรมแก้ไข Max ของคุณยังคงได้รับข้อมูลจากพอร์ตอนุกรม Arduino หากไม่เป็นเช่นนั้น ให้ลองรีเซ็ตพอร์ตอนุกรม (ตามที่อธิบายไว้ในขั้นตอนที่ 5) และ/หรือตรวจสอบการเชื่อมต่อสายไฟทางกายภาพของคุณ
  • เสียงคลิปแปลก ๆ เมื่อเปลี่ยนพารามิเตอร์

    นี่คือสิ่งที่จะทำอย่างไรกับ ~tapin และ ~tapout ทำงานอย่างไร โดยเฉพาะเมื่อคุณเปลี่ยนค่า ค่าเหล่านั้นจะรีเซ็ต ซึ่งทำให้เกิดการตัด จากความรู้ที่จำกัดของเราเกี่ยวกับโปรแกรม เราเกือบจะแน่ใจว่ามีวิธีที่ดีกว่าในการทำเช่นนี้ใน Max และขจัดปัญหา…

ขั้นตอนที่ 7: นำทุกอย่างมารวมกันอย่างแท้จริง

นำทุกอย่างมารวมกันอย่างแท้จริง
นำทุกอย่างมารวมกันอย่างแท้จริง
นำทุกอย่างมารวมกันอย่างแท้จริง
นำทุกอย่างมารวมกันอย่างแท้จริง
นำทุกอย่างมารวมกันอย่างแท้จริง
นำทุกอย่างมารวมกันอย่างแท้จริง
นำทุกอย่างมารวมกันอย่างแท้จริง
นำทุกอย่างมารวมกันอย่างแท้จริง

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

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

คุณพร้อมแล้วที่จะทดสอบถุงมือพลังแห่งการร้องเพลงของคุณ! (เราขอแนะนำเพลง "Harder Better Faster Stronger" ของ Daft Punk เพื่อแสดงความสามารถในการเปลี่ยนเสียงของคุณอย่างเต็มที่)

แนะนำ: