Turinys:
- 1 žingsnis: medžiagos ir komponentai
- 2 žingsnis: suprojektuokite apyrankę
- 3 žingsnis: elektroniniai ryšiai
- 4 žingsnis: Kodas
- 5 žingsnis: Visas surinkimas
- 6 žingsnis: vaizdo įrašas
- 7 žingsnis: Išvada
Video: Nešioti - galutinis projektas: 7 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:46
ĮVADAS
Šiame projekte mes turėjome užduotį sukurti funkcionalų nešiojamą prototipą, pagrįstą kiborgo funkcijomis. Ar žinojote, kad jūsų širdis sinchronizuojasi su muzikos BPM? Galite pabandyti valdyti savo nuotaiką per muziką, bet kas, jei leisime technologijoms padėti mums nusiraminti? Mums reikia tik kai kurių komponentų, „Arduino“ir jūsų ausinių. Naujokime!
Marc Vila, Guillermo Stauffacher ir Pau Carcellé projektas
1 žingsnis: medžiagos ir komponentai
Statybinės medžiagos:
- 3D spausdinta apyrankė
- M3 varžtai (x8)
- M3 veržlės (x12)
- Fanny pakuotė
Elektroninės medžiagos:
-Širdies ritmo jutiklis BPM
- Mygtukai (x2)
- potenciometras
- LCD C 1602 MODULIS
- MODULIS DFPLAYER MINI MP3
- 3,5 mm „Jack Stereo“TRRS AUSINĖ
- „MicroSD“kortelė
- „Arduino Uno“plokštė
- Suvirintojas
- Bakelito plokštė
2 žingsnis: suprojektuokite apyrankę
Pirmiausia padarome keletą eskizų, kad sutvarkytume įvairius apyrankės komponentus.
Turėdami aiškią idėją, mes išmatavome tris grupės narių rankas, tada apskaičiavome vidurkį, kad surastume optimalų dizaino matą. Galiausiai suprojektuojame gaminį naudodami 3D programą ir atspausdiname 3D spausdintuvu.
Čia galite atsisiųsti. STL failus.
3 žingsnis: elektroniniai ryšiai
Mes ir toliau tikriname savo 3D dizainą, pirmą kartą surinkome visus prototipo komponentus, kad pamatytume, jog matavimai buvo ištaisyti.
Norėdami prijungti visus komponentus prie „Arduino“plokštės, mes atlikome skirtingas jungtis iš komponentų naudodami 0, 5 metrų kabelius, tokiu būdu sumažindami plokštės matomumą ir geriau organizuodami prototipą.
4 žingsnis: Kodas
Šis projektas yra kiborgo prototipas. Akivaizdu, kad mes neįvedėme komponentų po oda, todėl imitavome jį su apyranke kaip ortozę (išorinis prietaisas, pritaikytas prie kūno, siekiant pakeisti funkcinius aspektus).
Mūsų kodas priima vartotojo klavišų paspaudimus ir rodomas naudojant LCD ekraną. Be BPM, ekrane rodomas norimas intensyvumas, kad vartotojas galėtų jį palyginti su savo širdies ritmu. Yra daug situacijų, kai įdomu padidinti ar sumažinti savo BPM. Pavyzdžiui, ištvermės sportininkai turi kontroliuoti pulsaciją, kad nepervargtų per daug. Kasdienis pavyzdys būtų noras išsimiegoti ar nusiraminti esant nervinei situacijai. Jis taip pat galėtų būti taikomas kaip terapinis metodas žmonėms, sergantiems autizmu, siekiant sumažinti jų patiriamą stresą. Šalia ekrano yra du mygtukai norimam intensyvumui valdyti ir širdies ritmui padidinti arba sumažinti. Priklausomai nuo intensyvumo, grojama anksčiau ištirta muzikos rūšis. Yra tyrimų, kurie rodo, kad muzika gali pakeisti BPM. Remiantis dainos „Beats per Minute“duomenimis, žmogaus kūnas imituoja ir atitinka tuos BPM.
int SetResUp = 11; // „Arduino“kaištis 10 su intensyvumo didinimo mygtuku. int SetResDown = 12; // „Arduino“smeigtukas su intensyvumo mažinimo mygtuku
int ResButtonCounter = 0; // kartų skaitiklis, kuris padidina arba sumažina pasipriešinimo nustatymą, pradinė vertė 0 int ResButtonUpState = 0; // dabartinė intensyvumo didinimo mygtuko būsena int ResButtonDownState = 0; // dabartinė intensyvumo mažinimo mygtuko būsena int lastResButtonUpState = 0; // paskutinė intensyvumo didinimo mygtuko būsena int lastResButtonDownState = 0; // paskutinė intensyvumo mažinimo mygtuko būsena
int pulsePin = 0; // Impulsų jutiklis prijungtas prie A0 prievado // Šie kintamieji yra nepastovūs, nes jie naudojami pertraukimo rutinos metu antrame skirtuke. nepastovus int BPM; // Smūgiai per minutę nepastovus int Signal; // Impulso jutiklio duomenų įvestis nepastovus int IBI = 600; // Impulsų laiko nepastovus loginis pulsas Pulse = false; // Tiesa, kai impulsų banga aukšta, klaidinga, kai ji yra maža nepastovi loginė vertė QS = false;
# define Start_Byte 0x7E # define Version_Byte 0xFF # define Command_Length 0x06 # define End_Byte 0xEF # define Acknowledge 0x00 // Grąžina informaciją su komanda 0x41 [0x01: info, 0x00: no info]
// PANTALLA #include // Įkelkite LCD ekrano funkcijų biblioteką #include #include
„LiquidCrystal lcd“(7, 6, 5, 4, 3, 2); // Deklaruokite prievadus, prie kurių prijungtas LCD ekranas
// LEKTORIUS #include #include // Įkelkite biblioteką, skirtą modulio dfplayer mini MP3 funkcijoms.
char serialData; int giesmė; int v;
SoftwareSerial comm (9, 10); // Deklaruoti prievadus, prie kurių prijungtas DFPlayer DFRobotDFPlayerMini mp3;
void setup () {Serial.begin (9600); pinMode (SetResUp, INPUT); pinMode (SetResDown, INPUT);
// Nustatykite LCD matmenis (16x2) lcd.begin (16, 2); // Mes pasirenkame, kuriame stulpelyje ir kurioje eilutėje tekstas pradedamas rodyti // LECTOR comm.begin (9600);
mp3.begin (comm); // Komponentas pradeda serialData = (char) (('')); mp3.start (); Serial.println („Paleisti“); // Groti dainą mp3.tomas (25); // Apibrėžti garsumą}
void loop () {if (digitalRead (11) == LOW) {mp3.next (); // Jei paspaudžiamas mygtukas, daina praeina} if (digitalRead (12) == LOW) {mp3.previous (); // Jei paspaudžiamas mygtukas, ankstesnė daina} // if (SetResUp && SetResDown == LOW) {
int pulso = analogRead (A0); // Perskaitykite širdies ritmo monitoriaus, prijungto prie analoginio prievado A0, vertę
Serial.println (pulso/6); if (QS == true) {// Kiekybinio savęs vėliava yra tiesa, kaip arduino paieška BPM QS = false; // Iš naujo nustatyti kiekybinio savęs vėliavą}
lcd.setCursor (0, 0); // Rodyti norimą tekstą lcd.print ("BPM:"); lcd.setCursor (0, 1); // Rodyti norimą tekstą lcd.print ("INT:"); lcd.setCursor (5, 0); // Rodyti norimą tekstą lcd.print (pulso); lcd.setCursor (5, 1); // Rodyti norimą tekstą lcd.print (ResButtonCounter); vėlavimas (50); lcd.clear (); ResButtonUpState = digitalRead (SetResUp); ResButtonDownState = digitalRead (SetResDown);
// palyginti TempButtonState su ankstesne būsena
if (ResButtonUpState! = lastResButtonUpState && ResButtonUpState == LOW) {// jei pasikeitė paskutinė būsena, padidinkite skaitiklį
„ResButtonCounter“++; }
// išsaugoti dabartinę būseną kaip paskutinę būseną, // kitą kartą, kai ciklas vykdomas lastResButtonUpState = ResButtonUpState;
// palyginkite mygtuko būseną (padidinkite arba sumažinkite) su paskutine būsena
if (ResButtonDownState! = lastResButtonDownState && ResButtonDownState == LOW) {
// jei pasikeitė paskutinė būsena, sumažinkite skaitiklį
ResButtonCounter--; }
// išsaugoti dabartinę būseną kaip paskutinę būseną, // kitą kartą, kai kilpa vykdoma lastResButtonDownState = ResButtonDownState; {Serial.println (ResButtonCounter);
if (ResButtonCounter> = 10) {ResButtonCounter = 10; }
if (ResButtonCounter <1) {ResButtonCounter = 1; }
}
}
5 žingsnis: Visas surinkimas
Tinkamai užprogramuotas kodas ir dvi mūsų prototipo dalys jau surinktos. Mes dedame visus komponentus į vietą ir sujungiame juostele, kad pritvirtintume prie apyrankės. Apyrankėje esantys komponentai yra širdies ritmo jutiklis BPM, du mygtukai, potenciometras ir skystųjų kristalų ekranas, kiekvienas jų atitinkamoje skylėje, anksčiau suplanuotoje 3D faile. Atlikę pirmąją dalį, mes sutelkiame dėmesį į protobondą, kiekvieną jungtį ant tinkamo „Arduino“plokštės kaiščio. Galiausiai, patikrinę kiekvieno komponento veikimą, įdėjome jį į maišelį, kad paslėptumėte laidus.
6 žingsnis: vaizdo įrašas
7 žingsnis: Išvada
Įdomiausia šiame projekte - išmokti nesąmoningai mėgdžioti žmogaus kūną muzika. Tai atveria duris daugeliui ateities projektų galimybių. Manau, kad tai yra baigtas projektas, mes turime gana daug komponentų su veikiančiu kodu. Jei pradėtume iš naujo, galvotume apie kitas komponentų alternatyvas arba pirktume jas geresnės kokybės. Turėjome daug problemų dėl nutrūkusių kabelių ir suvirinimo, jie yra nedideli ir labai subtilūs (ypač BPM). Kita vertus, turite būti atsargūs jungdami komponentus, jie turi daug išėjimų ir lengva padaryti klaidų.
Tai labai praturtinantis projektas, kuriame mes palietėme daugybę įvairių „Arduino“aparatinės ir programinės įrangos galimybių.
Rekomenduojamas:
Linijos sekėjas „HoGent“- „Synthese“projektas: 8 žingsniai
Linijos sekėjas HoGent - Syntheseproject: Voor het vak syntheseproject kregen we de 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
Gimbalo stabilizatoriaus projektas: 9 žingsniai (su nuotraukomis)
„Gimbal Stabilizer Project“: kaip padaryti gimbalą Sužinokite, kaip padaryti 2 ašių gimbalą jūsų veiksmo kamerai. Šiandienos kultūroje mes visi mėgstame įrašyti vaizdo įrašus ir užfiksuoti akimirkas, ypač kai esate turinio kūrėjas, kaip aš, tikrai susidūrėte su problema toks neramus video
AI padeda akims (kompiuterinė regėjimo sistema, primenanti operatoriams nešioti apsauginius akinius): 4 žingsniai
AI padeda akims (kompiuterinė regėjimo sistema, primenanti operatoriams nešioti apsauginius akinius): čia yra sistemos demonstracija. Kai sistema nustato, kad grąžtas paimtas, ji automatiškai įspės apsauginius akinius. Kad būtų parodyti įspėjimai apie apsauginius akinius, demonstracinėje versijoje RGB vaizdo kraštinė yra raudona
Nešioti, kad švytėtų: žibintuvėlis su palmių šiluma: 9 žingsniai
Dėvėkite, kad švytėtų: žibintuvėlis su palmių šiluma: Šioje pamokoje aš jums parodysiu nuostabų žibintuvėlį, kuris švyti iškart sugriebus jį į delną be jokio išorinio maitinimo šaltinio. Jis naudoja jūsų kūno šilumą, kad galėtų valdyti save. Šviesa yra pakankamai ryški, kad būtų galima ką nors rasti ir skaityti
USB degiklis! Šis projektas gali sudegti per plastiką / medieną / popierių (įdomus projektas taip pat turi būti labai plonas medis): 3 žingsniai
USB degiklis! Šis projektas gali sudegti per plastiką / medieną / popierių (įdomus projektas taip pat turi būti labai plonas medis): NEDARYKITE ŠIO NAUDOTI USB! iš visų komentarų sužinojau, kad tai gali pakenkti jūsų kompiuteriui. mano kompiuteris gerai. Naudokite 600 mA 5v telefono įkroviklį. Aš tai naudoju ir jis veikia gerai, ir niekas negali būti sugadintas, jei naudosite apsauginį kištuką, kad sustabdytumėte maitinimą