Talaan ng mga Nilalaman:

Nakasuot - Pangwakas na Proyekto: 7 Hakbang
Nakasuot - Pangwakas na Proyekto: 7 Hakbang

Video: Nakasuot - Pangwakas na Proyekto: 7 Hakbang

Video: Nakasuot - Pangwakas na Proyekto: 7 Hakbang
Video: BYD TANG EV600D Самый Быстрый Электрический Полноприводный Семиместный Кроссовер 0-100Км/ч 4.4🔌В РФ 2024, Hunyo
Anonim
Nakasuot - Pangwakas na Proyekto
Nakasuot - Pangwakas na Proyekto

PANIMULA

Sa proyektong ito mayroon kaming gawain ng paggawa ng isang naisusuot na prototype batay sa isang pag-andar ng cyborg. Alam mo bang ang iyong puso ay sumasabay sa BPM ng musika? Maaari mong subukang kontrolin ang iyong kalagayan sa pamamagitan ng musika, ngunit paano kung hahayaan nating tulungan tayo ng teknolohiya na huminahon? Kailangan lang namin ng ilang mga bahagi, isang Arduino at iyong mga headphone. Magpabago tayo!

Proyekto ni Marc Vila, Guillermo Stauffacher at Pau Carcellé

Hakbang 1: Mga Materyales at Mga Bahagi

Mga Materyales at Sangkap
Mga Materyales at Sangkap

Mga materyales sa konstruksyon:

- 3d na naka-print na wristband

- M3 screws (x8)

- M3 mani (x12)

- Fanny pack

Mga elektronikong materyales:

-Heart Rate Sensor BPM

- Mga Pindutan (x2)

- Potensyomiter

- LCD C 1602 MODULE

- MODULE DFPLAYER MINI MP3

- 3.5mm Jack Stereo TRRS HEADSET

- MicroSD Card

- Arduino Uno Plate

- Manghihinang

- Bakelite plate

Hakbang 2: Magdisenyo ng isang Wristband

Magdisenyo ng Wristband
Magdisenyo ng Wristband
Magdisenyo ng Wristband
Magdisenyo ng Wristband

Una gumawa kami ng maraming mga sketch upang ayusin ang iba't ibang mga bahagi sa wristband.

Gamit ang malinaw na ideya, nagsukat kami ng tatlong mga bisig ng mga kasapi ng pangkat, pagkatapos ay ginawa namin ang average upang mahanap ang pinakamainam na hakbang para sa disenyo. Sa wakas ay dinisenyo namin ang produkto sa isang 3d na programa at nai-print ito sa isang 3D printer.

Maaari mong i-download ang mga. STL file dito.

Hakbang 3: Mga Koneksyon sa Elektronik

Mga Koneksyon sa Elektronik
Mga Koneksyon sa Elektronik

Patuloy kaming ginagawa ang mga kinakailangang tseke ng aming disenyo ng 3d, gumawa kami ng isang unang pagpupulong ng lahat ng mga bahagi sa prototype upang makita na ang mga sukat ay tama.

Upang ikonekta ang lahat ng mga bahagi sa Arduino board, gumawa kami ng iba't ibang mga koneksyon mula sa mga bahagi na gumagamit ng 0, 5 metro na mga kable, sa ganitong paraan binawasan namin ang kakayahang makita ng board at mas mahusay naming ayusin ang prototype.

Hakbang 4: Ang Code

Ang Code
Ang Code
Ang Code
Ang Code
Ang Code
Ang Code

Ang proyektong ito ay isang prototype ng cyborg. Malinaw na hindi namin ipinakilala ang mga bahagi sa ilalim ng balat, kaya ginaya namin ito ng isang pulseras bilang isang orthosis (panlabas na aparato na inilapat sa katawan upang mabago ang mga aspeto ng pagganap).

Kinukuha ng aming code ang mga keystroke ng gumagamit at ipinapakita ang mga ito gamit ang LCD screen. Bilang karagdagan sa BPM, ipinapakita ng screen ang nais na intensity upang maihambing ito ng gumagamit sa rate ng kanyang puso. Maraming mga sitwasyon kung saan kagiliw-giliw na dagdagan o bawasan ang iyong sariling BPM. Halimbawa, dapat kontrolin ng mga atleta ng pagtitiis ang pulsations upang hindi gulong gulong. Ang isang pang-araw-araw na halimbawa ay ang nais na matulog o huminahon sa isang kinakabahan na sitwasyon. Maaari din itong mailapat bilang isang therapeutic na pamamaraan para sa mga taong may autism upang mabawasan ang stress na nararamdaman. Sa tabi ng screen ay dalawang mga pindutan upang makontrol ang nais na intensity at taasan o bawasan ang rate ng puso. Nakasalalay sa tindi, isang dati nang pinag-aralan na uri ng musika ang pinatugtog. May mga pag-aaral na nagpapakita na maaaring baguhin ng musika ang BPM. Ayon sa Beats per Minute ng kanta, ang katawan ng tao ay gumagaya at tumutugma sa BPM na iyon.

int SetResUp = 11; // pin 10 ng Arduino na may intensity increase button.int SetResDown = 12; // pin 11 ng Arduino na may button na pagbawas ng intensity

int ResbuttonCounter = 0; // beses na counter na tataas o babaan ang setting ng paglaban, paunang halaga ng 0 int ResbuttonUpState = 0; // kasalukuyang estado ng pagtaas ng pindutan ng tindi int ResbuttonDownState = 0; // kasalukuyang estado ng button ng pagbawas ng intensity int lastResbuttonUpState = 0; // last state of the intensity increase button int lastResButtonDownState = 0; // huling estado ng pindutan ng pagbawas ng intensity

int pulsePin = 0; // Pulse Sensor na konektado sa port A0 // Ang mga variable na ito ay pabagu-bago sapagkat ginagamit ang mga ito habang nagagambala ang gawain sa pangalawang tab. pabagu-bago ng isip BPM; // Beats per minute pabagu-bago int Signal; // Pulse sensor data input pabagu-bago ng loob IBI = 600; // Pulse time pabagu-bago ng isip boolean Pulse = false; // Totoo kapag ang alon ng pulso ay mataas, maling kapag ito ay Mababang pabagu-bago ng isip boolean QS = false;

# tukuyin ang Start_Byte 0x7E # tukuyin ang Bersyon_Byte 0xFF # tukuyin ang Command_Length 0x06 # tukuyin ang End_Byte 0xEF # tukuyin ang Kilalanin 0x00 // Ibinabalik ang impormasyon na may utos na 0x41 [0x01: impormasyon, 0x00: walang impormasyon]

// PANTALLA #include // Upload the library for the functions of the LCD screen #include #include

LiquidCrystal lcd (7, 6, 5, 4, 3, 2); // Ideklara ang mga port kung saan nakakonekta ang LCD

// LECTOR #include #include // I-upload ang library para sa mga pagpapaandar ng module dfplayer mini MP3.

char serialData; int nsong; int v;

SoftwareSerial comm (9, 10); // Ipahayag ang mga port kung saan nakakonekta ang DFPlayer DFRobotDFPlayerMini mp3;

void setup () {Serial.begin (9600); pinMode (SetResUp, INPUT); pinMode (SetResDown, INPUT);

// Tukuyin ang mga sukat ng LCD (16x2) lcd.begin (16, 2); // Pinili namin sa aling haligi at sa aling linya nagsisimula ipakita ang teksto // LECTOR comm.begin (9600);

mp3.begin (comm); // Component nagsisimula serialData = (char) ((")); mp3.start (); Serial.println ("Play"); // Play a song mp3.volume (25); // Tukuyin ang dami}

void loop () {if (digitalRead (11) == LOW) {mp3.next (); // Kung ang pindutan ay pinindot, ang kanta ay pumasa sa} kung (digitalRead (12) == LOW) {mp3.previous (); // Kung ang pindutan ay pinindot, ang dating kanta} // kung (SetResUp && SetResDown == LOW) {

int pulso = analogRead (A0); // Basahin ang halaga ng monitor ng rate ng puso na konektado sa Analog port A0

Serial.println (pulso / 6); kung (QS == totoo) {// Flag of Quantified Self ay totoo tulad ng arduino na paghahanap sa BPM QS = false; // Reset the flag of Quantified Self}

lcd.setCursor (0, 0); // Ipakita ang nais na teksto lcd.print ("BPM:"); lcd.setCursor (0, 1); // Ipakita ang nais na text lcd.print ("INT:"); lcd.setCursor (5, 0); // Ipakita ang nais na text lcd.print (pulso); lcd.setCursor (5, 1); // Ipakita ang nais na text lcd.print (Res ButtonCounter); antala (50); lcd.clear (); ResButtonUpState = digitalRead (SetResUp); ResButtonDownState = digitalRead (SetResDown);

// ihambing ang TempbuttonState sa dating estado nito

kung (ResbuttonUpState! = lastResbuttonUpState && ResbuttonUpState == LOW) {// kung nagbago ang huling estado, dagdagan ang counter

Res ButtonCounter ++; }

// save the current state as the last state, // para sa susunod na ang loop ay naisakatuparan lastRes ButtonUpState = ResbuttonUpState;

// ihambing ang estado ng pindutan (taasan o bawasan) sa huling estado

kung (ResbuttonDownState! = lastRes ButtonDownState && ResbuttonDownState == LOW) {

// kung nagbago ang huling estado, bawasan ang counter

ResButtonCounter--; }

// save the current state as the last state, // para sa susunod na ang loop ay naisakatuparan lastRes ButtonDownState = ResbuttonDownState; {Serial.println (Res ButtonCounter);

kung (ResbuttonCounter> = 10) {Res ButtonCounter = 10; }

kung (ResbuttonCounter <1) {Res ButtonCounter = 1; }

}

}

Hakbang 5: Kabuuang Assembly

Gamit ang code na nai-program nang tama at ang dalawang bahagi ng aming prototype ay natipon na. Inilalagay namin ang lahat ng mga bahagi sa lugar at sinali ito sa tape upang ayusin ito sa pulseras. Ang mga bahagi na nasa pulseras ay ang Heart Rate Sensor BPM, ang dalawang mga pindutan, potentiometer at ang LCD Screen, ang bawat isa sa kani-kanilang butas na dating dinisenyo sa 3D file. Sa tapos na ang unang bahagi, nakatuon kami sa protoboard, ang bawat konektor sa tamang pin ng Arduino board. Sa wakas, sa na-verify na pagpapatakbo ng bawat bahagi, inilalagay namin ito sa fanny pack upang maitago ang mga wire.

Hakbang 6: Video

Hakbang 7: Konklusyon

Ang pinaka-kagiliw-giliw na bagay tungkol sa proyektong ito ay ang pag-alam tungkol sa paggaya sa katawan ng tao nang walang malay sa musika. Buksan nito ang pintuan sa maraming mga pagpipilian para sa mga susunod na proyekto. Sa palagay ko ito ay isang kumpletong proyekto, mayroon kaming iba't ibang mga bahagi na may isang nagtrabaho na code. Kung magsisimulang muli ay maiisip namin ang tungkol sa iba pang mga kahalili sa sangkap o bilhin ang mga ito ng mas mahusay na kalidad. Nagkaroon kami ng maraming mga problema sa mga sirang cable at welding, ang mga ito ay maliit at napaka maselan (lalo na ang BPM). Sa kabilang banda dapat kang maging maingat sa pagkonekta sa mga bahagi, marami silang output at madali itong magkamali.

Ito ay isang napakapayaman na proyekto kung saan hinawakan namin ang iba't ibang mga pagpipilian sa hardware at software ng Arduino.

Inirerekumendang: