Indholdsfortegnelse:
- Trin 1: Materialer og komponenter
- Trin 2: Design et armbånd
- Trin 3: Elektroniske forbindelser
- Trin 4: Koden
- Trin 5: Total samling
- Trin 6: Video
- Trin 7: Konklusion
Video: Bærbar - Afsluttende projekt: 7 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:27
INTRODUKTION
I dette projekt havde vi til opgave at lave en funktionel bærbar prototype baseret på en cyborg -funktioner. Vidste du, at dit hjerte synkroniserer med BPM af musik? Du kan prøve at kontrollere dit humør gennem musik, men hvad nu hvis vi lader teknologien hjælpe os med at falde til ro? Vi mangler bare nogle komponenter, en Arduino og dine hovedtelefoner. Lad os innovere!
Projekt af Marc Vila, Guillermo Stauffacher og Pau Carcellé
Trin 1: Materialer og komponenter
Byggematerialer:
- 3D -trykt armbånd
- M3 skruer (x8)
- M3 møtrikker (x12)
- Fanny pack
Elektroniske materialer:
-Pulsfrekvenssensor BPM
- Knapper (x2)
- Potentiometer
- LCD C 1602 MODUL
- MODULE DFPLAYER MINI MP3
- 3,5 mm Jack Stereo TRRS HEADSET
- MicroSD -kort
- Arduino Uno -tallerken
- Svejser
- Bakelitplade
Trin 2: Design et armbånd
Først laver vi flere skitser for at organisere de forskellige komponenter i armbåndet.
Med den klare idé tog vi målinger af gruppens tre arme, derefter lavede vi gennemsnittet for at finde det optimale mål for designet. Endelig designer vi produktet med et 3d -program og udskriver det med en 3D -printer.
Du kan downloade. STL -filerne her.
Trin 3: Elektroniske forbindelser
Vi fortsætter med at foretage de nødvendige kontroller af vores 3d -design, vi lavede en første samling af alle komponenterne i prototypen for at se, at målingerne var korrekte.
For at forbinde alle komponenterne til Arduino -kortet lavede vi forskellige forbindelser fra komponenterne ved hjælp af 0, 5 meter kabler, på denne måde reducerer vi tavlens synlighed, og vi organiserer prototypen bedre.
Trin 4: Koden
Dette projekt er en cyborg -prototype. Vi har naturligvis ikke introduceret komponenterne under huden, så vi har simuleret det med et armbånd som en ortose (ekstern enhed påført kroppen for at ændre de funktionelle aspekter).
Vores kode tager brugerens tastetryk og viser dem ved hjælp af LCD -skærmen. Ud over BPM viser skærmen den ønskede intensitet, så brugeren kan sammenligne den med sin puls. Der er mange situationer, hvor det er interessant at øge eller reducere din egen BPM. For eksempel skal udholdenhedsudøvere kontrollere pulsationerne for ikke at blive for trætte. Et dagligdags eksempel ville være at ville sove eller falde til ro i en nervøs situation. Det kan også anvendes som en terapeutisk metode for mennesker med autisme til at reducere den stress, de føler. Ved siden af skærmen er der to knapper til at styre den ønskede intensitet og øge eller reducere pulsen. Afhængigt af intensiteten afspilles en tidligere undersøgt type musik. Der er undersøgelser, der viser, at musik kan ændre BPM. Ifølge Beats per Minute i sangen efterligner og sammenligner menneskekroppen disse BPM.
int SetResUp = 11; // pin 10 af Arduino med intensitetsforøgelsesknap. int SetResDown = 12; // pin 11 af Arduino med intensitetsknap
int ResButtonCounter = 0; // gange tæller, der øger eller formindsker modstandsindstillingen, startværdien på 0 int ResButtonUpState = 0; // nuværende tilstand af intensitetsforøgelsesknappen int ResButtonDownState = 0; // Aktuel tilstand af intensitetsfaldsknappen int lastResButtonUpState = 0; // sidste tilstand af intensitetsforøgelsesknappen int lastResButtonDownState = 0; // sidste tilstand af intensitetsknappen
int pulsPin = 0; // Pulssensor forbundet til port A0 // Disse variabler er flygtige, fordi de bruges under afbrydelsesrutinen i den anden fane. flygtig int BPM; // Beats per minute flygtige int Signal; // Pulssensordataindgang flygtig int IBI = 600; // Pulstid flygtig boolsk puls = falsk; // Sandt når pulsbølgen er høj, falsk når den er lav flygtig boolsk QS = falsk;
# definere Start_Byte 0x7E # definere Version_Byte 0xFF # definere Command_Length 0x06 # definere End_Byte 0xEF # definere Bekræft 0x00 // Returnerer info med kommando 0x41 [0x01: info, 0x00: ingen info]
// PANTALLA #include // Upload biblioteket for funktionerne på LCD -skærmen #include #include
LiquidCrystal lcd (7, 6, 5, 4, 3, 2); // Angiv de porte, hvor LCD'et er tilsluttet
// LECTOR #include #include // Upload biblioteket til funktionerne i modulet dfplayer mini MP3.
char serialData; int nsong; int v;
SoftwareSerial comm (9, 10); // Angiv de porte, hvor DFPlayer er tilsluttet DFRobotDFPlayerMini mp3;
ugyldig opsætning () {Serial.begin (9600); pinMode (SetResUp, INPUT); pinMode (SetResDown, INPUT);
// Definer dimensionerne på LCD (16x2) lcd.begin (16, 2); // Vi vælger i hvilken kolonne og i hvilken linje teksten begynder at vise // LECTOR comm.begin (9600);
mp3.begynd (komm); // Komponent starter serialData = (char) (('')); mp3.start (); Serial.println ("Afspil"); // Afspil en sang mp3.volumen (25); // Definer lydstyrke}
void loop () {if (digitalRead (11) == LOW) {mp3.next (); // Hvis der trykkes på knappen, passerer sangen} if (digitalRead (12) == LOW) {mp3.previous (); // Hvis der trykkes på knappen, den forrige sang} // if (SetResUp && SetResDown == LOW) {
int pulso = analogRead (A0); // Læs værdien af pulsmåleren, der er tilsluttet den analoge port A0
Serial.println (pulso/6); hvis (QS == true) {// Flag of Quantified Self er sandt som arduino -søgningen, er BPM QS = false; // Nulstil flaget for kvantificeret selv}
lcd.setCursor (0, 0); // Vis den ønskede tekst lcd.print ("BPM:"); lcd.setCursor (0, 1); // Vis den ønskede tekst lcd.print ("INT:"); lcd.setCursor (5, 0); // Vis den ønskede tekst lcd.print (pulso); lcd.setCursor (5, 1); // Vis den ønskede tekst lcd.print (ResButtonCounter); forsinkelse (50); lcd.clear (); ResButtonUpState = digitalRead (SetResUp); ResButtonDownState = digitalRead (SetResDown);
// sammenligne TempButtonState med sin tidligere tilstand
hvis (ResButtonUpState! = lastResButtonUpState && ResButtonUpState == LOW) {// hvis den sidste tilstand ændrede sig, øges tælleren
ResButtonCounter ++; }
// gem den aktuelle tilstand som den sidste tilstand, // for næste gang sløjfen udføres lastResButtonUpState = ResButtonUpState;
// sammenligne tastens tilstand (forøg eller formindsk) med den sidste tilstand
hvis (ResButtonDownState! = lastResButtonDownState && ResButtonDownState == LOW) {
// hvis den sidste tilstand ændres, skal tælleren reduceres
ResButtonCounter--; }
// gem den aktuelle tilstand som den sidste tilstand, // for næste gang sløjfen udføres lastResButtonDownState = ResButtonDownState; {Serial.println (ResButtonCounter);
hvis (ResButtonCounter> = 10) {ResButtonCounter = 10; }
hvis (ResButtonCounter <1) {ResButtonCounter = 1; }
}
}
Trin 5: Total samling
Med koden programmeret korrekt og de to dele af vores prototype allerede samlet. Vi sætter alle komponenterne på plads og forbinder det med tape for at fastgøre det til armbåndet. Komponenterne i armbåndet er pulsmålerens BPM, de to knapper, potentiometer og LCD -skærmen, hver i sit respektive hul, der tidligere var designet i 3D -filen. Når den første del er færdig, fokuserer vi på protoboardet, hvert stik på den korrekte pin på Arduino -kortet. Endelig, med den verificerede drift af hver komponent, lagde vi den i fanny -pakken for at skjule ledningerne.
Trin 6: Video
Trin 7: Konklusion
Det mest interessante ved dette projekt er at lære at efterligne menneskekroppen ubevidst med musik. Dette åbner døren til mange muligheder for fremtidige projekter. Jeg synes, at dette er et komplet projekt, vi har en lang række komponenter med en fungeret kode. Hvis vi starter igen, ville vi tænke på andre komponentalternativer eller købe dem af bedre kvalitet. Vi har haft mange problemer med ødelagte kabler og svejsninger, de er små og meget sarte (især BPM). På den anden side skal du være forsigtig, når du tilslutter komponenterne, de har mange output, og det er let at lave fejl.
Det er et meget berigende projekt, hvor vi har berørt en lang række Arduino hardware- og softwaremuligheder.
Anbefalede:
Bærbar gaming -bærbar computer ved hjælp af Raspberry Pi: 8 trin
Bærbar gaming -bærbar computer ved hjælp af Raspberry Pi: Hej fyre, I denne instruktive vil vi lære at bygge en bærbar gaming -bærbar computer ved hjælp af Raspberry Pi.Når jeg siger gaming -bærbar, mener jeg ikke High End -bærbare, der sælges på markedet. Du vil ikke være i stand til at spille Windows -spil på denne bærbare computer
KeyPi - en billig bærbar Raspberry Pi 3 bærbar computer under $ 80: 11 trin (med billeder)
KeyPi - en billig bærbar Raspberry Pi 3 bærbar computer under $ 80: *** UPDATE *** Hej alle! Først og fremmest tak for al støtte og feedback, fællesskabet her er fantastisk :) Her er svar på nogle spørgsmål: Hvorfor lavede du dette? Jeg ville lave en bærbar computer, der havde et tastatur i fuld størrelse. Jeg følte, at
USB -drevet brænder! Dette projekt kan brænde igennem plastik / træ / papir (sjovt projekt skal også være meget fint træ): 3 trin
USB -drevet brænder! Dette projekt kan brænde igennem plastik / træ / papir (sjovt projekt skal også være meget fint træ): GØR IKKE DETTE MED USB !!!! Jeg fandt ud af, at det kan beskadige din computer fra alle kommentarerne. min computer har det fint. Brug en 600ma 5v telefonoplader. jeg brugte dette, og det fungerer fint, og intet kan blive beskadiget, hvis du bruger et sikkerhedsstik til at stoppe strømmen
$ 3 & 3 trin bærbar stativ (med læsebriller og pennebakke): 5 trin
$ 3 & 3 trin bærbar stativ (med læsebriller og penne): Denne $ 3 & 3 trin bærbar stativ kan laves inden for 5 minutter. Den er meget stærk, let og kan foldes til at have med, uanset hvor du går
Enkel, billig, bærbar bærbar stativ/køler: 9 trin (med billeder)
Enkel, billig, bærbar bærbar stativ/køler: Dette er et superenkelt, billigt projekt, som alle kan udføre. Denne bærbare stativ/køler kan laves til enhver størrelse eller hvilken som helst bærbar computer (jeg lavede min til en 13,3 tommer MacBook)