Sisällysluettelo:

Puettava - Lopullinen projekti: 7 vaihetta
Puettava - Lopullinen projekti: 7 vaihetta

Video: Puettava - Lopullinen projekti: 7 vaihetta

Video: Puettava - Lopullinen projekti: 7 vaihetta
Video: Jumalan voima ja historian ensimmäiset 2000 vuotta - Miska Wilhelmsson 2024, Kesäkuu
Anonim
Puettava - lopullinen projekti
Puettava - lopullinen projekti

JOHDANTO

Tässä projektissa meidän tehtävänä oli tehdä toiminnallinen puettava prototyyppi kyborgin toimintojen perusteella. Tiesitkö, että sydämesi synkronoituu musiikin BPM: n kanssa? Voit yrittää hallita mielialaasi musiikin avulla, mutta entä jos annamme tekniikan auttaa rauhoittumaan? Tarvitsemme vain joitain komponentteja, Arduinon ja kuulokkeet. Uudistetaan!

Hanke: Marc Vila, Guillermo Stauffacher ja Pau Carcellé

Vaihe 1: Materiaalit ja komponentit

Materiaalit ja komponentit
Materiaalit ja komponentit

Rakennusmateriaalit:

- 3D -painettu ranneke

- M3 -ruuvit (x8)

- M3 mutterit (x12)

- Vyölaukku

Elektroniset materiaalit:

-Sykeanturi BPM

- Painikkeet (x2)

- Potentiometri

- LCD C 1602 -MODUULI

- MODUULI DFPLAYER MINI MP3

- 3,5 mm: n Jack Stereo TRRS -KUULOKKEET

- MicroSD -kortti

- Arduino Uno -levy

- Hitsaaja

- Bakeliittilevy

Vaihe 2: Suunnittele ranneke

Suunnittele ranneke
Suunnittele ranneke
Suunnittele ranneke
Suunnittele ranneke

Ensin teemme useita luonnoksia rannekkeen eri osien järjestämiseksi.

Kun meillä oli selkeä idea, otimme ryhmän jäsenten kolmen haaran mittaukset ja teimme sitten keskiarvon löytääksemme optimaalisen mitan suunnittelulle. Lopuksi suunnittelemme tuotteen 3D -ohjelmalla ja tulostamme sen 3D -tulostimella.

Voit ladata. STL -tiedostot täältä.

Vaihe 3: Elektroniset liitännät

Elektroniset liitännät
Elektroniset liitännät

Jatkamme 3D -suunnittelumme tarvittavia tarkistuksia, teimme ensimmäisen kokoonpanon kaikista prototyypin komponenteista nähdäksemme, että mittaukset olivat korjauksia.

Jotta kaikki komponentit liitettäisiin Arduino -korttiin, teimme eri liitännät komponenteista 0, 5 metrin kaapeleilla, mikä vähentää levyn näkyvyyttä ja järjestää prototyypin paremmin.

Vaihe 4: Koodi

Koodi
Koodi
Koodi
Koodi
Koodi
Koodi

Tämä projekti on kyborgin prototyyppi. Emme tietenkään ole tuoneet komponentteja ihon alle, joten olemme simuloineet sitä rannekkeella ortoosina (ulkoinen laite, joka on kiinnitetty vartaloon toiminnallisten näkökohtien muuttamiseksi).

Koodimme ottaa käyttäjän näppäimistöt ja näyttää ne nestekidenäytön avulla. BPM: n lisäksi näytössä näkyy haluttu voimakkuus, jotta käyttäjä voi verrata sitä sykkeeseensä. On monia tilanteita, joissa on mielenkiintoista lisätä tai vähentää omaa BPM: ää. Esimerkiksi kestävyysurheilijoiden on hallittava sykkeitä, jotta ne eivät väsy liikaa. Jokapäiväinen esimerkki olisi haluta nukkua tai rauhoittua hermostuneessa tilanteessa. Sitä voitaisiin myös käyttää terapeuttisena menetelmänä autistisille ihmisille tunteensa vähentämiseksi. Näytön vieressä on kaksi painiketta halutun voimakkuuden säätämiseksi ja sykkeen lisäämiseksi tai vähentämiseksi. Voimakkuudesta riippuen toistetaan aiemmin tutkittu musiikkityyppi. On olemassa tutkimuksia, jotka osoittavat, että musiikki voi muuttaa BPM: ää. Kappaleen Beats per Minute mukaan ihmiskeho jäljittelee ja vastaa niitä BPM: ää.

int SetResUp = 11; // Arduinon nasta 10 voimakkuuden lisäyspainikkeella. int SetResDown = 12; // Arduinon nasta 11 voimakkuuden vähennyspainikkeella

int ResButtonCounter = 0; // kertaa laskuri, joka lisää tai vähentää vastusasetusta, alkuarvo 0 int ResButtonUpState = 0; // voimakkuuden lisäyspainikkeen nykyinen tila int ResButtonDownState = 0; // voimakkuuden vähennyspainikkeen nykyinen tila int lastResButtonUpState = 0; // voimakkuuden lisäyspainikkeen viimeinen tila int lastResButtonDownState = 0; // voimakkuuden vähennyspainikkeen viimeinen tila

int pulsePin = 0; // Pulssianturi kytketty porttiin A0 // Nämä muuttujat ovat haihtuvia, koska niitä käytetään toisen välilehden keskeytysrutiinin aikana. haihtuva BPM; // Lyöntiä minuutissa haihtuva signaali; // Pulssianturin datatulo haihtuva int IBI = 600; // Pulssiajan haihtuva boolean Pulse = false; // Tosi, kun pulssiaalto on korkea, epätosi, kun se on alhainen haihtuva boolean QS = false;

# define Start_Byte 0x7E # define Version_Byte 0xFF # define Command_Length 0x06 # define End_Byte 0xEF # define Kuittaa 0x00 // Palauttaa tiedot komennolla 0x41 [0x01: info, 0x00: no info]

// PANTALLA #include // Lataa kirjasto LCD -näytön toimintoja varten #include #include

LiquidCrystal lcd (7, 6, 5, 4, 3, 2); // Ilmoita portit, joihin nestekidenäyttö on kytketty

// LECTOR #include #include // Lataa kirjasto dfplayer mini MP3 -moduulin toimintoja varten.

char sarjatiedot; int nsong; int v;

SoftwareSerial comm (9, 10); // Ilmoita portit, joihin DFPlayer on kytketty DFRobotDFPlayerMini mp3;

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

// Määritä nestekidenäytön mitat (16x2) lcd.begin (16, 2); // Valitsemme missä sarakkeessa ja millä rivillä teksti alkaa näkyä // LECTOR comm.begin (9600);

mp3.begin (comm); // Komponentti aloittaa serialData = (char) (('')); mp3.start (); Serial.println ("Toista"); // Toista kappale mp3.volyymi (25); // Määritä äänenvoimakkuus}

void loop () {if (digitalRead (11) == LOW) {mp3.seuraava (); // Jos painiketta painetaan, kappale menee läpi} if (digitalRead (12) == LOW) {mp3.previous (); // Jos painiketta painetaan, edellinen kappale} // if (SetResUp && SetResDown == LOW) {

int pulso = analoginen (A0); // Lue analogiseen porttiin A0 kytketyn sykemittarin arvo

Sarja.println (pulso/6); if (QS == true) {// Kvantifioidun itsen lippu on totta kuten arduino -haku BPM QS = false; // Nollaa Quantified Self -lippu}

lcd.setCursor (0, 0); // Näytä haluttu teksti lcd.print ("BPM:"); lcd.setCursor (0, 1); // Näytä haluttu teksti lcd.print ("INT:"); lcd.setCursor (5, 0); // Näytä haluttu teksti lcd.print (pulso); lcd.setCursor (5, 1); // Näytä haluttu teksti lcd.print (ResButtonCounter); viive (50); lcd.clear (); ResButtonUpState = digitalRead (SetResUp); ResButtonDownState = digitalRead (SetResDown);

// vertaa TempButtonStatea edelliseen tilaansa

if (ResButtonUpState! = lastResButtonUpState && ResButtonUpState == LOW) {// jos viimeinen tila muuttui, lisää laskuria

ResButtonCounter ++; }

// tallenna nykyinen tila viimeiseksi tilaksi, // seuraavan kerran kun silmukka suoritetaan lastResButtonUpState = ResButtonUpState;

// vertaa painikkeen tilaa (lisää tai vähennä) viimeiseen tilaan

if (ResButtonDownState! = lastResButtonDownState && ResButtonDownState == LOW) {

// jos viimeinen tila muuttui, vähennä laskuria

ResButtonCounter--; }

// tallenna nykyinen tila viimeiseksi tilaksi, // seuraavan kerran kun silmukka suoritetaan lastResButtonDownState = ResButtonDownState; {Serial.println (ResButtonCounter);

jos (ResButtonCounter> = 10) {ResButtonCounter = 10; }

if (ResButtonCounter <1) {ResButtonCounter = 1; }

}

}

Vaihe 5: Kokoonpano

Kun koodi on ohjelmoitu oikein ja prototyyppimme kaksi osaa on jo koottu. Laitamme kaikki komponentit paikoilleen ja kiinnitämme teipillä kiinnittääksesi sen rannekkeeseen. Rannekkeessa olevat komponentit ovat sykesensori BPM, kaksi painiketta, potentiometri ja LCD -näyttö, joista kukin on aiemmin 3D -tiedostossa suunniteltuun reikään. Kun ensimmäinen osa on valmis, keskitymme protoboardiin, jokaiseen liittimeen Arduino -levyn oikeassa tapissa. Lopuksi, kun kunkin komponentin todennettu toiminta on, laitamme sen fanny -pakkaukseen piilottaaksesi johdot.

Vaihe 6: Video

Vaihe 7: Johtopäätös

Mielenkiintoisin asia tässä projektissa on oppia matkimaan ihmiskehoa tiedostamattomasti musiikin avulla. Tämä avaa oven monille tuleville hankkeille. Mielestäni tämä on täydellinen projekti, meillä on melko erilaisia komponentteja, joilla on toimiva koodi. Jos aloitamme uudelleen, harkitsisimme muita komponenttivaihtoehtoja tai ostaisimme niitä laadukkaammin. Meillä on ollut paljon ongelmia rikkoutuneiden kaapeleiden ja hitsausten kanssa, ne ovat pieniä ja erittäin herkkiä (erityisesti BPM). Toisaalta sinun on oltava varovainen liittäessäsi komponentteja, niillä on monia ulostuloja ja on helppo tehdä virheitä.

Se on erittäin rikastuttava projekti, jossa olemme koskettaneet monenlaisia Arduinon laitteisto- ja ohjelmistovaihtoehtoja.

Suositeltava: