Sadržaj:
- Korak 1: Materijali i komponente
- Korak 2: Dizajnirajte narukvicu
- Korak 3: Elektroničke veze
- Korak 4: Kôd
- Korak 5: Potpuna montaža
- Korak 6: Video
- Korak 7: Zaključak
Video: Nosivi - Završni projekt: 7 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:34
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
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
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
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
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:
Nosivi svjetlosni jack-O-lantern: 5 koraka (sa slikama)
Wearable Light Up Jack-O-Lantern: Evo sjajnog 3D ispisanog projekta koji treba poduzeti neposredno prije Noći vještica. Slijedite dolje navedene korake kako biste od sebe napravili nosivi Light Up 3D ispisani Jack-O-Lantern koji možete nositi oko vrata ili staviti na radni stol kako biste ušli u Hallowe
Izradite nosivi uređaj za praćenje kretanja (BLE od Arduina do prilagođene aplikacije za Android Studio): 4 koraka
Izradite nosivi uređaj za praćenje kretanja (BLE od Arduina do prilagođene aplikacije za Android Studio): Bluetooth Low Energy (BLE) je oblik Bluetooth komunikacije niske snage. Nosivi uređaji, poput pametnih odjevnih predmeta koje pomažem dizajnirati na Predictive Wear -u, moraju ograničiti potrošnju energije kad god je to moguće kako bi se produljilo trajanje baterije i često koriste BLE
Nosivi fotonski beat box: 7 koraka
Wearable Photon Beatbox: Ovaj projekt inspiriran je kodom za fotonsku kutiju koji sam pronašao na Adafruit-u: https://makecode.adafruit.com/examples/photon-beat … Odlučio sam razraditi ovaj koncept uzevši kod i pretvarajući ga u nosivi elektronički prsluk koji će promijeniti
[Nosivi miš] Kontroler nosivog miša na bazi Bluetooth-a za Windows 10 i Linux: 5 koraka
[Nosivi miš] Kontroler nosivog miša na bazi Bluetooth-a za Windows 10 i Linux: Napravio sam kontroler miša temeljen na Bluetooth-u koji se može koristiti za upravljanje pokazivačem miša i izvođenje operacija povezanih s mišem s računara u hodu, bez dodirivanja bilo koje površine. Elektroničko kolo, ugrađeno u rukavicu, može se koristiti za praćenje h
Nosivi senzor pulsa: 10 koraka (sa slikama)
Nosivi senzor pulsa: Opis projektaOvaj projekt se bavi projektiranjem i stvaranjem nosive opreme koja će uzeti u obzir zdravlje korisnika koji će je nositi. Njegov je cilj djelovati poput egzoskeleta čija je funkcija opustiti i smiriti korisnika tijekom