Satura rādītājs:

Valkājams - galīgais projekts: 7 soļi
Valkājams - galīgais projekts: 7 soļi

Video: Valkājams - galīgais projekts: 7 soļi

Video: Valkājams - galīgais projekts: 7 soļi
Video: Java On Conference 2022, JDK 19, Spring Framework 6 и Spring Boot 3 [Новости MJC #11] 2024, Novembris
Anonim
Valkājams - galīgais projekts
Valkājams - galīgais projekts

IEVADS

Šajā projektā mums bija uzdevums izveidot funkcionālu valkājamu prototipu, pamatojoties uz kiborga funkcijām. Vai zinājāt, ka jūsu sirds sinhronizējas ar mūzikas BPM? Jūs varat mēģināt kontrolēt savu garastāvokli, izmantojot mūziku, bet kas notiks, ja ļausim tehnoloģijām palīdzēt mums nomierināties? Mums vajag tikai dažus komponentus, Arduino un jūsu austiņas. Ieviesīsim jauninājumus!

Projekta autori: Marc Vila, Guillermo Stauffacher un Pau Carcellé

1. darbība: materiāli un sastāvdaļas

Materiāli un sastāvdaļas
Materiāli un sastāvdaļas

Būvmateriāli:

- 3D apdrukāta aproce

- M3 skrūves (x8)

- M3 uzgriežņi (x12)

- Fanny pack

Elektroniskie materiāli:

-Sirdsdarbības ātruma sensors BPM

- Pogas (x2)

- potenciometrs

- LCD C 1602 MODULIS

- MODULIS DFPLAYER MINI MP3

- 3,5 mm Jack stereo TRRS austiņas

- MicroSD karte

- Arduino Uno plāksne

- metinātājs

- Bakelīta plāksne

2. solis: noformējiet aproci

Izveidojiet aproci
Izveidojiet aproci
Izveidojiet aproci
Izveidojiet aproci

Vispirms mēs izveidojam vairākas skices, lai sakārtotu dažādus aproces komponentus.

Ar skaidru ideju mēs izmērījām trīs grupas dalībnieku rokas, pēc tam izveidojām vidējo, lai atrastu optimālo izmēru dizainam. Visbeidzot, mēs izstrādājam izstrādājumu ar 3D programmu un izdrukājam to ar 3D printeri.

Šeit varat lejupielādēt. STL failus.

3. darbība: elektroniskie savienojumi

Elektroniskie savienojumi
Elektroniskie savienojumi

Mēs turpinām veikt nepieciešamās mūsu 3D dizaina pārbaudes, mēs pirmo reizi salikām visas prototipa sastāvdaļas, lai redzētu, ka mērījumi ir laboti.

Lai savienotu visas sastāvdaļas ar Arduino plāksni, mēs izveidojām dažādus savienojumus no komponentiem, izmantojot 0, 5 metru kabeļus, tādā veidā mēs samazinām plāksnes redzamību un labāk organizējam prototipu.

4. solis: kods

Kods
Kods
Kods
Kods
Kods
Kods

Šis projekts ir kiborga prototips. Acīmredzot mēs neesam ievadījuši komponentus zem ādas, tāpēc esam to simulējuši ar aproci kā ortozi (ārēja ierīce, kas uzlikta ķermenim, lai mainītu funkcionālos aspektus).

Mūsu kods uzņem lietotāja taustiņus un parāda tos, izmantojot LCD ekrānu. Papildus BPM ekrānā tiek parādīta vēlamā intensitāte, lai lietotājs varētu to salīdzināt ar savu sirdsdarbības ātrumu. Ir daudz situāciju, kad ir interesanti palielināt vai samazināt savu BPM. Piemēram, izturības sportistiem ir jākontrolē pulsācijas, lai nenogurdinātu pārmērīgi. Ikdienas piemērs būtu vēlme gulēt vai nomierināties nervu situācijā. To varētu izmantot arī kā terapeitisku metodi cilvēkiem ar autismu, lai mazinātu stresu, ko viņi izjūt. Blakus ekrānam ir divas pogas, lai kontrolētu vēlamo intensitāti un palielinātu vai samazinātu sirdsdarbības ātrumu. Atkarībā no intensitātes tiek atskaņots iepriekš izpētīts mūzikas veids. Ir pētījumi, kas liecina, ka mūzika var mainīt BPM. Saskaņā ar dziesmas sitieniem minūtē, cilvēka ķermenis atdarina un atbilst šiem BPM.

int SetResUp = 11; // Arduino 10. tapa ar intensitātes palielināšanas pogu. int SetResDown = 12; // Arduino 11. tapa ar intensitātes samazināšanas pogu

int ResButtonCounter = 0; // reizes skaitītājs, kas palielina vai samazina pretestības iestatījumu, sākotnējā vērtība 0 int ResButtonUpState = 0; // intensitātes palielināšanas pogas pašreizējais stāvoklis int ResButtonDownState = 0; // intensitātes samazināšanas pogas pašreizējais stāvoklis int lastResButtonUpState = 0; // intensitātes palielināšanas pogas pēdējais stāvoklis int lastResButtonDownState = 0; // intensitātes samazināšanas pogas pēdējais stāvoklis

int pulsePin = 0; // Impulsa sensors pievienots portam A0 // Šie mainīgie ir nepastāvīgi, jo tiek izmantoti pārtraukšanas rutīnas laikā otrajā cilnē. gaistošs int BPM; // Sitieni minūtē gaistoši int Signāls; // Pulsa sensora datu ievade gaistoša int IBI = 600; // Pulse time volatile boolean Pulse = false; // Patiess, ja impulsa vilnis ir augsts, nepatiess, ja tas ir Zems gaistošais Būla QS = nepatiess;

# define Start_Byte 0x7E # define Version_Byte 0xFF # define Command_Length 0x06 # define End_Byte 0xEF # define Acknowledge 0x00 // Atgriež informāciju ar komandu 0x41 [0x01: info, 0x00: nav informācijas]

// PANTALLA #include // Augšupielādējiet bibliotēku LCD ekrāna funkcijām #include #include

LiquidCrystal LCD (7, 6, 5, 4, 3, 2); // Deklarējiet portus, kur ir pievienots LCD

// LEKTORS #include #include // Augšupielādējiet bibliotēku moduļa dfplayer mini MP3 funkcijām.

char serialData; int dziesma; int v;

SoftwareSerial comm (9, 10); // Deklarējiet portus, kur ir pievienots DFPlayer DFRobotDFPlayerMini mp3;

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

// Definējiet LCD izmērus (16x2) lcd.begin (16, 2); // Mēs izvēlamies, kurā kolonnā un kurā rindā teksts sāk parādīties // LECTOR comm.begin (9600);

mp3.begin (comm); // Komponents sāk serialData = (char) (('')); mp3.start (); Serial.println ("Atskaņot"); // Atskaņot dziesmu mp3.sējums (25); // Skaļuma definēšana}

void loop () {if (digitalRead (11) == LOW) {mp3.next (); // Ja tiek nospiesta poga, dziesma pāriet} if (digitalRead (12) == LOW) {mp3.previous (); // Ja tiek nospiesta poga, iepriekšējā dziesma} // if (SetResUp && SetResDown == LOW) {

int pulso = analogRead (A0); // Nolasiet sirds ritma monitora vērtību, kas pievienots analogajam portam A0

Serial.println (pulso/6); if (QS == true) {// Kvantitatīvā sevis karogs ir patiess kā arduino meklēšana BPM QS = false; // Atiestatīt skaitliski norādītā karoga}

lcd.setCursor (0, 0); // Parādīt vēlamo tekstu lcd.print ("BPM:"); lcd.setCursor (0, 1); // Parādīt vēlamo tekstu lcd.print ("INT:"); lcd.setCursor (5, 0); // Parādīt vēlamo tekstu lcd.print (pulso); lcd.setCursor (5, 1); // Parādīt vēlamo tekstu lcd.print (ResButtonCounter); kavēšanās (50); lcd.clear (); ResButtonUpState = digitalRead (SetResUp); ResButtonDownState = digitalRead (SetResDown);

// salīdziniet TempButtonState ar iepriekšējo stāvokli

if (ResButtonUpState! = lastResButtonUpState && ResButtonUpState == LOW) {// ja mainījās pēdējais stāvoklis, palieliniet skaitītāju

ResButtonCounter ++; }

// saglabāt pašreizējo stāvokli kā pēdējo stāvokli, // nākamreiz, kad cilpa tiek izpildīta lastResButtonUpState = ResButtonUpState;

// salīdziniet pogas stāvokli (palieliniet vai samaziniet) ar pēdējo stāvokli

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

// ja mainījies pēdējais stāvoklis, samaziniet skaitītāju

ResButtonCounter--; }

// saglabāt pašreizējo stāvokli kā pēdējo stāvokli, // nākamreiz, kad cilpa tiek izpildīta lastResButtonDownState = ResButtonDownState; {Serial.println (ResButtonCounter);

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

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

}

}

5. solis: kopējā montāža

Ja kods ir ieprogrammēts pareizi un abas mūsu prototipa daļas jau ir samontētas. Mēs ievietojam visas sastāvdaļas savās vietās un savienojam to ar lenti, lai to piestiprinātu pie rokassprādzes. Rokassprādzes sastāvdaļas ir sirdsdarbības sensors BPM, divas pogas, potenciometrs un LCD ekrāns, katrs savā attiecīgajā caurumā, kas iepriekš izveidots 3D failā. Kad pirmā daļa ir pabeigta, mēs koncentrējamies uz protobordu, katrs savienotājs uz pareizā Arduino plates tapas. Visbeidzot, pārbaudot katra komponenta darbību, mēs to ievietojām fanny pack, lai paslēptu vadus.

6. darbība: video

7. solis. Secinājums

Interesantākais šajā projektā ir uzzināt par cilvēka ķermeņa neapzinātu atdarināšanu ar mūziku. Tas paver durvis daudzām nākotnes projektu iespējām. Es domāju, ka tas ir pilnīgs projekts, mums ir diezgan dažādi komponenti ar izstrādātu kodu. Ja mēs sāktu no jauna, mēs domātu par citām sastāvdaļu alternatīvām vai iegādātos tās labākas kvalitātes. Mums ir bijušas daudz problēmu ar salauztiem kabeļiem un metinājumiem, tie ir mazi un ļoti delikāti (īpaši BPM). No otras puses, jums jābūt uzmanīgiem, savienojot komponentus, tiem ir daudz izeju un ir viegli kļūdīties.

Tas ir ļoti bagātinošs projekts, kurā mēs esam pieskārušies visdažādākajām Arduino aparatūras un programmatūras iespējām.

Ieteicams: