Innehållsförteckning:
- Steg 1: Material och komponenter
- Steg 2: Designa ett armband
- Steg 3: Elektroniska anslutningar
- Steg 4: Koden
- Steg 5: Total montering
- Steg 6: Video
- Steg 7: Slutsats
Video: Bärbar - Slutprojekt: 7 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:42
INTRODUKTION
I detta projekt hade vi i uppgift att göra en funktionell bärbar prototyp baserad på en cyborg -funktioner. Visste du att ditt hjärta synkroniseras med BPM av musik? Du kan försöka kontrollera ditt humör genom musik, men tänk om vi låter tekniken hjälpa oss att lugna ner sig? Vi behöver bara några komponenter, en Arduino och dina hörlurar. Låt oss förnya!
Projekt av Marc Vila, Guillermo Stauffacher och Pau Carcellé
Steg 1: Material och komponenter
Byggmaterial:
- 3D -tryckt armband
- M3 skruvar (x8)
- M3 muttrar (x12)
- Magväska
Elektroniska material:
-BPM för pulssensor
- Knappar (x2)
- Potentiometer
- LCD C 1602 MODUL
- MODUL DFPLAYER MINI MP3
- 3,5 mm Jack Stereo TRRS HEADSET
- MicroSD -kort
- Arduino Uno -tallrik
- Svetsare
- Bakelitplatta
Steg 2: Designa ett armband
Först gör vi flera skisser för att organisera de olika komponenterna i armbandet.
Med den klara idén tog vi mätningar av gruppens tre armar, sedan gjorde vi genomsnittet för att hitta det optimala måttet för designen. Slutligen designar vi produkten med ett 3D -program och skriver ut den med en 3D -skrivare.
Du kan ladda ner. STL -filerna här.
Steg 3: Elektroniska anslutningar
Vi fortsätter att göra de nödvändiga kontrollerna av vår 3d -design, vi gjorde en första montering av alla komponenter i prototypen för att se att mätningarna var korrekta.
För att ansluta alla komponenter till Arduino -kortet gjorde vi olika anslutningar från komponenterna med hjälp av 0, 5 meter kablar, på detta sätt minskar vi synligheten på kortet och vi organiserar prototypen bättre.
Steg 4: Koden
Detta projekt är en cyborg -prototyp. Uppenbarligen har vi inte introducerat komponenterna under huden, så vi har simulerat det med ett armband som en ortos (extern enhet applicerad på kroppen för att ändra de funktionella aspekterna).
Vår kod tar användarens knapptryckningar och visar dem med hjälp av LCD -skärmen. Förutom BPM visar skärmen önskad intensitet så att användaren kan jämföra den med sin puls. Det finns många situationer där det är intressant att öka eller minska din egen BPM. Till exempel måste uthållighetsidrottare kontrollera pulsationerna för att inte tröttna för mycket. Ett vardagligt exempel skulle vara att vilja sova eller lugna sig i en nervös situation. Det kan också tillämpas som en terapeutisk metod för personer med autism för att minska stressen de känner. Bredvid skärmen finns två knappar för att styra önskad intensitet och öka eller minska pulsen. Beroende på intensiteten spelas en tidigare studerad typ av musik. Det finns studier som visar att musik kan förändra BPM. Enligt Beats per Minute i låten efterliknar och matchar människokroppen BPM.
int SetResUp = 11; // pin 10 av Arduino med intensitetsökningsknapp. int SetResDown = 12; // stift 11 på Arduino med knapp för intensitetsminskning
int ResButtonCounter = 0; // gånger räknare som ökar eller minskar motståndsinställningen, initialt värde på 0 int ResButtonUpState = 0; // nuvarande tillstånd för intensitetsökningsknappen int ResButtonDownState = 0; // nuvarande tillstånd för intensitetsminskningsknappen int lastResButtonUpState = 0; // sista tillståndet för intensitetsökningsknappen int lastResButtonDownState = 0; // sista tillståndet för intensitetsminskningsknappen
int pulsPin = 0; // Pulsgivare ansluten till port A0 // Dessa variabler är flyktiga eftersom de används under avbrottsrutinen i den andra fliken. flyktig int BPM; // Beats per minute flyktig int Signal; // Pulssensordatainmatning flyktig int IBI = 600; // Pulstid flyktig boolsk puls = falsk; // Sant när pulsvågen är hög, falsk när den är Låg flyktig boolsk QS = falsk;
# definiera Start_Byte 0x7E # definiera Version_Byte 0xFF # definiera Command_Length 0x06 # definiera End_Byte 0xEF # definiera Bekräfta 0x00 // Returnerar info med kommando 0x41 [0x01: info, 0x00: ingen info]
// PANTALLA #include // Ladda upp biblioteket för funktionerna på LCD -skärmen #include #include
LiquidCrystal lcd (7, 6, 5, 4, 3, 2); // Ange portarna där LCD -skärmen är ansluten
// LEKTOR #inkludera #inkludera // Ladda upp biblioteket för funktionerna i modulen dfplayer mini MP3.
char serialData; int nsong; på tv;
SoftwareSerial comm (9, 10); // Deklarera portarna där DFPlayer är ansluten DFRobotDFPlayerMini mp3;
void setup () {Serial.begin (9600); pinMode (SetResUp, INPUT); pinMode (SetResDown, INPUT);
// Definiera måtten på LCD -skärmen (16x2) lcd.begin (16, 2); // Vi väljer i vilken kolumn och på vilken rad texten börjar visa // LECTOR comm.begin (9600);
mp3.begin (komm); // Komponent startar serialData = (char) (('')); mp3.start (); Serial.println ("Spela"); // Spela en låt mp3.volym (25); // Definiera volym}
void loop () {if (digitalRead (11) == LOW) {mp3.next (); // Om knappen trycks in passerar låten} if (digitalRead (12) == LOW) {mp3.previous (); // Om du trycker på knappen, föregående låt} // if (SetResUp && SetResDown == LOW) {
int pulso = analogRead (A0); // Läs värdet på pulsmätaren ansluten till analog port A0
Serial.println (pulso/6); if (QS == true) {// Flag of Quantified Self is true like the arduino search the BPM QS = false; // Återställ flaggan för det kvantifierade jaget}
lcd.setCursor (0, 0); // Visa önskad text lcd.print ("BPM:"); lcd.setCursor (0, 1); // Visa önskad text lcd.print ("INT:"); lcd.setCursor (5, 0); // Visa önskad text lcd.print (pulso); lcd.setCursor (5, 1); // Visa önskad text lcd.print (ResButtonCounter); fördröjning (50); lcd.clear (); ResButtonUpState = digitalRead (SetResUp); ResButtonDownState = digitalRead (SetResDown);
// jämför TempButtonState med dess tidigare tillstånd
if (ResButtonUpState! = lastResButtonUpState && ResButtonUpState == LOW) {// om det senaste tillståndet ändrades, öka räknaren
ResButtonCounter ++; }
// spara det aktuella läget som det sista tillståndet, // för nästa gång slingan körs lastResButtonUpState = ResButtonUpState;
// jämför knappens tillstånd (öka eller minska) med det senaste läget
if (ResButtonDownState! = lastResButtonDownState && ResButtonDownState == LOW) {
// om det senaste tillståndet ändrades, minska räknaren
ResButtonCounter--; }
// spara det aktuella läget som det sista tillståndet, // för nästa gång slingan körs lastResButtonDownState = ResButtonDownState; {Serial.println (ResButtonCounter);
om (ResButtonCounter> = 10) {ResButtonCounter = 10; }
if (ResButtonCounter <1) {ResButtonCounter = 1; }
}
}
Steg 5: Total montering
Med koden programmerad korrekt och de två delarna av vår prototyp redan monterade. Vi sätter alla komponenter på plats och förenar det med tejp för att fästa det på armbandet. Komponenterna i armbandet är pulsmätaren BPM, de två knapparna, potentiometern och LCD -skärmen, var och en i sitt respektive hål som tidigare utformats i 3D -filen. Med den första delen klar fokuserar vi på protoboardet, varje kontakt på rätt stift på Arduino -kortet. Slutligen, med den verifierade driften av varje komponent, lägger vi in den i packpaketet för att dölja trådarna.
Steg 6: Video
Steg 7: Slutsats
Det mest intressanta med detta projekt är att lära sig att efterlikna människokroppen omedvetet med musik. Detta öppnar dörren till många alternativ för framtida projekt. Jag tror att detta är ett komplett projekt, vi har ganska många komponenter med en fungerad kod. Om vi börjar om skulle vi tänka på andra komponentalternativ eller köpa dem av bättre kvalitet. Vi har haft många problem med trasiga kablar och svetsningar, de är små och mycket känsliga (särskilt BPM). Å andra sidan måste du vara försiktig när du ansluter komponenterna, de har många utgångar och det är lätt att göra misstag.
Det är ett mycket berikande projekt där vi har berört en mängd olika Arduino -hårdvaru- och programvarualternativ.
Rekommenderad:
Parkinsons sjukdom bärbar teknik: 4 steg
Parkinson Disease Wearable Tech: Mer än 10 miljoner människor världen över lever med Parkinsons sjukdom (PD). En progressiv störning i nervsystemet som orsakar stelhet och påverkar patientens rörelse. I enklare termer drabbades många av Parkinsons sjukdom men
Bärbar Bluetooth 2.1 Boombox: 16 steg (med bilder)
Bärbar Bluetooth 2.1 Boombox: Hej alla! I denna version bestämde jag mig för att komma med en bärbar Bluetooth -boombox som skulle ha ett laddningsbart batteri och bra prestanda. Denna högtalare är baserad på Paul Carmodys Isetta -högtalarkonstruktion som jag har gjort något om för att rymma
KeyPi - en billig bärbar Raspberry Pi 3 bärbar dator under $ 80: 11 steg (med bilder)
KeyPi - en billig bärbar Raspberry Pi 3 bärbar dator under $ 80: *** UPPDATERING *** Hej alla! För det första tack för allt stöd och feedback, gemenskapen här är fantastisk :) Här är svar på några frågor: Varför gjorde du det här? Jag ville göra en bärbar dator som hade ett tangentbord i full storlek. Jag kände att t
Bärbar reklamskylt på billiga i bara 10 steg !!: 13 steg (med bilder)
Bärbar reklamskylt på billiga i bara 10 steg !!: Gör din egen, billiga, bärbara reklamskylt. Med denna skylt kan du visa ditt meddelande eller din logotyp var som helst överallt i staden. Denna instruerbara är ett svar på/förbättring/förändring av: https://www.instructables.com/id/Low-Cost-Illuminated-
Hur man hanterar överhettning av bärbar dator/bärbar dator: 8 steg
Hur man hanterar överhettning av bärbar dator/bärbar dator: Överhettning av bärbar dator kan orsaka allvarliga skador. Plötsliga avstängningsfel eller slumpmässigt förekommande dödsskärmar kan innebära att du kväver din anteckningsbok. Min sista anteckningsbok smälte bokstavligen på min säng när jag blockerade dess kylfläktar på min kudde