Përmbajtje:

I veshshëm - Projekti përfundimtar: 7 hapa
I veshshëm - Projekti përfundimtar: 7 hapa

Video: I veshshëm - Projekti përfundimtar: 7 hapa

Video: I veshshëm - Projekti përfundimtar: 7 hapa
Video: Interlocking Crochet in the Round Tutorial 2024, Nëntor
Anonim
I veshshëm - Projekti Përfundimtar
I veshshëm - Projekti Përfundimtar

PREZANTIMI

Në këtë projekt ne kishim detyrën për të bërë një prototip funksional të veshshëm të bazuar në funksionet e një cyborg. A e dini se zemra juaj sinkronizohet me BPM të muzikës? Mund të përpiqeni të kontrolloni humorin tuaj përmes muzikës, por çka nëse e lejojmë teknologjinë të na ndihmojë të qetësohemi? Na duhen vetëm disa përbërës, një Arduino dhe kufjet tuaja. Le të përtërijmë!

Projekt nga Marc Vila, Guillermo Stauffacher dhe Pau Carcellé

Hapi 1: Materialet dhe Përbërësit

Materialet dhe Komponentët
Materialet dhe Komponentët

Materiale Ndertimi:

- Rrip dore të shtypur 3d

- vida M3 (x8)

- arra M3 (x12)

- Paketë Fanny

Materialet elektronike:

-Sensori i Shkallës së Zemrës BPM

- Butonat (x2)

- Potenciometër

- MODULI LCD C 1602

- MODULE DFPLAYER MINI MP3

- Kufje kapëse 3.5mm Jack Stereo TRRS

- Kartë MicroSD

- Pjatë Arduino Uno

- Saldator

- Pllakë bakelite

Hapi 2: Hartoni një rrip të dorës

Hartoni një rrip të dorës
Hartoni një rrip të dorës
Hartoni një rrip të dorës
Hartoni një rrip të dorës

Së pari ne bëjmë disa skica për të organizuar përbërësit e ndryshëm në rripin e dorës.

Me idenë e qartë, ne morëm matjet e tre krahëve të anëtarëve të grupit, pastaj bëmë mesataren për të gjetur masën optimale për modelin. Së fundi, ne hartojmë produktin me një program 3D dhe e printojmë atë me një printer 3D.

Këtu mund të shkarkoni skedarët. STL.

Hapi 3: Lidhjet elektronike

Lidhjet Elektronike
Lidhjet Elektronike

Ne vazhdojmë të bëjmë kontrollet e nevojshme të modelit tonë 3D, kemi bërë një montim të parë të të gjithë përbërësve në prototip për të parë që matjet ishin të sakta.

Për të lidhur të gjithë përbërësit në bordin Arduino, ne bëmë lidhje të ndryshme nga komponentët duke përdorur kabllo 0, 5 metra, në këtë mënyrë ne zvogëlojmë shikueshmërinë e tabelës dhe organizojmë më mirë prototipin.

Hapi 4: Kodi

Kodi
Kodi
Kodi
Kodi
Kodi
Kodi

Ky projekt është një prototip Cyborg. Padyshim që ne nuk i kemi futur përbërësit nën lëkurë, kështu që e kemi simuluar me një byzylyk si një ortozë (pajisje e jashtme e aplikuar në trup për të modifikuar aspektet funksionale).

Kodi ynë merr goditjet e përdoruesit dhe i tregon duke përdorur ekranin LCD. Përveç BPM, ekrani tregon intensitetin e dëshiruar në mënyrë që përdoruesi ta krahasojë atë me rrahjet e tij të zemrës. Ka shumë situata ku është interesante të rrisni ose zvogëloni BPM -në tuaj. Për shembull, atletët e qëndrueshmërisë duhet të kontrollojnë pulsimet në mënyrë që të mos lodhen së tepërmi. Një shembull i përditshëm do të ishte dëshira për të fjetur ose qetësuar në një situatë nervore. Mund të aplikohet gjithashtu si një metodë terapeutike për njerëzit me autizëm për të zvogëluar stresin që ndjejnë. Pranë ekranit janë dy butona për të kontrolluar intensitetin e kërkuar dhe për të rritur ose ulur rrahjet e zemrës. Në varësi të intensitetit, luhet një lloj muzike e studiuar më parë. Ka studime që tregojnë se muzika mund të ndryshojë BPM. Sipas Beats per Minute të këngës, trupi i njeriut imiton dhe përputhet me ato BPM.

int SetResUp = 11; // pin 10 i Arduino me butonin e rritjes së intensitetit.int SetResDown = 12; // pin 11 i Arduino me butonin e zvogëlimit të intensitetit

int ResButtonCounter = 0; // numëruesi i kohës që rrit ose zvogëlon cilësimin e rezistencës, vlera fillestare e 0 int ResButtonUpState = 0; // gjendja aktuale e butonit të rritjes së intensitetit int ResButtonDownState = 0; // gjendja aktuale e butonit të uljes së intensitetit int lastResButtonUpState = 0; // gjendja e fundit e butonit të rritjes së intensitetit int lastResButtonDownState = 0; // gjendja e fundit e butonit të uljes së intensitetit

int pulsePin = 0; // Sensori i Pulsit i lidhur me portën A0 // Këto ndryshore janë të paqëndrueshme sepse përdoren gjatë rutinës së ndërprerjes në skedën e dytë. e paqëndrueshme int BPM; // Rrahjet për minutë të paqëndrueshme int Sinjali; // Të dhënat e sensorit të pulsit të paqëndrueshme në IBI = 600; // Koha e pulsit boolean e paqëndrueshme Pulsi = i rremë; // E vërtetë kur vala e pulsit është e lartë, e rreme kur është e ulët Boolean e paqëndrueshme QS = false;

# përcakto Start_Byte 0x7E # përcakto Versionin_Byte 0xFF # përcakto Gjatësinë e Komandës 0x06 # përcakto End_Byte 0xEF # përcakto Njohjen 0x00 // Kthen informacionin me komandën 0x41 [0x01: informacion, 0x00: pa informacion]

// PANTALLA #include // Ngarko bibliotekën për funksionet e ekranit LCD #include #include

LiquidCrystal LCD (7, 6, 5, 4, 3, 2); // Deklaroni portet ku është lidhur LCD

// LECTOR #include #include // Ngarko bibliotekën për funksionet e modulit dfplayer mini MP3.

char serialData; int nsong; int v;

SoftwareSerial comm (9, 10); // Deklaroni portet ku është lidhur DFPlayer DFRobotDFPlayerMini mp3;

void setup () {Serial.begin (9600); pinMode (SetResUp, INPUT); pinMode (SetResDown, INPUT);

// Përcaktoni dimensionet e LCD (16x2) lcd.filloni (16, 2); // Ne zgjedhim në cilën kolonë dhe në cilën rresht teksti fillon të shfaqet // LECTOR comm.begin (9600);

mp3.filloj (comm); // Komponenti fillon serialData = (char) (('')); mp3.fillo (); Serial.println ("Luaj"); // Luani një këngë mp3.vëllimi (25); // Përcaktoni volumin}

lak void () {if (digitalRead (11) == LOW) {mp3.next (); // Nëse shtypet butoni, kënga kalon} nëse (digitalRead (12) == LOW) {mp3.prepare (); // Nëse shtypet butoni, kënga e mëparshme} // nëse (SetResUp && SetResDown == LOW) {

int pulso = analogRead (A0); // Lexoni vlerën e monitorit të rrahjeve të zemrës të lidhur me portën Analog A0

Serial.println (pulso/6); nëse (QS == vërtetë) {// Flamuri i Vetë Kuantifikuar është i vërtetë si kërkimi arduino BPM QS = false; // Rivendos flamurin e Vetë Kuantifikuar}

lcd.setCursor (0, 0); // Trego tekstin e dëshiruar lcd.print ("BPM:"); lcd.setCursor (0, 1); // Trego tekstin e dëshiruar lcd.print ("INT:"); lcd.setCursor (5, 0); // Trego tekstin e dëshiruar lcd.print (pulso); lcd.setCursor (5, 1); // Trego tekstin e dëshiruar lcd.print (ResButtonCounter); vonesë (50); lcd.qartë (); ResButtonUpState = digitalRead (SetResUp); ResButtonDownState = digitalRead (SetResDown);

// krahaso TempButtonState me gjendjen e tij të mëparshme

nëse (ResButtonUpState! = lastResButtonUpState && ResButtonUpState == LOW) {// nëse gjendja e fundit ka ndryshuar, shtoni numëruesin

ResButtonCounter ++; }

// ruani gjendjen aktuale si gjendje e fundit, // për herën tjetër laku të ekzekutohet lastResButtonUpState = ResButtonUpState;

// Krahasoni gjendjen e butonit (shtoni ose ulni) me gjendjen e fundit

nëse (ResButtonDownState! = lastResButtonDownState && ResButtonDownState == LOW) {

// nëse gjendja e fundit ka ndryshuar, zvogëloni numëruesin

ResButtonCounter--; }

// ruani gjendjen aktuale si gjendjen e fundit, // për herën tjetër laku të ekzekutohet lastResButtonDownState = ResButtonDownState; {Serial.println (ResButtonCounter);

nëse (ResButtonCounter> = 10) {ResButtonCounter = 10; }

nëse (ResButtonCounter <1) {ResButtonCounter = 1; }

}

}

Hapi 5: Asambleja totale

Me kodin e programuar në mënyrë korrekte dhe dy pjesët e prototipit tonë tashmë janë mbledhur. Ne i vendosim të gjithë përbërësit në vend dhe e bashkojmë me shirit për ta fiksuar në byzylyk. Komponentët që janë në byzylyk janë Sensori i Rrahjeve të Zemrës BPM, dy butonat, potenciometri dhe Ekrani LCD, secili në vrimën e tij përkatëse të krijuar më parë në skedarin 3D. Me pjesën e parë të bërë, ne përqendrohemi në protoboard, secili lidhës në kunjin e duhur të bordit Arduino. Së fundi, me funksionimin e verifikuar të secilit komponent, e vendosim në paketën fanny për të fshehur telat.

Hapi 6: Video

Hapi 7: Përfundimi

Gjëja më interesante në lidhje me këtë projekt është të mësosh për imitimin e trupit të njeriut në mënyrë të pavetëdijshme me muzikë. Kjo hap derën për shumë opsione për projektet e ardhshme. Unë mendoj se ky është një projekt i plotë, ne kemi një larmi përbërësish me një kod të punuar. Nëse fillojmë përsëri do të mendonim për alternativa të tjera përbërëse ose do t'i blinim ato me cilësi më të mirë. Ne kemi pasur shumë probleme me kabllot dhe saldimet e prishura, ato janë të vogla dhe shumë delikate (veçanërisht BPM). Nga ana tjetër duhet të jeni të kujdesshëm kur lidhni komponentët, ato kanë shumë dalje dhe është e lehtë të bëni gabime.

Shtë një projekt shumë pasurues në të cilin ne kemi prekur një shumëllojshmëri të gjerë të opsioneve të harduerit dhe softuerit Arduino.

Recommended: