INHOUDSOPGAWE:

Drabaar - Finale projek: 7 stappe
Drabaar - Finale projek: 7 stappe

Video: Drabaar - Finale projek: 7 stappe

Video: Drabaar - Finale projek: 7 stappe
Video: БОЛЬШОЙ ФИЛЬМ ПРО ДАГЕСТАН: Махачкала. Жизнь в горных аулах. Сулакский каньон. Шамильский район 2024, Junie
Anonim
Drabaar - Finale projek
Drabaar - Finale projek

INLEIDING

In hierdie projek het ons die taak gehad om 'n funksionele draagbare prototipe te maak wat gebaseer is op 'n cyborg -funksie. Het u geweet dat u hart sinchroniseer met die BPM van musiek? U kan u bui probeer beheer deur middel van musiek, maar wat as ons toelaat dat tegnologie ons help kalmeer? Ons benodig net 'n paar komponente, 'n Arduino en u koptelefoon. Kom ons innoveer!

Projek deur Marc Vila, Guillermo Stauffacher en Pau Carcellé

Stap 1: Materiale en komponente

Materiale en komponente
Materiale en komponente

Konstruksie Materiaal:

- 3D -gedrukte polsband

- M3 skroewe (x8)

- M3 neute (x12)

- Fanny pack

Elektroniese materiaal:

-Hartslagmeter BPM

- Knoppies (x2)

- Potensiometer

- LCD C 1602 MODULE

- MODULE DFPLAYER MINI MP3

- 3.5 mm Jack Stereo TRRS HEADSET

- MicroSD kaart

- Arduino Uno -bord

- Sweisaar

- Bakelietplaat

Stap 2: Ontwerp 'n polsband

Ontwerp 'n polsband
Ontwerp 'n polsband
Ontwerp 'n polsband
Ontwerp 'n polsband

Eerstens maak ons verskeie sketse om die verskillende komponente in die polsband te organiseer.

Met die duidelike idee het ons die drie arms van die lede van die groep gemeet, daarna het ons die gemiddelde gemaak om die optimale maat vir die ontwerp te vind. Uiteindelik ontwerp ons die produk met 'n 3D -program en druk dit met 'n 3D -drukker.

U kan die. STL lêers hier aflaai.

Stap 3: Elektroniese verbindings

Elektroniese verbindings
Elektroniese verbindings

Ons gaan voort met die nodige kontrole van ons 3D -ontwerp; ons het 'n eerste vergadering van al die komponente in die prototipe gemaak om te sien dat die metings korrek was.

Om al die komponente aan die Arduino -bord te koppel, het ons verskillende verbindings gemaak met die komponente met behulp van 0, 5 meter kabels, op hierdie manier verminder ons die sigbaarheid van die bord en organiseer ons die prototipe beter.

Stap 4: Die kode

Die kode
Die kode
Die kode
Die kode
Die kode
Die kode

Hierdie projek is 'n cyborg -prototipe. Ons het duidelik nie die komponente onder die vel ingebring nie, daarom het ons dit gesimuleer met 'n armband as 'n ortose ('n eksterne toestel wat op die liggaam aangebring is om die funksionele aspekte aan te pas).

Ons kode neem die toetsaanslagen van die gebruiker en wys dit met behulp van die LCD -skerm. Benewens die BPM, toon die skerm die gewenste intensiteit sodat die gebruiker dit met sy hartklop kan vergelyk. Daar is baie situasies waarin dit interessant is om u eie BPM te verhoog of te verminder. Uithouvermoë -atlete moet byvoorbeeld die pulsasie beheer om nie oormatig moeg te raak nie. 'N Daaglikse voorbeeld is om te wil slaap of kalmeer in 'n senuweeagtige situasie. Dit kan ook as 'n terapeutiese metode vir mense met outisme toegepas word om die spanning wat hulle voel, te verminder. Langs die skerm is twee knoppies om die gewenste intensiteit te beheer en die hartklop te verhoog of te verlaag. Afhangende van die intensiteit word 'n voorheen bestudeerde tipe musiek gespeel. Daar is studies wat toon dat musiek BPM kan verander. Volgens Beats per Minute van die lied, boots die menslike liggaam na en pas by die BPM.

int SetResUp = 11; // pen 10 van Arduino met intensiteitverhogingsknoppie.int SetResDown = 12; // pen 11 van Arduino met afname -knoppie

int ResButtonCounter = 0; // maalteller wat die weerstandsinstelling verhoog of verlaag, aanvanklike waarde van 0 int ResButtonUpState = 0; // huidige toestand van die intensiteit toename knoppie int ResButtonDownState = 0; // huidige toestand van die intensiteit afname knoppie int lastResButtonUpState = 0; // laaste toestand van die intensiteit toename knoppie int lastResButtonDownState = 0; // laaste toestand van die intensiteit afname knoppie

int pulsePin = 0; // Pulssensor gekoppel aan poort A0 // Hierdie veranderlikes is onbestendig omdat dit tydens die onderbreekroetine in die tweede oortjie gebruik word. vlugtige int BPM; // Slae per minuut vlugtige int Signal; // Pulssensor data -invoer vlugtig int IBI = 600; // Pulse time volatile boolean Pulse = false; // Waar as die polsgolf hoog is, vals as dit Lae vlugtige booleaanse QS = vals is;

# definieer Start_Byte 0x7E # definieer Version_Byte 0xFF # definieer Command_Length 0x06 # definieer End_Byte 0xEF # definieer Erkenning 0x00 // Gee inligting terug met opdrag 0x41 [0x01: info, 0x00: geen inligting]

// PANTALLA #include // Laai die biblioteek op vir die funksies van die LCD -skerm #include #include

LiquidCrystal lcd (7, 6, 5, 4, 3, 2); // Gee die poorte aan waar die LCD gekoppel is

// LECTOR #include #include // Laai die biblioteek op vir die funksies van die module dfplayer mini MP3.

char serialData; int nsong; int v;

SoftwareSerial comm (9, 10); // Verklaar die poorte waar die DFPlayer verbind is DFRobotDFPlayerMini mp3;

ongeldige opstelling () {Serial.begin (9600); pinMode (SetResUp, INPUT); pinMode (SetResDown, INPUT);

// Definieer die afmetings van die LCD (16x2) lcd.begin (16, 2); // Ons kies in watter kolom en in watter reël die teks begin verskyn // LECTOR comm.begin (9600);

mp3.begin (komm); // Komponent begin serialData = (char) (('')); mp3.start (); Serial.println ("Speel"); // Speel 'n liedjie mp3.volume (25); // Definieer volume}

leemte -lus () {if (digitalRead (11) == LOW) {mp3.next (); // As die knoppie ingedruk word, gaan die liedjie deur} if (digitalRead (12) == LOW) {mp3.previous (); // As die knoppie ingedruk word, die vorige liedjie} // if (SetResUp && SetResDown == LOW) {

int pulso = analogRead (A0); // Lees die waarde van die hartklopmonitor wat aan die analoogpoort A0 gekoppel is

Serial.println (pulso/6); as (QS == true) {// Flag of Quantified Self is true like the arduino search the BPM QS = false; // Stel die vlag van Kwantifiseerde Self terug}

lcd.setCursor (0, 0); // Toon die verlangde teks lcd.print ("BPM:"); lcd.setCursor (0, 1); // Toon die verlangde teks lcd.print ("INT:"); lcd.setCursor (5, 0); // Toon die verlangde teks lcd.print (pulso); lcd.setCursor (5, 1); // Toon die verlangde teks lcd.print (ResButtonCounter); vertraging (50); lcd.clear (); ResButtonUpState = digitalRead (SetResUp); ResButtonDownState = digitalRead (SetResDown);

// vergelyk TempButtonState met sy vorige toestand

as (ResButtonUpState! = lastResButtonUpState && ResButtonUpState == LOW) {// as die laaste toestand verander het, verhoog die teller

ResButtonCounter ++; }

// stoor die huidige toestand as die laaste toestand, // vir die volgende keer dat die lus uitgevoer word lastResButtonUpState = ResButtonUpState;

// vergelyk die toestand van die knoppie (verhoog of verlaag) met die laaste toestand

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

// as die laaste toestand verander het, verminder die toonbank

ResButtonCounter--; }

// stoor die huidige toestand as die laaste toestand, // vir die volgende keer dat die lus uitgevoer word lastResButtonDownState = ResButtonDownState; {Serial.println (ResButtonCounter);

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

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

}

}

Stap 5: Totale samestelling

Met die kode reg geprogrammeer en die twee dele van ons prototipe reeds saamgestel. Ons sit al die komponente op hul plek en verbind dit met band om dit aan die armband vas te maak. Die komponente in die armband is die BPM van die hartklopsensor, die twee knoppies, die potensiometer en die LCD -skerm, elk in sy onderskeie gat wat voorheen in die 3D -lêer ontwerp is. Met die eerste deel, fokus ons op die protobord, elke aansluiting op die korrekte pen van die Arduino -bord. Uiteindelik, met die geverifieerde werking van elke komponent, sit ons dit in die voupak om die drade weg te steek.

Stap 6: Video

Stap 7: Gevolgtrekking

Die interessantste van hierdie projek is om te leer hoe om die menslike liggaam onbewustelik met musiek na te boots. Dit maak die deur oop vir baie opsies vir toekomstige projekte. Ek dink dit is 'n volledige projek; ons het 'n hele aantal komponente met 'n werkende kode. As ons weer begin, dink ons aan ander komponentalternatiewe of koop dit van beter gehalte. Ons het baie probleme gehad met gebreekte kabels en sweislasse, dit is klein en baie delikaat (veral die BPM). Aan die ander kant moet u versigtig wees wanneer u die komponente verbind, hulle het baie uitsette en dit is maklik om foute te maak.

Dit is 'n baie verrykende projek waarin ons 'n wye verskeidenheid Arduino -hardeware- en sagteware -opsies aangeraak het.

Aanbeveel: