Satura rādītājs:
- 1. darbība: materiāli un sastāvdaļas
- 2. solis: noformējiet aproci
- 3. darbība: elektroniskie savienojumi
- 4. solis: kods
- 5. solis: kopējā montāža
- 6. darbība: video
- 7. solis. Secinājums
Video: Valkājams - galīgais projekts: 7 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:54
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
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
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
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
Š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:
3D drukāts beigu spēles loka reaktors (filmas precīzs un valkājams): 7 soļi (ar attēliem)
3D drukāts Endgame Arc Reactor (Filmas precīzs un valkājams): pilna Youtube apmācība: Es nevarēju atrast īpaši filmas precīzus 3D failus Mark 50 loka reaktoram/nanodaļiņu korpusam, tāpēc mans draugs un es pagatavojām dažus saldos. Bija jāpielāgo daudz, lai lieta izskatītos precīza un satriecoša
Valkājams lukturis (ar CPX): 8 soļi
Valkājams lukturis (ar CPX): Sveiki visiem! Es uztaisīju valkājamu lukturīti, ko var nēsāt ap roku. Es izmantoju kodu no kodēšanas vietnes Adafruit, kurā jūs salikāt koda blokus. Šajā pamācībā es jums pastāstīšu, ko es darīju, lai kodētu CPX (Circuit Playground Ex
Valkājams fotonu bītbokss: 7 soļi
Valkājams Photon Beatbox: Šis projekts tika iedvesmots no fotonu sitienu kastes koda, ko atradu vietnē Adafruit: https://makecode.adafruit.com/examples/photon-beat..Es nolēmu sīkāk izstrādāt šo koncepciju, izmantojot kodu un padarot to par valkājamu elektronisku veste, kas mainīsies
[Valkājama pele] Uz Bluetooth balstīts valkājams peles kontrolieris operētājsistēmai Windows 10 un Linux: 5 soļi
[Valkājama pele] Uz Bluetooth balstīts valkājams peles kontrolieris operētājsistēmai Windows 10 un Linux: es izveidoju peles vadāmierīci, kuras pamatā ir Bluetooth un kuru var izmantot, lai kontrolētu peles rādītāju un veiktu ar datoru saistītas darbības, neaizskarot nevienu virsmu. Elektronisko shēmu, kas iestrādāta cimdā, var izmantot, lai izsekotu
Valkājams Raspberry Pi - projekts HUDPi: 7 soļi (ar attēliem)
Valkājams Raspberry Pi - projekts HUDPi: Pirmkārt, es sāku šo projektu kā veidu, kā normāliem cilvēkiem ar nelielu naudu iegūt jauku pieredzi paplašinātajā realitātē, taču es vēl neesmu tik daudz progresējis. Šī projekta kopējās izmaksas bija 40 USD un daudz pacietības. Lūdzu, atstājiet komentārus