Kazalo:
- 1. korak: Materiali in komponente
- 2. korak: Oblikujte zapestnico
- 3. korak: Elektronske povezave
- 4. korak: Koda
- 5. korak: Skupna montaža
- 6. korak: Video
- 7. korak: Zaključek
Video: Nosljivo - Končni projekt: 7 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:04
UVOD
V tem projektu smo imeli nalogo izdelati funkcionalni nosljivi prototip, ki temelji na funkcijah kiborga. Ali ste vedeli, da se vaše srce sinhronizira z BPM glasbe? Svoje razpoloženje lahko poskusite nadzorovati z glasbo, kaj pa, če pustimo, da nam tehnologija pomaga, da se pomirimo? Potrebujemo le nekaj komponent, Arduino in vaše slušalke. Naj inovacije!
Projekt Marc Vila, Guillermo Stauffacher in Pau Carcellé
1. korak: Materiali in komponente
Gradbeni materiali:
- 3D natisnjena zapestnica
- vijaki M3 (x8)
- matice M3 (x12)
- Fanny paket
Elektronski materiali:
-Senzor srčnega utripa BPM
- Gumbi (x2)
- potenciometer
- LCD C 1602 MODUL
- MODUL DFPLAYER MINI MP3
- 3,5 mm stereo stereo slušalka TRRS
- kartica microSD
- Arduino Uno plošča
- Varilec
- Bakelitna plošča
2. korak: Oblikujte zapestnico
Najprej naredimo več skic za organizacijo različnih sestavnih delov zapestnice.
Z jasno idejo smo naredili meritve treh krakov članov skupine, nato pa naredili povprečje, da smo našli optimalno merilo za zasnovo. Nazadnje izdelek oblikujemo s 3D programom in ga natisnemo s 3D tiskalnikom.
Datoteke. STL lahko prenesete tukaj.
3. korak: Elektronske povezave
Nadaljujemo s potrebnimi preverjanji našega 3D oblikovanja, prvič smo sestavili vse komponente v prototipu, da bi ugotovili, ali so bile meritve popravljene.
Za priključitev vseh komponent na ploščo Arduino smo s komponentami dolžine 0,5 metra naredili različne povezave od komponent, na ta način zmanjšamo vidljivost plošče in bolje organiziramo prototip.
4. korak: Koda
Ta projekt je prototip kiborga. Očitno komponent nismo uvedli pod kožo, zato smo jo simulirali z zapestnico kot ortozo (zunanja naprava, ki se uporablja za spreminjanje funkcionalnih vidikov telesa).
Naša koda sprejme uporabnikove pritiske na tipke in jih prikaže z uporabo LCD zaslona. Na zaslonu je poleg BPM prikazana želena intenzivnost, tako da jo lahko uporabnik primerja s srčnim utripom. Obstaja veliko situacij, ko je zanimivo povečati ali zmanjšati lastni BPM. Na primer, vzdržljivi športniki morajo nadzorovati utripanje, da se ne utrudijo preveč. Vsakdanji primer bi bil, da bi želeli spati ali se umiriti v živčni situaciji. Lahko bi ga uporabili tudi kot terapevtsko metodo za ljudi z avtizmom za zmanjšanje občutka stresa. Poleg zaslona sta dva gumba za nadzor želene intenzivnosti ter povečanje ali zmanjšanje srčnega utripa. Odvisno od intenzivnosti se predvaja že preučena vrsta glasbe. Obstajajo študije, ki kažejo, da lahko glasba spremeni BPM. Po Beats per Minute pesmi človeško telo posnema in se ujema s tem BPM.
int SetResUp = 11; // pin 10 Arduina z gumbom za povečanje intenzivnosti.int SetResDown = 12; // pin 11 Arduina z gumbom za zmanjšanje intenzivnosti
int ResButtonCounter = 0; // števec krat, ki poveča ali zmanjša nastavitev upora, začetna vrednost 0 int ResButtonUpState = 0; // trenutno stanje gumba za povečanje intenzivnosti int ResButtonDownState = 0; // trenutno stanje gumba za zmanjšanje intenzivnosti int lastResButtonUpState = 0; // zadnje stanje gumba za povečanje intenzivnosti int lastResButtonDownState = 0; // zadnje stanje gumba za zmanjšanje intenzivnosti
int pulzPin = 0; // Pulzni senzor, priključen na vrata A0 // Te spremenljivke so nestanovitne, ker se uporabljajo med rutino prekinitve v drugem zavihku. hlapni int BPM; // Volatile int Signal utripov na minuto; // vhodni podatki senzorja impulzov hlapni int IBI = 600; // nestanoviten logični impulz časa impulza = false; // True, ko je pulzni val visok, false, ko je Low Low Lolative Boolean QS = false;
# define Start_Byte 0x7E # define Version_Byte 0xFF # define Command_Length 0x06 # define End_Byte 0xEF # define Acknowledge 0x00 // Vrne podatke z ukazom 0x41 [0x01: info, 0x00: ni podatkov]
// PANTALLA #include // Naložite knjižnico za funkcije LCD zaslona #include #include
LCD tekoči kristal (7, 6, 5, 4, 3, 2); // Razglasite vrata, na katera je priključen LCD
// LECTOR #include #include // Naložimo knjižnico za funkcije modula dfplayer mini MP3.
char serialData; int nsong; int v;
SoftwareSerial comm (9, 10); // Razglasite vrata, kjer je povezan DFPlayer DFRobotDFPlayerMini mp3;
void setup () {Serial.begin (9600); pinMode (SetResUp, INPUT); pinMode (SetResDown, INPUT);
// Določimo dimenzije LCD (16x2) lcd.begin (16, 2); // Izberemo, v katerem stolpcu in v kateri vrstici se začne prikazovati besedilo // LECTOR comm.begin (9600);
mp3.začetek (comm); // Komponenta zažene serialData = (char) (('')); mp3.start (); Serial.println ("Predvajaj"); // Predvajaj pesem mp3.volume (25); // Določite glasnost}
void loop () {if (digitalRead (11) == LOW) {mp3.next (); // Če pritisnete gumb, pesem mine} if (digitalRead (12) == LOW) {mp3.previous (); // Če pritisnete gumb, se prikaže prejšnja skladba} // if (SetResUp && SetResDown == LOW) {
int pulso = analogRead (A0); // Odčitajte vrednost merilnika srčnega utripa, priključenega na analogna vrata A0
Serial.println (pulso/6); if (QS == true) {// Zastava količinsko opredeljenega ja je resnična, kot je iskanje arduino, BPM QS = false; // Ponastavi zastavico količinsko opredeljenega sebe}
lcd.setCursor (0, 0); // Prikaz želenega besedila lcd.print ("BPM:"); lcd.setCursor (0, 1); // Prikaz želenega besedila lcd.print ("INT:"); lcd.setCursor (5, 0); // Prikaz želenega besedila lcd.print (pulso); lcd.setCursor (5, 1); // Prikaz želenega besedila lcd.print (ResButtonCounter); zamuda (50); lcd.clear (); ResButtonUpState = digitalno branje (SetResUp); ResButtonDownState = digitalno branje (SetResDown);
// primerjamo TempButtonState s prejšnjim stanjem
if (ResButtonUpState! = lastResButtonUpState && ResButtonUpState == LOW) {// če se je zadnje stanje spremenilo, povečajte števec
ResButtonCounter ++; }
// shranimo trenutno stanje kot zadnje stanje, // za naslednjič, ko se zanka izvede lastResButtonUpState = ResButtonUpState;
// primerjamo stanje gumba (povečanje ali zmanjšanje) z zadnjim stanjem
if (ResButtonDownState! = lastResButtonDownState && ResButtonDownState == LOW) {
// če se je zadnje stanje spremenilo, zmanjšajte števec
ResButtonCounter--; }
// shranimo trenutno stanje kot zadnje stanje, // za naslednjič, ko se zanka izvede lastResButtonDownState = ResButtonDownState; {Serial.println (ResButtonCounter);
if (ResButtonCounter> = 10) {ResButtonCounter = 10; }
if (ResButtonCounter <1) {ResButtonCounter = 1; }
}
}
5. korak: Skupna montaža
S pravilno programirano kodo in dvema delima našega prototipa že sestavljenimi. Vse komponente postavimo na svoje mesto in jih povežemo s trakom, da jih pritrdimo na zapestnico. Sestavni deli zapestnice so senzor srčnega utripa BPM, dva gumba, potenciometer in LCD zaslon, vsak v svoji luknji, predhodno oblikovani v datoteki 3D. Ko je prvi del končan, se osredotočimo na protoboard, vsak priključek na pravilen zatič plošče Arduino. Nazadnje, s preverjenim delovanjem vsake komponente, jo damo v paket fanny, da skrijemo žice.
6. korak: Video
7. korak: Zaključek
Najbolj zanimivo pri tem projektu je učenje o posnemanju človeškega telesa nezavedno z glasbo. To odpira vrata številnim možnostim za prihodnje projekte. Mislim, da je to celoten projekt, imamo precej različnih komponent z obdelano kodo. Če bi začeli znova, bi pomislili na druge komponente ali jih kupili bolj kakovostno. Imeli smo veliko težav z pretrganimi kabli in varjenjem, majhni so in zelo občutljivi (zlasti BPM). Po drugi strani pa morate biti previdni pri povezovanju komponent, saj imajo veliko izhodov in je enostavno narediti napako.
Gre za zelo bogat projekt, v katerem smo se dotaknili najrazličnejših možnosti strojne in programske opreme Arduino.
Priporočena:
Linefollower HoGent - sintetični projekt: 8 korakov
Linefollower HoGent - Syntheseproject: Če želite, da vaš projekt sintetizira kregen, ki smo ga opdracht een linefollower te maken. In deze instructable zal ik uitleggen hoe ik deze gemaakt heb, en tegen welke problemen ik o.a ben aangelopen
Kako narediti preprosto nosljivo pulzno obvestilo: 5 korakov
Kako narediti preprosto nosljivo obvestilo o pulzu: Pulseme je nosljiva naprava, ki ljudem pomaga vedeti, kdaj je njihov srčni utrip nad nastavljeno vrednostjo, tako da jim daje fizične povratne informacije v obliki krčenja in raztezanja nosljivega materiala
Nosljivo z vodnim hlajenjem: 6 korakov
Nosljivo z vodnim hlajenjem: Nekateri se morda spomnite mojega 5 -minutnega USB zapestnega hladilnika, projekta, ki je hladil moje telo, ne da bi se moral potiti. Slaba stran tega je, da je trajalo le približno 5 minut. Zahvaljujoč sponzorstvu DFRobota sem lahko tokrat podaljšal t
Nosljivo zvočno reaktivno krilo izenačevalnika: 21 korakov (s slikami)
Nosljivo izenačevalno krilo, ki reagira na zvok: Nekaj časa sem želel oblikovati kos, ki deluje z zvokom. Ekvilajzer krilo ima vgrajeno elektroniko, ki se odziva na raven hrupa v svojem okolju. Integrirane LED diode so razporejene kot izravnalne palice, ki poudarjajo reakcijo zvoka
Gorilnik z USB pogonom! Ta projekt lahko gori iz plastike / lesa / papirja (zabaven projekt mora biti tudi iz zelo lesenega lesa): 3 koraki
Gorilnik z USB pogonom! Ta projekt lahko gori iz plastike / lesa / papirja (zabaven projekt mora biti tudi iz zelo lesenega lesa): NE NAČINITE TEGA Z UPORABO USB !!!! Iz vseh komentarjev sem ugotovil, da lahko poškoduje vaš računalnik. moj računalnik je v redu. Uporabite polnilnik za telefon 600m 5v. Uporabil sem to in deluje brezhibno in nič se ne poškoduje, če uporabite varnostni vtič za zaustavitev napajanja