Tartalomjegyzék:

Viselhető - Végső projekt: 7 lépés
Viselhető - Végső projekt: 7 lépés

Videó: Viselhető - Végső projekt: 7 lépés

Videó: Viselhető - Végső projekt: 7 lépés
Videó: Teller Ede tragédiája: hogyan vált a zseniális tudós a tömegpusztító szuperfegyver megszállottjává? 2024, November
Anonim
Hordható - Végső projekt
Hordható - Végső projekt

BEVEZETÉS

Ebben a projektben az volt a feladatunk, hogy egy funkcionális, hordható prototípust készítsünk kiborg funkciók alapján. Tudta, hogy szíve szinkronban van a zene BPM -mel? Megpróbálhatja irányítani a hangulatát a zenével, de mi van, ha hagyjuk, hogy a technológia segítsen megnyugodni? Csak néhány alkatrészre van szükségünk, egy Arduino -ra és a fejhallgatóra. Újítsunk!

Marc Vila, Guillermo Stauffacher és Pau Carcellé projektje

1. lépés: Anyagok és alkatrészek

Anyagok és alkatrészek
Anyagok és alkatrészek

Építőanyagok:

- 3D nyomtatott karszalag

- M3 csavarok (x8)

- M3 anyák (x12)

- Övtáska

Elektronikus anyagok:

-BPM szívritmus -érzékelő

- Gombok (x2)

- Potenciométer

- LCD C 1602 MODUL

- MODUL DFPLAYER MINI MP3

- 3,5 mm -es Jack sztereó TRRS fejhallgató

- MicroSD kártya

- Arduino Uno lemez

- Hegesztő

- Bakelit lemez

2. lépés: Tervezzen karszalagot

Tervezzen karszalagot
Tervezzen karszalagot
Tervezzen karszalagot
Tervezzen karszalagot

Először több vázlatot készítünk a karszalag különböző összetevőinek rendszerezésére.

A világos ötlettel elvégeztük a csoport tagjainak három karjának mérését, majd átlagot készítettünk, hogy megtaláljuk a tervezéshez optimális mértéket. Végül megtervezzük a terméket egy 3D programmal, és kinyomtatjuk egy 3D nyomtatóval.

A. STL fájlokat innen töltheti le.

3. lépés: Elektronikus kapcsolatok

Elektronikus kapcsolatok
Elektronikus kapcsolatok

Folytatjuk a 3D tervezés szükséges ellenőrzését, először összeállítottuk a prototípus összes alkotóelemét, hogy lássuk, hogy a mérések korrigáltak.

Ahhoz, hogy az összes alkatrészt az Arduino kártyához csatlakoztassuk, különböző csatlakozásokat kötöttünk az alkatrészektől 0, 5 méteres kábelek segítségével, ily módon csökkentve a tábla láthatóságát, és jobban megszervezve a prototípust.

4. lépés: A kód

A kód
A kód
A kód
A kód
A kód
A kód

Ez a projekt egy kiborg prototípus. Nyilvánvaló, hogy nem vezettük be az összetevőket a bőr alá, ezért karkötővel szimuláltuk, mint ortézist (külső eszköz, amelyet a testre alkalmaztak a funkcionális szempontok módosítására).

A kódunk leveszi a felhasználó billentyűleütéseit, és megjeleníti őket az LCD képernyő segítségével. A BPM mellett a képernyőn megjelenik a kívánt intenzitás, így a felhasználó összehasonlíthatja azt a pulzusszámával. Sok olyan helyzet van, amikor érdekes növelni vagy csökkenteni saját BPM -jét. Például az állóképességi sportolóknak ellenőrizniük kell a pulzusokat, hogy ne fáradjanak túlzottan. Mindennapi példa az lenne, ha ideges helyzetben aludni vagy megnyugodni szeretne. Terápiás módszerként is alkalmazható az autizmussal élők számára az általuk érzett stressz csökkentésére. A képernyő mellett két gomb található a kívánt intenzitás szabályozásához és a pulzus növeléséhez vagy csökkentéséhez. Az intenzitástól függően egy korábban tanulmányozott típusú zenét játszik le. Vannak tanulmányok, amelyek azt mutatják, hogy a zene megváltoztathatja a BPM -et. A Beats per Minute című dal szerint az emberi test utánozza és illeszkedik a BPM -hez.

int SetResUp = 11; // az Arduino 10. tűje intenzitásnövelő gombbal.int SetResDown = 12; // az Arduino 11. csapja intenzitáscsökkentő gombbal

int ResButtonCounter = 0; // alkalommal számláló, amely növeli vagy csökkenti az ellenállást, kezdeti értéke 0 int ResButtonUpState = 0; // az intenzitásnövelő gomb aktuális állapota int ResButtonDownState = 0; // az intenzitáscsökkentő gomb aktuális állapota int lastResButtonUpState = 0; // az intenzitásnövelő gomb utolsó állapota int lastResButtonDownState = 0; // az intenzitáscsökkentő gomb utolsó állapota

int pulsePin = 0; // Impulzusérzékelő csatlakozik az A0 porthoz // Ezek a változók illékonyak, mert a második lap megszakítási rutinja során használják őket. illékony int BPM; // Ütés/ perc illékony int Signal; // Impulzusérzékelő adatbevitel illékony int IBI = 600; // Pulse time volatile boolean Pulse = false; // Igaz, ha az impulzushullám magas, hamis, ha alacsony illékony boolean QS = false;

# define Start_Byte 0x7E # define Version_Byte 0xFF # define Command_Length 0x06 # define End_Byte 0xEF # define Nyugtázás 0x00 // Visszaadja az információt a 0x41 [0x01: info, 0x00: no info] paranccsal

// PANTALLA #include // Töltse fel a könyvtárat az LCD képernyő #include #include funkcióihoz

LiquidCrystal LCD (7, 6, 5, 4, 3, 2); // Nyilvánítsa ki azokat a portokat, amelyekhez az LCD csatlakozik

// LECTOR #include #include // Töltse fel a könyvtárat a dfplayer mini MP3 modul funkcióihoz.

char serialData; int n ének; int v;

SoftwareSerial comm (9, 10); // A portok bejelentése, amelyekhez a DFPlayer csatlakozik DFRobotDFPlayerMini mp3;

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

// Határozza meg az LCD méreteit (16x2) lcd.begin (16, 2); // Kiválasztjuk, hogy melyik oszlopban és melyik sorban kezd megjelenni a szöveg // LECTOR comm.begin (9600);

mp3.begin (komm); // Az összetevő elindítja a serialData = (char) (('')); mp3.start (); Serial.println ("Lejátszás"); // Dal lejátszása mp3.volumen (25); // Hangerő meghatározása}

void loop () {if (digitalRead (11) == LOW) {mp3.next (); // Ha megnyomja a gombot, a dal áthalad} if (digitalRead (12) == LOW) {mp3.previous (); // Ha megnyomja a gombot, az előző dal} // if (SetResUp && SetResDown == LOW) {

int pulso = analógRead (A0); // Olvassa el az A0 analóg porthoz csatlakoztatott pulzusmérő értékét

Soros.println (pulso/6); if (QS == true) {// A Quantified Self zászlaja igaz, mint az arduino keresés a BPM QS = false; // A számszerűsített én zászlójának visszaállítása}

lcd.setCursor (0, 0); // A kívánt szöveg megjelenítése lcd.print ("BPM:"); lcd.setCursor (0, 1); // A kívánt szöveg megjelenítése lcd.print ("INT:"); lcd.setCursor (5, 0); // A kívánt szöveg megjelenítése lcd.print (pulso); lcd.setCursor (5, 1); // A kívánt szöveg megjelenítése lcd.print (ResButtonCounter); késleltetés (50); lcd.clear (); ResButtonUpState = digitalRead (SetResUp); ResButtonDownState = digitalRead (SetResDown);

// a TempButtonState összehasonlítása korábbi állapotával

if (ResButtonUpState! = lastResButtonUpState && ResButtonUpState == LOW) {// ha az utolsó állapot megváltozott, növelje a számlálót

ResButtonCounter ++; }

// az aktuális állapot mentése utolsó állapotként, // a ciklus következő alkalommal történő végrehajtásakor lastResButtonUpState = ResButtonUpState;

// hasonlítsa össze a gomb állapotát (növelés vagy csökkentés) az utolsó állapottal

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

// ha az utolsó állapot megváltozott, csökkentse a számlálót

ResButtonCounter--; }

// az aktuális állapot mentése utolsó állapotként, // a ciklus következő végrehajtásakor lastResButtonDownState = ResButtonDownState; {Serial.println (ResButtonCounter);

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

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

}

}

5. lépés: Teljes összeszerelés

Ha a kód helyesen van programozva, és a prototípusunk két része már össze van szerelve. Helyezzük az összes alkatrészt a helyükre, és ragasztóval rögzítjük a karkötőhöz. A karkötőben található alkatrészek a BPM pulzusérzékelő, a két gomb, a potenciométer és az LCD képernyő, mindegyik a 3D -fájlban korábban kialakított lyukban. Az első rész elkészítésekor a protoboardra összpontosítunk, minden csatlakozó az Arduino kártya megfelelő csapjára. Végül az egyes alkatrészek ellenőrzött működésével betesszük a ventilátorcsomagba, hogy elrejtse a vezetékeket.

6. lépés: Videó

7. lépés: Következtetés

A legérdekesebb dolog ebben a projektben az, hogy megtanuljuk az emberi test öntudatlan utánzását zenével. Ez számos lehetőség előtt nyitja meg a jövőbeli projekteket. Úgy gondolom, hogy ez egy komplett projekt, elég sokféle komponensünk van, működő kóddal. Ha újrakezdjük, akkor más alkatrész -alternatívákon gondolkodunk, vagy jobb minőségűeket vásárolunk. Sok problémánk volt a törött kábelekkel és hegesztésekkel, kicsi és nagyon finom (különösen a BPM). Másrészt óvatosnak kell lennie az alkatrészek csatlakoztatásakor, sok kimenettel rendelkeznek, és könnyű hibázni.

Ez egy nagyon gazdagító projekt, amelyben az Arduino hardver- és szoftveropciók széles skáláját érintettük.

Ajánlott: