Sisukord:

Kantav - lõppprojekt: 7 sammu
Kantav - lõppprojekt: 7 sammu

Video: Kantav - lõppprojekt: 7 sammu

Video: Kantav - lõppprojekt: 7 sammu
Video: Шашлык и люля 2024, November
Anonim
Kantav - lõplik projekt
Kantav - lõplik projekt

SISSEJUHATUS

Selles projektis oli meil ülesanne valmistada funktsionaalne kantav prototüüp, mis põhineb küborgi funktsioonidel. Kas teadsite, et teie süda sünkroonib muusika BPM -iga? Võite proovida oma meeleolu muusika kaudu juhtida, aga mis siis, kui laseme tehnoloogial end rahustada? Vajame lihtsalt mõningaid komponente, Arduinot ja teie kõrvaklappe. Teeme uuendusi!

Projekt: Marc Vila, Guillermo Stauffacher ja Pau Carcellé

Samm: materjalid ja komponendid

Materjalid ja komponendid
Materjalid ja komponendid

Ehitusmaterjalid:

- 3D trükitud käepael

- M3 kruvid (x8)

- M3 pähklid (x12)

- Fanny pakk

Elektroonilised materjalid:

-Südame löögisageduse andur BPM

- nupud (x2)

- potentsiomeeter

- LCD C 1602 MOODUL

- Moodul DFPLAYER MINI MP3

- 3,5 mm Jack Stereo TRRS peakomplekt

- MicroSD -kaart

- Arduino Uno plaat

- Keevitaja

- Bakeliitplaat

Samm: kujundage käepael

Kujundage käepael
Kujundage käepael
Kujundage käepael
Kujundage käepael

Esmalt koostame mitu visandit käepaela erinevate komponentide korraldamiseks.

Selge ideega tegime rühma liikmete kolme haru mõõtmised, seejärel tegime disaini jaoks optimaalse mõõtme leidmiseks keskmise. Lõpuks kujundame toote 3D -programmiga ja prindime selle 3D -printeriga.

Siit saate alla laadida. STL -faile.

Samm: elektroonilised ühendused

Elektroonilised ühendused
Elektroonilised ühendused

Jätkame oma 3D -disaini vajalike kontrollide tegemist, tegime prototüübi kõigi komponentide esimese kokkupaneku, et näha, et mõõtmised olid parandused.

Kõigi komponentide ühendamiseks Arduino plaadiga tegime komponentidest erinevad ühendused, kasutades 0, 5 -meetriseid kaableid, sel viisil vähendame plaadi nähtavust ja korraldame prototüübi paremini.

4. samm: kood

Kood
Kood
Kood
Kood
Kood
Kood

See projekt on küborgi prototüüp. Ilmselgelt pole me naha alla komponente sisse viinud, seega oleme simuleerinud seda käevõruga ortoosina (kehale rakendatud väline seade funktsionaalsete aspektide muutmiseks).

Meie kood võtab kasutaja klahvivajutused ja näitab neid LCD -ekraani abil. Lisaks BPM -ile näitab ekraan soovitud intensiivsust, et kasutaja saaks seda oma südame löögisagedusega võrrelda. On palju olukordi, kus on huvitav oma BPM -i suurendada või vähendada. Näiteks peavad vastupidavussportlased pulsse kontrollima, et mitte liigselt väsida. Igapäevane näide oleks soov närvilises olukorras magada või rahuneda. Seda võiks kasutada ka autistlike inimeste ravimeetodina, et vähendada stressi, mida nad tunnevad. Ekraani kõrval on kaks nuppu soovitud intensiivsuse juhtimiseks ja südame löögisageduse suurendamiseks või vähendamiseks. Sõltuvalt intensiivsusest esitatakse eelnevalt uuritud tüüpi muusikat. On uuringuid, mis näitavad, et muusika võib BPM -i muuta. Laulu Beats per Minute järgi jäljendab inimkeha neid BPM -e ja sobib nendega.

int SetResUp = 11; // Arduino tihvt 10 intensiivsuse suurendamise nupuga. int SetResDown = 12; // Arduino tihvt 11 koos intensiivsuse vähendamise nupuga

int ResButtonCounter = 0; // korda loendur, mis suurendab või vähendab takistuse seadistust, algväärtus 0 int ResButtonUpState = 0; // intensiivsuse suurendamise nupu hetkeolek int ResButtonDownState = 0; // intensiivsuse vähendamise nupu hetkeolek int lastResButtonUpState = 0; // intensiivsuse suurendamise nupu viimane olek int lastResButtonDownState = 0; // intensiivsuse vähendamise nupu viimane olek

int pulsePin = 0; // Impulsiandur on ühendatud pordiga A0 // Need muutujad on kõikuvad, kuna neid kasutatakse teise vahekaardi katkestusrutiini ajal. lenduv int BPM; // lööki minutis lenduv int Signaal; // Pulseanduri andmesisestus lenduv int IBI = 600; // Pulse time volatile boolean Pulse = false; // Tõene, kui impulsslaine on kõrge, vale, kui see on Madal lenduv boolean QS = false;

# define Start_Byte 0x7E # define Version_Byte 0xFF # define Command_Length 0x06 # define End_Byte 0xEF # define Kinnita 0x00 // Tagastab teabe käsuga 0x41 [0x01: info, 0x00: no info]

// PANTALLA #include // Laadige teek üles LCD -ekraani funktsioonide jaoks #include #include

LiquidCrystal LCD (7, 6, 5, 4, 3, 2); // Deklareerige pordid, kuhu LCD on ühendatud

// LEKTOR #sisalda #sisalda // Lae üles raamatukogu mooduli dfplayer mini MP3 funktsioonide jaoks.

char serialData; int nsong; int v;

SoftwareSerial comm (9, 10); // Deklareeri pordid, kuhu DFPlayer on ühendatud DFRobotDFPlayerMini mp3;

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

// Määra LCD mõõtmed (16x2) lcd.begin (16, 2); // Valime, millises veerus ja millisel real tekst hakkab ilmuma // LECTOR comm.begin (9600);

mp3.algus (komm); // Komponent käivitab serialData = (char) (('')); mp3.start (); Serial.println ("Esita"); // Esita lugu mp3.maht (25); // Määra helitugevus}

void loop () {if (digitalRead (11) == LOW) {mp3.next (); // Kui nuppu vajutada, läheb lugu läbi} if (digitalRead (12) == LOW) {mp3.previous (); // Kui nuppu vajutatakse, siis eelmine lugu} // if (SetResUp && SetResDown == LOW) {

int pulso = analogRead (A0); // Lugege analoogpordiga A0 ühendatud pulsikella väärtust

Serial.println (pulso/6); if (QS == true) {// Kvantifitseeritud mina lipp on tõene nagu arduino otsing BPM QS = false; // Kvantitatiivse enese lipu lähtestamine}

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

// võrrelda TempButtonState'i oma eelmise olekuga

if (ResButtonUpState! = lastResButtonUpState && ResButtonUpState == LOW) {// kui viimane olek muutus, suurendage loendurit

ResButtonCounter ++; }

// salvesta praegune olek viimaseks olekuks, // järgmine kord, kui tsüklit täidetakse lastResButtonUpState = ResButtonUpState;

// võrrelda nupu olekut (suurendada või vähendada) viimase olekuga

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

// kui viimane olek on muutunud, vähendage loendurit

ResButtonCounter--; }

// salvesta praegune olek viimaseks olekuks, // järgmine kord, kui tsüklit täidetakse lastResButtonDownState = ResButtonDownState; {Serial.println (ResButtonCounter);

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

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

}

}

Samm: täielik kokkupanek

Kui kood on õigesti programmeeritud ja meie prototüübi kaks osa on juba kokku pandud. Panime kõik komponendid paika ja ühendame selle lindiga, et see käevõru külge kinnitada. Käevõru komponendid on pulsiandur BPM, kaks nuppu, potentsiomeeter ja LCD -ekraan, millest igaüks on oma 3D -failis eelnevalt kujundatud avauses. Kui esimene osa on tehtud, keskendume protoboardile, iga pistik Arduino plaadi õigele tihvtile. Lõpuks panime iga komponendi kontrollitud toimimisega juhtmete peitmiseks ventilaatoripakki.

6. samm: video

Samm 7: Järeldus

Selle projekti kõige huvitavam on õppida tundma muusika abil inimkeha matkimist. See avab ukse paljudele võimalustele tulevasteks projektideks. Ma arvan, et see on täielik projekt, meil on üsna erinevaid komponente, millel on töötav kood. Kui alustame uuesti, mõtleksime teistele komponentide alternatiividele või ostaksime neid kvaliteetsemalt. Meil on olnud palju probleeme katkiste kaablite ja keevisõmblustega, need on väikesed ja väga õrnad (eriti BPM). Teisest küljest peate komponentide ühendamisel olema ettevaatlik, neil on palju väljundeid ja vigu on lihtne teha.

See on väga rikastav projekt, milles oleme puudutanud mitmesuguseid Arduino riist- ja tarkvaravalikuid.

Soovitan: