Innholdsfortegnelse:
- Trinn 1: Materialer og komponenter
- Trinn 2: Design et armbånd
- Trinn 3: Elektroniske tilkoblinger
- Trinn 4: Koden
- Trinn 5: Total montering
- Trinn 6: Video
- Trinn 7: Konklusjon
Video: Bærbar - sluttprosjekt: 7 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:22
INTRODUKSJON
I dette prosjektet hadde vi som oppgave å lage en funksjonell bærbar prototype basert på en cyborg -funksjon. Visste du at hjertet ditt synkroniserer med BPM av musikk? Du kan prøve å kontrollere humøret ditt gjennom musikk, men hva om vi lar teknologien hjelpe oss med å roe ned? Vi trenger bare noen komponenter, en Arduino og hodetelefonene dine. La oss innovere!
Prosjekt av Marc Vila, Guillermo Stauffacher og Pau Carcellé
Trinn 1: Materialer og komponenter
Bygningsmaterialer:
- 3D -trykt armbånd
- M3 skruer (x8)
- M3 muttere (x12)
- Rumpetaske
Elektroniske materialer:
-Pulsfrekvenssensor BPM
- Knapper (x2)
- Potensiometer
- LCD C 1602 MODUL
- MODUL DFPLAYER MINI MP3
- 3,5 mm Jack Stereo TRRS HEADSET
- MicroSD -kort
- Arduino Uno -tallerken
- Sveiser
- Bakelittplate
Trinn 2: Design et armbånd
Først lager vi flere skisser for å organisere de forskjellige komponentene i armbåndet.
Med den klare ideen tok vi målinger av de tre armene til gruppemedlemmene, så gjorde vi gjennomsnittet for å finne det optimale målet for designet. Til slutt designer vi produktet med et 3d -program og skriver det ut med en 3D -skriver.
Du kan laste ned. STL -filene her.
Trinn 3: Elektroniske tilkoblinger
Vi fortsetter å gjøre de nødvendige kontrollene av vårt 3d -design, vi foretok en første samling av alle komponentene i prototypen for å se at målingene var korrigerte.
For å koble alle komponentene til Arduino -kortet gjorde vi forskjellige tilkoblinger fra komponentene ved hjelp av 0, 5 meter kabler, på denne måten reduserer vi synligheten til brettet og vi organiserer prototypen bedre.
Trinn 4: Koden
Dette prosjektet er en cyborg -prototype. Tydeligvis har vi ikke introdusert komponentene under huden, så vi har simulert det med et armbånd som en ortose (ekstern enhet påført kroppen for å endre de funksjonelle aspektene).
Koden vår tar brukerens tastetrykk og viser dem ved hjelp av LCD -skjermen. I tillegg til BPM viser skjermen ønsket intensitet slik at brukeren kan sammenligne den med pulsen. Det er mange situasjoner der det er interessant å øke eller redusere din egen BPM. For eksempel må utholdenhetsidrettsutøvere kontrollere pulsasjonene for ikke å bli for slitne. Et daglig eksempel er å ville sove eller roe seg ned i en nervøs situasjon. Det kan også brukes som en terapeutisk metode for personer med autisme for å redusere stresset de føler. Ved siden av skjermen er to knapper for å kontrollere ønsket intensitet og øke eller redusere pulsen. Avhengig av intensiteten spilles en tidligere studert musikkart. Det er studier som viser at musikk kan endre BPM. I følge Beats per Minute av sangen, etterligner menneskekroppen og BPM.
int SetResUp = 11; // pin 10 av Arduino med intensitetsøkningsknapp. int SetResDown = 12; // pin 11 av Arduino med intensitetsknapp
int ResButtonCounter = 0; // ganger teller som øker eller reduserer motstandsinnstillingen, startverdien på 0 int ResButtonUpState = 0; // nåværende tilstand for intensitetsøkningsknappen int ResButtonDownState = 0; // nåværende tilstand for intensitetsknappen int lastResButtonUpState = 0; // siste tilstand av intensitetsøkningsknappen int lastResButtonDownState = 0; // siste tilstand av knappen for reduksjon av intensitet
int pulsPin = 0; // Pulssensor koblet til port A0 // Disse variablene er flyktige fordi de brukes under avbruddsrutinen i den andre kategorien. flyktig int BPM; // Beats per minute flyktig int Signal; // Pulssensordatainngang flyktig int IBI = 600; // Pulstiden flyktig boolsk Pulse = false; // Sant når pulsbølgen er høy, usann når den er Lav flyktig boolsk QS = false;
# definere Start_Byte 0x7E # definere Version_Byte 0xFF # definere Kommando_Lengde 0x06 # definere End_Byte 0xEF # definere Bekreft 0x00 // Returnerer info med kommando 0x41 [0x01: info, 0x00: ingen info]
// PANTALLA #include // Last opp biblioteket for funksjonene på LCD -skjermen #include #include
LiquidCrystal lcd (7, 6, 5, 4, 3, 2); // Angi portene der LCD -skjermen er tilkoblet
// LECTOR #include #include // Last opp biblioteket for funksjonene til modulen dfplayer mini MP3.
char serialData; int nsong; int v;
SoftwareSerial comm (9, 10); // Angi portene der DFPlayer er tilkoblet DFRobotDFPlayerMini mp3;
ugyldig oppsett () {Serial.begin (9600); pinMode (SetResUp, INPUT); pinMode (SetResDown, INPUT);
// Definer dimensjonene til LCD (16x2) lcd.begin (16, 2); // Vi velger i hvilken kolonne og på hvilken linje teksten begynner å vises // LECTOR comm.begin (9600);
mp3.begin (komm); // Komponent starter serialData = (char) (('')); mp3.start (); Serial.println ("Play"); // Spill en sang mp3.volum (25); // Definer volum}
void loop () {if (digitalRead (11) == LOW) {mp3.next (); // Hvis du trykker på knappen, passerer sangen} if (digitalRead (12) == LOW) {mp3.previous (); // Hvis du trykker på knappen, forrige sang} // if (SetResUp && SetResDown == LOW) {
int pulso = analogRead (A0); // Les verdien av pulsmåleren som er koblet til analog port A0
Serial.println (pulso/6); if (QS == true) {// Flag of Quantified Self is true like the arduino search the BPM QS = false; // Tilbakestill flagget for kvantifisert selv}
lcd.setCursor (0, 0); // Vis ønsket tekst lcd.print ("BPM:"); lcd.setCursor (0, 1); // Vis ønsket tekst lcd.print ("INT:"); lcd.setCursor (5, 0); // Vis ønsket tekst lcd.print (pulso); lcd.setCursor (5, 1); // Vis ønsket 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 siste tilstanden ble endret, øk telleren
ResButtonCounter ++; }
// lagre gjeldende tilstand som siste tilstand, // for neste gang løkken utføres lastResButtonUpState = ResButtonUpState;
// sammenligne tilstanden til knappen (øk eller reduser) med den siste tilstanden
if (ResButtonDownState! = lastResButtonDownState && ResButtonDownState == LOW) {
// hvis den siste tilstanden endret seg, reduser telleren
ResButtonCounter--; }
// lagre nåværende tilstand som den siste tilstanden, // for neste gang løkken utføres lastResButtonDownState = ResButtonDownState; {Serial.println (ResButtonCounter);
hvis (ResButtonCounter> = 10) {ResButtonCounter = 10; }
hvis (ResButtonCounter <1) {ResButtonCounter = 1; }
}
}
Trinn 5: Total montering
Med koden riktig programmert og de to delene av prototypen vår allerede montert. Vi setter alle komponentene på plass og fester det med tape for å feste det til armbåndet. Komponentene i armbåndet er pulsmåler BPM, de to knappene, potensiometeret og LCD -skjermen, hver i sitt respektive hull som tidligere var designet i 3D -filen. Med den første delen ferdig, fokuserer vi på protoboardet, hver kontakt på den riktige pinnen på Arduino -kortet. Til slutt, med den verifiserte driften av hver komponent, legger vi den i pakken for å skjule ledningene.
Trinn 6: Video
Trinn 7: Konklusjon
Det mest interessante med dette prosjektet er å lære om å etterligne menneskekroppen ubevisst med musikk. Dette åpner døren til mange alternativer for fremtidige prosjekter. Jeg tror dette er et komplett prosjekt, vi har ganske mange komponenter med en bearbeidet kode. Hvis vi starter på nytt, ville vi tenke på andre komponentalternativer eller kjøpe dem av bedre kvalitet. Vi har hatt mange problemer med ødelagte kabler og sveisinger, de er små og veldig delikate (spesielt BPM). På den annen side må du være forsiktig når du kobler komponentene, de har mange utganger og det er lett å gjøre feil.
Det er et veldig berikende prosjekt der vi har berørt et stort utvalg av Arduino -maskinvare- og programvarealternativer.
Anbefalt:
Bærbar gaming bærbar PC ved hjelp av Raspberry Pi: 8 trinn
Bærbar gaming bærbar PC ved hjelp av Raspberry Pi: Hei folkens, I denne instruksen vil vi lære å bygge en bærbar gaming bærbar PC ved hjelp av Raspberry Pi. Når jeg sier gaming laptop, mener jeg ikke High End Laptop som selges på markedet. Du vil ikke kunne spille Windows -spill på denne bærbare datamaskinen
KeyPi - en billig bærbar Raspberry Pi 3 bærbar datamaskin under $ 80: 11 trinn (med bilder)
KeyPi - en billig bærbar Raspberry Pi 3 bærbar datamaskin under $ 80: *** OPPDATERING *** Hei alle sammen! Først og fremst takk for all støtte og tilbakemelding, fellesskapet her er fantastisk :) Her er svar på noen spørsmål: Hvorfor gjorde du dette? Jeg ønsket å lage en bærbar datamaskin som hadde et tastatur i full størrelse. Jeg følte at t
Billig bærbar stativ / bærbar til stasjonær omformer: 3 trinn
Billig bærbar stativ / bærbar til stasjonær omformer: Jeg finner meg selv i å bruke min bærbare datamaskin i lange perioder. Det blir ubehagelig etter hvert. Tastaturet og skjermen bør ideelt sett være atskilt for å redusere nakkebelastning ved langvarig bruk. Hvis du er en bærbar bruker på heltid, foreslår jeg at du bygger
$ 3 og 3 trinn bærbar stativ (med lesebriller og pennebrett): 5 trinn
$ 3 & 3 trinn bærbar stativ (med lesebriller og pennebrett): Denne $ 3 & 3 trinns bærbart stativ kan lages på 5 minutter. Den er veldig sterk, lett og kan brettes for å ta med uansett hvor du går
Hvordan håndtere overoppheting av bærbar/bærbar datamaskin: 8 trinn
Hvordan håndtere overoppheting av bærbar/bærbar datamaskin: Overoppheting av bærbar datamaskin kan forårsake alvorlig skade. Plutselige nedleggelsesfeil eller tilfeldige dødsskjermer kan bety at du kveler den bærbare datamaskinen. Min siste notatbok smelter bokstavelig talt på sengen min da jeg blokkerte kjøleviftene på puten min. Dette