Tartalomjegyzék:
- 1. lépés: Anyagok és alkatrészek
- 2. lépés: Tervezzen karszalagot
- 3. lépés: Elektronikus kapcsolatok
- 4. lépés: A kód
- 5. lépés: Teljes összeszerelés
- 6. lépés: Videó
- 7. lépés: Következtetés
Videó: Viselhető - Végső projekt: 7 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:41
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
É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
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
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
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:
Parkinson -kór viselhető technika: 4 lépés
Parkinson -kór viselhető technikája: Világszerte több mint 10 millió ember él Parkinson -kórban (PD). Progresszív idegrendszeri betegség, amely merevséget okoz és befolyásolja a beteg mozgását. Egyszerűbben fogalmazva, sokan Parkinson -kórban szenvedtek, de
ATtiny85 viselhető vibrációs tevékenységkövető óra és programozás ATtiny85 Arduino Uno -val: 4 lépés (képekkel)
ATtiny85 viselhető vibrációs tevékenységkövető óra és programozás ATtiny85 Arduino Uno -val: Hogyan készítsük el a viselhető tevékenységkövető órát? Ez egy hordható eszköz, amelyet rezgésre terveztek, amikor stagnálást észlel. A legtöbb időt a számítógépen tölti, mint én? Órákig ül, anélkül, hogy észrevenné? Akkor ez a készülék f
Viselhető zseblámpa (CPX -el): 8 lépés
Hordható zseblámpa (a CPX -vel): Üdv mindenkinek, készítettem egy hordható zseblámpát, amelyet a keze körül lehet viselni. Az Adafruit kódját használtam, amely egy kódoló weboldal, ahol kódblokkokat rak össze. Ebben az utasításban elmondom, mit tettem a CPX kódolásához (Circuit Playground Ex
Póló: Valós idejű viselhető testtartás észlelése: 9 lépés
Postshirt: Valós idejű viselhető testtartás érzékelés: A Postshirt egy valós idejű vezeték nélküli testtartás -érzékelő rendszer, amely Bluetooth -on keresztül továbbítja és osztályozza a gyorsulásmérő adatait az Adafruit Feather -ből egy Android -alkalmazásba. A teljes rendszer valós időben képes észlelni, ha a felhasználó rossz testtartást és c
[Viselhető egér] Bluetooth-alapú hordozható egérvezérlő Windows 10 és Linux rendszerhez: 5 lépés
[Viselhető egér] Bluetooth-alapú hordozható egérvezérlő Windows 10 és Linux rendszerhez: Készítettem egy Bluetooth alapú egérvezérlőt, amely használható az egérmutató vezérlésére és a PC-egérrel kapcsolatos műveletek végrehajtására menet közben, minden felület érintése nélkül. A kesztyűbe ágyazott elektronikus áramkörök nyomon követhetők