Sadržaj:

Nosivi - Završni projekt: 7 koraka
Nosivi - Završni projekt: 7 koraka

Video: Nosivi - Završni projekt: 7 koraka

Video: Nosivi - Završni projekt: 7 koraka
Video: Основные ошибки при возведении перегородок из газобетона #5 2024, Studeni
Anonim
Nosivi - završni projekt
Nosivi - završni projekt

UVOD

U ovom projektu imali smo zadatak izraditi funkcionalni nosivi prototip na temelju funkcija kiborga. Jeste li znali da se vaše srce sinkronizira s BPM glazbe? Svojim raspoloženjem možete pokušati kontrolirati glazbu, ali što ako dopustimo da nam tehnologija pomogne da se smirimo? Trebamo samo neke komponente, Arduino i vaše slušalice. Idemo inovirati!

Projekt Marc Vila, Guillermo Stauffacher i Pau Carcellé

Korak 1: Materijali i komponente

Materijali i komponente
Materijali i komponente

Građevinski materijal:

- 3D tiskana narukvica

- vijci M3 (x8)

- matice M3 (x12)

- Fanny čopor

Elektronički materijali:

-Senzor otkucaja srca BPM

- Gumbi (x2)

- Potenciometar

- LCD C 1602 MODUL

- MODUL DFPLAYER MINI MP3

- 3,5 mm Jack stereo stereo TRRS SLUŠALICA

- MicroSD kartica

- Arduino Uno ploča

- Zavarivač

- Bakelitna ploča

Korak 2: Dizajnirajte narukvicu

Dizajnirajte narukvicu
Dizajnirajte narukvicu
Dizajnirajte narukvicu
Dizajnirajte narukvicu

Prvo napravimo nekoliko skica kako bismo organizirali različite komponente u narukvici.

S jasnom idejom, mjerili smo tri ruke članova grupe, zatim smo napravili prosjek kako bismo pronašli optimalnu mjeru za dizajn. Na kraju dizajniramo proizvod s 3D programom i ispisujemo ga 3D pisačem.

Ovdje možete preuzeti. STL datoteke.

Korak 3: Elektroničke veze

Elektroničke veze
Elektroničke veze

Nastavljamo s potrebnim provjerama našeg 3D dizajna, napravili smo prvi sklop svih komponenti u prototipu kako bismo vidjeli jesu li mjerenja ispravna.

Za spajanje svih komponenti na Arduino ploču, napravili smo različite spojeve od komponenti pomoću kabela od 0,5 metara, na taj način smanjujemo vidljivost ploče i bolje organiziramo prototip.

Korak 4: Kôd

Kod
Kod
Kod
Kod
Kod
Kod

Ovaj projekt je prototip kiborga. Očito nismo unijeli komponente ispod kože, pa smo ih simulirali narukvicom kao ortozu (vanjski uređaj primijenjen na tijelo radi izmjene funkcionalnih aspekata).

Naš kôd uzima korisničke pritiske tipki i prikazuje ih pomoću LCD zaslona. Osim BPM -a, zaslon prikazuje željeni intenzitet kako bi ga korisnik mogao usporediti sa svojim otkucajima srca. Postoje mnoge situacije u kojima je zanimljivo povećati ili smanjiti vlastiti BPM. Na primjer, sportaši izdržljivosti moraju kontrolirati pulsiranje kako se ne bi previše umarali. Svakodnevni primjer bio bi htjeti spavati ili se smiriti u nervoznoj situaciji. Također se može primijeniti kao terapijska metoda za osobe s autizmom kako bi se smanjio stres koji osjećaju. Pokraj zaslona nalaze se dvije tipke za kontrolu željenog intenziteta i povećanje ili smanjenje otkucaja srca. Ovisno o intenzitetu, svira se prethodno proučena vrsta glazbe. Postoje studije koje pokazuju da glazba može promijeniti BPM. Prema Beats per Minute pjesme, ljudsko tijelo oponaša i podudara se s tim BPM -om.

int SetResUp = 11; // pin 10 Arduina s gumbom za povećanje intenziteta.int SetResDown = 12; // pin 11 Arduina s gumbom za smanjenje intenziteta

int ResButtonCounter = 0; // brojač puta koji povećava ili smanjuje postavku otpora, početna vrijednost 0 int ResButtonUpState = 0; // trenutno stanje gumba za povećanje intenziteta int ResButtonDownState = 0; // trenutno stanje gumba za smanjenje intenziteta int lastResButtonUpState = 0; // zadnje stanje gumba za povećanje intenziteta int lastResButtonDownState = 0; // zadnje stanje gumba za smanjenje intenziteta

int pulsPin = 0; // Pulsni osjetnik spojen na priključak A0 // Ove su varijable promjenjive jer se koriste tijekom rutine prekida na drugoj kartici. hlapljivi int BPM; // Otkucaji u minuti volatile int Signal; // Unos podataka osjetnika pulsa promjenjiv int IBI = 600; // Vrijeme pulsa promjenjivo boolean Pulse = false; // Tačno kada je pulsni val visok, netočno kada je nisko hlapljivo boolean QS = false;

# define Start_Byte 0x7E # definirajte Version_Byte 0xFF # definirajte Command_Length 0x06 # definirajte End_Byte 0xEF # definirajte Potvrda 0x00 // Vraća informacije naredbom 0x41 [0x01: info, 0x00: nema podataka]

// PANTALLA #include // Prenesite biblioteku za funkcije LCD zaslona #include #include

LCD tekući kristal (7, 6, 5, 4, 3, 2); // Deklarirajte portove na koje je priključen LCD

// LECTOR #include #include // Prenesite biblioteku za funkcije modula dfplayer mini MP3.

char serialData; int nsong; int v;

SoftwareSerial comm (9, 10); // Deklarirajte portove na koje je povezan DFPlayer DFRobotDFPlayerMini mp3;

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

// Definiranje dimenzija LCD -a (16x2) lcd.begin (16, 2); // Odabiremo u kojem stupcu i u kojem retku se tekst počinje prikazivati // LECTOR comm.begin (9600);

mp3.početi (comm); // Komponenta počinje serialData = (char) (('')); mp3.start (); Serial.println ("Reproduciraj"); // Reproduciraj pjesmu mp3.volume (25); // Definiraj glasnoću}

void loop () {if (digitalRead (11) == LOW) {mp3.next (); // Ako je gumb pritisnut, pjesma prolazi} if (digitalRead (12) == LOW) {mp3.previous (); // Ako je gumb pritisnut, prethodna pjesma} // if (SetResUp && SetResDown == LOW) {

int pulso = analogno čitanje (A0); // Očitajte vrijednost monitora otkucaja srca spojenog na analogni priključak A0

Serijski.println (pulso/6); if (QS == true) {// Zastava kvantificiranog ja je istinita poput arduino pretraživanja BPM QS = false; // Poništite zastavicu kvantificiranog sebe}

lcd.setCursor (0, 0); // Prikaz željenog teksta lcd.print ("BPM:"); lcd.setCursor (0, 1); // Prikaz željenog teksta lcd.print ("INT:"); lcd.setCursor (5, 0); // Prikaz željenog teksta lcd.print (pulso); lcd.setCursor (5, 1); // Prikaz željenog teksta lcd.print (ResButtonCounter); kašnjenje (50); lcd.clear (); ResButtonUpState = digitalno čitanje (SetResUp); ResButtonDownState = digitalno čitanje (SetResDown);

// usporedimo TempButtonState s prijašnjim stanjem

if (ResButtonUpState! = lastResButtonUpState && ResButtonUpState == LOW) {// ako se zadnje stanje promijenilo, povećajte brojač

ResButtonCounter ++; }

// spremanje trenutnog stanja kao posljednjeg stanja, // sljedeći put kada se petlja izvršava lastResButtonUpState = ResButtonUpState;

// usporedimo stanje gumba (povećanje ili smanjenje) s posljednjim stanjem

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

// ako se zadnje stanje promijenilo, smanjite brojač

ResButtonCounter--; }

// spremanje trenutnog stanja kao posljednjeg stanja, // sljedeći put kada se petlja izvršava lastResButtonDownState = ResButtonDownState; {Serial.println (ResButtonCounter);

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

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

}

}

Korak 5: Potpuna montaža

S ispravno programiranim kodom i dva dijela našeg prototipa već sastavljenim. Stavili smo sve komponente na mjesto i spojili ih trakom kako bismo je pričvrstili na narukvicu. Komponente koje se nalaze u narukvici su senzor otkucaja srca BPM, dva gumba, potenciometar i LCD zaslon, svaki u odgovarajućoj rupi prethodno dizajniran u 3D datoteci. S dovršenim prvim dijelom, fokusiramo se na protoboard, svaki konektor na ispravnom pinu Arduino ploče. Konačno, uz provjereni rad svake komponente, stavili smo je u fanny paket kako bismo sakrili žice.

Korak 6: Video

Korak 7: Zaključak

Najzanimljivije u ovom projektu je učenje o oponašanju ljudskog tijela nesvjesno glazbom. Ovo otvara vrata mnogim mogućnostima za buduće projekte. Mislim da je ovo kompletan projekt, imamo dosta različitih komponenti s radnim kodom. Ako počnemo iznova, razmislili bismo o drugim zamjenskim komponentama ili ih kupili bolje kvalitete. Imali smo puno problema sa pokidanim kabelima i zavarivanjem, oni su mali i vrlo osjetljivi (posebno BPM). S druge strane, morate biti oprezni pri povezivanju komponenti, jer imaju mnogo izlaza i lako je pogriješiti.

To je vrlo bogat projekt u kojem smo se dotakli širokog spektra Arduino hardverskih i softverskih opcija.

Preporučeni: