สารบัญ:

สวมใส่ได้ - โปรเจ็กต์สุดท้าย: 7 ขั้นตอน
สวมใส่ได้ - โปรเจ็กต์สุดท้าย: 7 ขั้นตอน

วีดีโอ: สวมใส่ได้ - โปรเจ็กต์สุดท้าย: 7 ขั้นตอน

วีดีโอ: สวมใส่ได้ - โปรเจ็กต์สุดท้าย: 7 ขั้นตอน
วีดีโอ: สรุป #สูตรเลขต่างๆๆ #โค้งสุดท้าย 1 ก.พ.67 แนวทางสลาก ชุดเด่นๆๆจ้า 2024, พฤศจิกายน
Anonim
สวมใส่ได้ - Final Project
สวมใส่ได้ - Final Project

การแนะนำ

ในโครงการนี้ เรามีงานในการสร้างต้นแบบที่สวมใส่ได้ซึ่งใช้งานได้ตามฟังก์ชันของไซบอร์ก คุณรู้หรือไม่ว่าหัวใจของคุณประสานกับ 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 ที่หลากหลาย

แนะนำ: