สารบัญ:
- ขั้นตอนที่ 1: วัสดุและส่วนประกอบ
- ขั้นตอนที่ 2: ออกแบบสายรัดข้อมือ
- ขั้นตอนที่ 3: การเชื่อมต่อทางอิเล็กทรอนิกส์
- ขั้นตอนที่ 4: รหัส
- ขั้นตอนที่ 5: การประกอบทั้งหมด
- ขั้นตอนที่ 6: วิดีโอ
- ขั้นตอนที่ 7: บทสรุป
วีดีโอ: สวมใส่ได้ - โปรเจ็กต์สุดท้าย: 7 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:04
การแนะนำ
ในโครงการนี้ เรามีงานในการสร้างต้นแบบที่สวมใส่ได้ซึ่งใช้งานได้ตามฟังก์ชันของไซบอร์ก คุณรู้หรือไม่ว่าหัวใจของคุณประสานกับ BPM ของดนตรี? คุณสามารถลองควบคุมอารมณ์ของคุณผ่านดนตรีได้ แต่ถ้าเราปล่อยให้เทคโนโลยีช่วยให้เราสงบลงล่ะ? เราแค่ต้องการส่วนประกอบบางอย่าง Arduino และหูฟังของคุณ มาสร้างสรรค์สิ่งใหม่ ๆ กันเถอะ!
โครงการโดย Marc Vila, Guillermo Stauffacher และ Pau Carcellé
ขั้นตอนที่ 1: วัสดุและส่วนประกอบ
วัสดุก่อสร้าง:
- สายรัดข้อมือพิมพ์ 3 มิติ
- สกรู M3 (x8)
- น็อต M3 (x12)
- กระเป๋าคาดเอว
วัสดุอิเล็กทรอนิกส์:
- เซ็นเซอร์วัดอัตราการเต้นของหัวใจ BPM
- ปุ่ม (x2)
- โพเทนชิออมิเตอร์
- LCD C 1602 MODULE
- MODULE DFPLAYER MINI MP3
- หูฟังแจ็คสเตอริโอ TRRS ขนาด 3.5 มม.
- การ์ด MicroSD
- Arduino Uno เพลท
- ช่างเชื่อม
- จานเบคไลท์
ขั้นตอนที่ 2: ออกแบบสายรัดข้อมือ
ขั้นแรก เราทำสเก็ตช์หลายๆ แบบเพื่อจัดระเบียบส่วนประกอบต่างๆ ในสายรัดข้อมือ
ด้วยแนวคิดที่ชัดเจน เราจึงทำการวัดแขนทั้งสามของสมาชิกในกลุ่ม จากนั้นจึงสร้างค่าเฉลี่ยเพื่อหาการวัดที่เหมาะสมที่สุดสำหรับการออกแบบ สุดท้าย เราออกแบบผลิตภัณฑ์ด้วยโปรแกรม 3 มิติ และพิมพ์ด้วยเครื่องพิมพ์ 3 มิติ
คุณสามารถดาวน์โหลดไฟล์. STL ได้ที่นี่
ขั้นตอนที่ 3: การเชื่อมต่อทางอิเล็กทรอนิกส์
เราทำการตรวจสอบที่จำเป็นของการออกแบบ 3 มิติของเราต่อไป เราได้ทำการประกอบส่วนประกอบทั้งหมดในต้นแบบครั้งแรกเพื่อดูว่าการวัดนั้นถูกต้อง
ในการเชื่อมต่อส่วนประกอบทั้งหมดเข้ากับบอร์ด Arduino เราได้ทำการเชื่อมต่อที่แตกต่างจากส่วนประกอบต่างๆ โดยใช้สายเคเบิลยาว 0, 5 เมตร ด้วยวิธีนี้ เราจึงลดการมองเห็นของบอร์ดและเราจัดระเบียบต้นแบบให้ดีขึ้น
ขั้นตอนที่ 4: รหัส
โครงการนี้เป็นต้นแบบของไซบอร์ก เห็นได้ชัดว่าเรายังไม่ได้แนะนำส่วนประกอบต่างๆ ใต้ผิวหนัง ดังนั้นเราจึงจำลองด้วยสร้อยข้อมือเป็นออร์โธซิส (อุปกรณ์ภายนอกที่นำไปใช้กับร่างกายเพื่อปรับเปลี่ยนลักษณะการทำงาน)
รหัสของเราใช้การกดแป้นของผู้ใช้และแสดงโดยใช้หน้าจอ LCD นอกจาก BPM แล้ว หน้าจอยังแสดงระดับความเข้มที่ต้องการเพื่อให้ผู้ใช้เปรียบเทียบกับอัตราการเต้นของหัวใจได้ มีหลายสถานการณ์ที่น่าสนใจที่จะเพิ่มหรือลด BPM ของคุณเอง ตัวอย่างเช่น นักกีฬาที่มีความอดทนจะต้องควบคุมจังหวะการเต้นของหัวใจเพื่อไม่ให้ยางมากเกินไป ตัวอย่างในชีวิตประจำวันคือต้องการนอนหลับหรือสงบสติอารมณ์ในสถานการณ์ที่ประหม่า นอกจากนี้ยังสามารถใช้เป็นวิธีการรักษาสำหรับผู้ที่มีความหมกหมุ่นเพื่อลดความเครียดที่พวกเขารู้สึก ถัดจากหน้าจอจะมีปุ่มสองปุ่มเพื่อควบคุมระดับความเข้มที่ต้องการและเพิ่มหรือลดอัตราการเต้นของหัวใจ จะเล่นเพลงประเภทที่ศึกษาก่อนหน้านี้ทั้งนี้ขึ้นอยู่กับความเข้มข้น มีการศึกษาที่แสดงให้เห็นว่าดนตรีสามารถเปลี่ยนแปลง BPM ได้ ตามจังหวะต่อนาทีของเพลง ร่างกายมนุษย์เลียนแบบและจับคู่ BPM เหล่านั้น
int SetResUp = 11; // พิน 10 ของ Arduino พร้อมปุ่มเพิ่มความเข้ม SetResDown = 12; // พิน 11 ของ Arduino พร้อมปุ่มลดความเข้ม
int ResButtonCounter = 0; // ตัวนับครั้งที่เพิ่มหรือลดการตั้งค่าความต้านทาน ค่าเริ่มต้นเป็น 0 int ResButtonUpState = 0; // สถานะปัจจุบันของปุ่มเพิ่มความเข้ม int ResButtonDownState = 0; // สถานะปัจจุบันของปุ่มลดความเข้ม int lastResButtonUpState = 0; // สถานะสุดท้ายของปุ่มเพิ่มความเข้ม int lastResButtonDownState = 0; // สถานะสุดท้ายของปุ่มลดความเข้ม
int pulsePin = 0; // Pulse Sensor เชื่อมต่อกับพอร์ต A0 // ตัวแปรเหล่านี้มีความผันผวนเนื่องจากถูกใช้ระหว่างรูทีนการขัดจังหวะในแท็บที่สอง BPM int ผันผวน; // เต้นต่อนาที สัญญาณ int ผันผวน; // ข้อมูลเซ็นเซอร์พัลส์อินพุตผันผวน int IBI = 600; // Pulse บูลีนบูลีนผันผวนของเวลาพัลส์ = เท็จ; // จริงเมื่อคลื่นพัลส์สูง, เท็จเมื่อเป็น QS บูลีนแบบระเหยต่ำ = เท็จ;
# กำหนด Start_Byte 0x7E # กำหนด Version_Byte 0xFF # กำหนด Command_Length 0x06 # กำหนด End_Byte 0xEF # กำหนด Acknowledge 0x00 // ส่งคืนข้อมูลด้วยคำสั่ง 0x41 [0x01: ข้อมูล, 0x00: ไม่มีข้อมูล]
//PANTALLA #include // อัปโหลดไลบรารีสำหรับฟังก์ชันของหน้าจอ LCD #include #include
LiquidCrystal LCD (7, 6, 5, 4, 3, 2); // ประกาศพอร์ตที่เชื่อมต่อ LCD
//LECTOR #include #include // อัปโหลดไลบรารีสำหรับฟังก์ชันของโมดูล dfplayer mini MP3
ถ่านอนุกรมข้อมูล; int นซง; int วี;
SoftwareSerial comm(9, 10); // ประกาศพอร์ตที่ DFPlayer เชื่อมต่อ DFRobotDFPlayerMini mp3;
การตั้งค่าเป็นโมฆะ () { Serial.begin (9600); โหมดพิน (SetResUp, INPUT); โหมดพิน (SetResDown, INPUT);
//กำหนดขนาดของ LCD (16x2) lcd.begin(16, 2); //เราเลือกคอลัมน์และบรรทัดที่ข้อความเริ่มแสดง //LECTOR comm.begin(9600);
mp3.begin(comm); //ส่วนประกอบเริ่ม serialData = (ถ่าน)((' ')); mp3.start(); Serial.println("เล่น"); // เล่นเพลง mp3.volume(25); //กำหนดปริมาณ}
วงเป็นโมฆะ () { ถ้า (digitalRead (11) == ต่ำ) { mp3.next (); //ถ้ากดปุ่ม เพลงจะผ่านไป } if (digitalRead(12) == LOW){ mp3.previous(); //ถ้ากดปุ่ม เพลงก่อนหน้า } //if (SetResUp && SetResDown == LOW) {
int pulso = analogRead (A0); // อ่านค่าของเครื่องวัดอัตราการเต้นของหัวใจที่เชื่อมต่อกับพอร์ตอนาล็อก A0
Serial.println(พัลโซ่/6); ถ้า (QS == true) {// แฟล็กของ Quantified Self เป็นจริงเหมือน Arduino ค้นหา BPM QS = false; // รีเซ็ตแฟล็กของ Quantified Self }
lcd.setCursor(0, 0); //แสดงข้อความที่ต้องการ lcd.print("BPM:"); lcd.setCursor(0, 1); //แสดงข้อความที่ต้องการ lcd.print("INT:"); lcd.setCursor(5, 0); //แสดงข้อความที่ต้องการ lcd.print(pulso); lcd.setCursor(5, 1); //แสดงข้อความที่ต้องการ lcd.print(ResButtonCounter); ล่าช้า (50); lcd.clear(); ResButtonUpState = digitalRead (SetResUp); ResButtonDownState = digitalRead (SetResDown);
// เปรียบเทียบ TempButtonState กับสถานะก่อนหน้า
if (ResButtonUpState != lastResButtonUpState && ResButtonUpState == LOW) { // ถ้าสถานะสุดท้ายเปลี่ยนไป ให้เพิ่มตัวนับ
ResButtonCounter++; }
// บันทึกสถานะปัจจุบันเป็นสถานะสุดท้าย // สำหรับครั้งต่อไปที่ลูปถูกดำเนินการ lastResButtonUpState = ResButtonUpState;
// เปรียบเทียบสถานะของปุ่ม (เพิ่มหรือลด) กับสถานะสุดท้าย
ถ้า (ResButtonDownState != lastResButtonDownState && ResButtonDownState == ต่ำ) {
// ถ้าสถานะสุดท้ายเปลี่ยนไป ให้ลดตัวนับ
ResButtonCounter--; }
// บันทึกสถานะปัจจุบันเป็นสถานะสุดท้าย // สำหรับครั้งต่อไปที่ลูปจะดำเนินการ lastResButtonDownState = ResButtonDownState; { Serial.println (ResButtonCounter);
ถ้า (ResButtonCounter >= 10) { ResButtonCounter = 10; }
ถ้า (ResButtonCounter < 1) { ResButtonCounter = 1; }
}
}
ขั้นตอนที่ 5: การประกอบทั้งหมด
ด้วยรหัสที่ตั้งโปรแกรมไว้อย่างถูกต้องและทั้งสองส่วนของต้นแบบของเราได้ประกอบขึ้นแล้ว เราใส่ส่วนประกอบทั้งหมดเข้าที่แล้วต่อด้วยเทปเพื่อยึดเข้ากับสร้อยข้อมือ ส่วนประกอบที่อยู่ในสายนาฬิกาคือ BPM เซ็นเซอร์วัดอัตราการเต้นของหัวใจ ปุ่มสองปุ่ม โพเทนชิออมิเตอร์ และหน้าจอ LCD โดยแต่ละปุ่มจะอยู่ในรูที่ออกแบบไว้ก่อนหน้านี้ในไฟล์ 3D เมื่อทำส่วนแรกเสร็จแล้ว เราจะเน้นที่โปรโตบอร์ด ตัวเชื่อมต่อแต่ละตัวบนพินที่ถูกต้องของบอร์ด Arduino สุดท้าย ด้วยการตรวจสอบการทำงานของแต่ละส่วนประกอบ เราได้ใส่ไว้ในกระเป๋าคาดเอวเพื่อซ่อนสายไฟ
ขั้นตอนที่ 6: วิดีโอ
ขั้นตอนที่ 7: บทสรุป
สิ่งที่น่าสนใจที่สุดของโครงการนี้คือการเรียนรู้เกี่ยวกับการเลียนแบบร่างกายมนุษย์โดยไม่รู้ตัวด้วยเสียงเพลง ซึ่งจะเปิดประตูสู่ตัวเลือกมากมายสำหรับโครงการในอนาคต ฉันคิดว่านี่เป็นโครงการที่สมบูรณ์ เรามีส่วนประกอบค่อนข้างหลากหลายพร้อมรหัสที่ใช้งานได้ หากเราเริ่มต้นใหม่อีกครั้ง เราจะนึกถึงส่วนประกอบอื่นๆ ที่เป็นทางเลือกหรือซื้อที่มีคุณภาพดีกว่า เราพบปัญหามากมายเกี่ยวกับสายเคเบิลและการเชื่อมที่ขาด ซึ่งมีขนาดเล็กและบอบบางมาก (โดยเฉพาะ BPM) ในทางกลับกัน คุณต้องระวังเมื่อเชื่อมต่อส่วนประกอบ พวกเขามีเอาต์พุตจำนวนมากและง่ายต่อการทำผิดพลาด
เป็นโครงการที่สมบูรณ์มากที่เราได้สัมผัสกับตัวเลือกฮาร์ดแวร์และซอฟต์แวร์ Arduino ที่หลากหลาย
แนะนำ:
การออกแบบเกมในการสะบัดใน 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++)
การทำให้ SSAD สวมใส่ได้: 3 ขั้นตอน
การสร้าง SSAD Wearable: อุปกรณ์ทดแทนและเสริมประสาทสัมผัสแบบสั่นที่สั่งสอนได้ (https://www.instructables.com/id/Vibrotactile-Sens…) แสดงให้เห็นวิธีการสร้างอุปกรณ์ที่แปลงอินพุตทางประสาทสัมผัสให้เป็นตัวกระตุ้นแบบสั่นสะเทือน สิ่งเร้าสั่นสะเทือนเหล่านี้คือ