Mündəricat:
- Addım 1: Materiallar və Komponentlər
- Addım 2: Biləklik dizayn edin
- Addım 3: Elektron Bağlantılar
- Addım 4: Kod
- Addım 5: Ümumi montaj
- Addım 6: Video
- Addım 7: Nəticə
Video: Geyinilə bilən - Son Layihə: 7 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:45
GİRİŞ
Bu layihədə kiborg funksiyalarına əsaslanan funksional geyilə bilən bir prototip hazırlamaq vəzifəmiz var idi. Ürəyinizin musiqi BPM ilə sinxronlaşdığını bilirdinizmi? Musiqi ilə əhvalınızı idarə etməyə cəhd edə bilərsiniz, amma texnologiyanın sakitləşməyimizə icazə versək nə olar? Sadəcə bəzi komponentlərə, Arduino və qulaqlıqlara ehtiyacımız var. Yenilik edək!
Marc Vila, Guillermo Stauffacher və Pau Carcellé tərəfindən layihə
Addım 1: Materiallar və Komponentlər
Tikinti materialları:
- 3d çaplı biləklik
- M3 vintlər (x8)
- M3 qoz -fındıq (x12)
- Fanny paketi
Elektron materiallar:
-Ürək Hızı Sensoru BPM
- Düymələr (x2)
- Potansiyometr
- LCD C 1602 MODÜLÜ
- MODÜL DFPLAYER MINI MP3
- 3.5 mm Jack Stereo TRRS QULAKLIĞI
- MicroSD kartı
- Arduino Uno Plate
- Qaynaqçı
- Bakelit boşqab
Addım 2: Biləklik dizayn edin
Əvvəlcə biləklikdəki müxtəlif komponentləri təşkil etmək üçün bir neçə eskiz hazırlayırıq.
Aydın fikirlə, qrup üzvlərinin üç qolunu ölçdük, sonra dizayn üçün optimal ölçüsü tapmaq üçün ortalamanı etdik. Nəhayət məhsulu 3d proqramı ilə dizayn edirik və 3D printerlə çap edirik.
. STL fayllarını buradan yükləyə bilərsiniz.
Addım 3: Elektron Bağlantılar
3d dizaynımızın lazımi yoxlamalarına davam edirik, ölçülərin düzəldildiyini görmək üçün prototipdəki bütün komponentlərin ilk montajını etdik.
Bütün komponentləri Arduino lövhəsinə bağlamaq üçün 0, 5 metrlik kabellərdən istifadə edərək komponentlərdən fərqli bağlantılar qurduq, beləliklə lövhənin görmə qabiliyyətini azaldırıq və prototipi daha yaxşı təşkil edirik.
Addım 4: Kod
Bu layihə bir kiborg prototipidir. Aydındır ki, dərinin altına komponentlər daxil etməmişik, buna görə də ortez kimi bilərziklə simulyasiya etmişik (funksional cəhətləri dəyişdirmək üçün bədənə tətbiq olunan xarici cihaz).
Kodumuz istifadəçinin düymələrini alır və LCD ekrandan istifadə edərək göstərir. BPM -ə əlavə olaraq, istifadəçi ürək dərəcəsi ilə müqayisə edə bilməsi üçün ekranda istənilən intensivlik göstərilir. Öz BPM -ni artırmağın və ya azaltmağın maraqlı olduğu bir çox vəziyyət var. Məsələn, dözümlülük idmançıları həddindən artıq yorulmamaq üçün pulsasiyalara nəzarət etməlidirlər. Gündəlik bir nümunə, əsəbi vəziyyətdə yatmaq və ya sakitləşməkdir. Otizmli insanlar üçün hiss etdikləri stresi azaltmaq üçün bir müalicə üsulu olaraq da tətbiq oluna bilər. Ekranın yanında istədiyiniz intensivliyi idarə etmək və ürək dərəcəsini artırmaq və ya azaltmaq üçün iki düymə var. Şiddətdən asılı olaraq əvvəllər öyrənilmiş bir musiqi növü çalınır. Musiqinin BPM -ni dəyişdirə biləcəyini göstərən tədqiqatlar var. Mahnının Beats Per Minute mahnısına görə, insan bədəni bu BPM -ni təqlid edir və ona uyğun gəlir.
int SetResUp = 11; // intensivliyi artırmaq düyməsinə malik Arduinonun 10 pin.int SetResDown = 12; // intensivliyi azaltma düyməsi olan Arduino pin 11
int ResButtonCounter = 0; // müqavimət parametrini artıran və ya azaldan sayaç, 0 -ın başlanğıc dəyəri ResButtonUpState = 0; // intensivliyi artırma düyməsinin indiki vəziyyəti int ResButtonDownState = 0; // intensivliyi azaltma düyməsinin cari vəziyyəti int lastResButtonUpState = 0; // intensivliyi artırma düyməsinin son vəziyyəti int lastResButtonDownState = 0; // intensivliyi azaltma düyməsinin son vəziyyəti
int pulsePin = 0; // A0 portuna bağlı Pulse Sensor // Bu dəyişənlər uçucu olur, çünki onlar ikinci sekmədə kəsilmə qaydası zamanı istifadə olunur. uçucu int BPM; // Beats per minute uçucu int Siqnal; // Pulse sensor məlumat girişi uçucu int IBI = 600; // Pulse vaxtı uçucu boolean Pulse = yalan; // Pulse dalğası yüksək olduqda doğru, Düşük uçucu boole QS = yanlış olduqda yalan;
# müəyyənləşdir Start_Byte 0x7E # Version_Byte 0xFF təyin et # Command_Length 0x06 # End_Byte 0xEF təyin et # Acknowledge 0x00 təyin et // 0x41 [0x01: məlumat, 0x00: məlumat yoxdur] əmri ilə məlumatı qaytarır
// PANTALLA #daxil edin // LCD ekranın funksiyaları üçün kitabxananı yükləyin #daxil edin #daxil edin
LiquidCrystal lcd (7, 6, 5, 4, 3, 2); // LCD -nin qoşulduğu limanları elan edin
// LECTOR #include #include // dfplayer mini MP3 modulunun funksiyaları üçün kitabxananı yükləyin.
serial serial məlumatları; int nsong; int v;
SoftwareSerial comm (9, 10); // DFPlayer -in qoşulduğu limanları elan edin DFRobotDFPlayerMini mp3;
void setup () {Serial.begin (9600); pinMode (SetResUp, INPUT); pinMode (SetResDown, GİRİŞ);
// LCD (16x2) lcd.begin (16, 2) ölçülərini təyin edin; // Mətnin hansı sütunda və hansı sətirdə göstərilməyə başladığını seçirik // LECTOR comm.begin (9600);
mp3.begin (comm); // Komponent serialData = (char) (('')) başlayır; mp3.start (); Serial.println ("Çal"); // Mahnı çal mp3.cild (25); // Həcmi təyin et}
void loop () {if (digitalRead (11) == LOW) {mp3.next (); // Düymə basılarsa, mahnı keçir} if (digitalRead (12) == LOW) {mp3.previous (); // Düymə basılarsa, əvvəlki mahnı} // if (SetResUp && SetResDown == LOW) {
int pulso = analogRead (A0); // A0 Analog portuna qoşulmuş nəbz monitorunun dəyərini oxuyun
Serial.println (pulso/6); if (QS == true) {// Quantified Self Bayrağı arduino axtarışında olduğu kimi doğrudur BPM QS = false; // Miqdarı Özünün bayrağını sıfırlayın}
lcd.setCursor (0, 0); // İstədiyiniz mətni göstərin lcd.print ("BPM:"); lcd.setCursor (0, 1); // İstədiyiniz mətni göstərin lcd.print ("INT:"); lcd.setCursor (5, 0); // İstədiyiniz mətni göstərin lcd.print (pulso); lcd.setCursor (5, 1); // İstədiyiniz mətni göstərin lcd.print (ResButtonCounter); gecikmə (50); lcd.clear (); ResButtonUpState = digitalRead (SetResUp); ResButtonDownState = digitalRead (SetResDown);
// TempButtonState -i əvvəlki vəziyyəti ilə müqayisə edin
if (ResButtonUpState! = lastResButtonUpState && ResButtonUpState == LOW) {// son vəziyyət dəyişərsə sayğacı artırın
ResButtonCounter ++; }
// cari vəziyyəti son vəziyyət kimi qeyd edin, // növbəti dəfə döngə yerinə yetirilir lastResButtonUpState = ResButtonUpState;
// düymənin vəziyyətini (artım və ya azalma) son vəziyyətlə müqayisə edin
əgər (ResButtonDownState! = lastResButtonDownState && ResButtonDownState == LOW) {
// son vəziyyət dəyişərsə sayğacı azaldın
ResButtonCounter-; }
// cari vəziyyəti son vəziyyət kimi qeyd edin, // növbəti dəfə döngə yerinə yetirilir lastResButtonDownState = ResButtonDownState; {Serial.println (ResButtonCounter);
əgər (ResButtonCounter> = 10) {ResButtonCounter = 10; }
if (ResButtonCounter <1) {ResButtonCounter = 1; }
}
}
Addım 5: Ümumi montaj
Düzgün proqramlaşdırılmış və prototipimizin iki hissəsi artıq yığılmış vəziyyətdə. Bütün komponentləri yerinə qoyduq və bilərziyə yapışdırmaq üçün bantla bağladıq. Bilərzikdə olan komponentlər, əvvəllər 3D faylında dizayn edilmiş müvafiq çuxurda olan Nəbz Sensoru BPM, iki düymə, potensiometr və LCD Ekrandır. Birinci hissə tamamlandıqda, hər bir konnektoru Arduino lövhəsinin düzgün pinindəki protoboya taxırıq. Nəhayət, hər bir komponentin təsdiqlənmiş işləməsi ilə telləri gizlətmək üçün fanny paketinə qoyduq.
Addım 6: Video
Addım 7: Nəticə
Bu layihənin ən maraqlı tərəfi insan bədənini şüursuz şəkildə musiqi ilə təqlid etməyi öyrənməkdir. Bu, gələcək layihələr üçün bir çox variantın qapısını açır. Düşünürəm ki, bu tam bir layihədir, işlədilmiş kodu olan olduqca müxtəlif komponentlərə sahibik. Yenidən başlasaq, digər komponent alternativlərini düşünər və ya daha keyfiyyətli alarıq. Qırılan kabellər və qaynaqlar ilə bağlı bir çox problemimiz var, onlar kiçik və çox incədir (xüsusən BPM). Digər tərəfdən komponentləri birləşdirərkən diqqətli olmalısınız, onların bir çox çıxışı var və səhv etmək asandır.
Arduino -nun müxtəlif hardware və proqram seçimlərinə toxunduğumuz çox zəngin bir layihədir.
Tövsiyə:
Parkinson Xəstəliyinin Geyinilə bilən Texnologiyası: 4 addım
Parkinson Disease Wearable Tech: Dünyada 10 milyondan çox insan Parkinson xəstəliyi (PD) ilə yaşayır. Sərtliyə səbəb olan və xəstənin hərəkətinə təsir edən mütərəqqi sinir sistemi xəstəliyi. Sadə dillə desək, bir çox insan Parkinson xəstəliyindən əziyyət çəkirdi, lakin
Sadə və Modul Geyinilə bilən İşıqlar !: 5 Addım (Şəkillərlə birlikdə)
Sadə və Modul Geyinilə bilən İşıqlar!: Bir neçə ucuz (və çatdırıla bilən) hissələrlə inanılmaz, futuristik və tənzimlənən geyilə bilən işıqlar yaradın! Hər cür aksesuarlara qoşun və paltarları/hissləri/tətilləri/hər şeyi uyğunlaşdırmaq üçün rəngləri dəyişdirin! Çətinlik: Başlanğıc+ (solderi
ATtiny85 Geyinilə bilən Titrəmə Aktivliyi İzləmə İzləmə və Proqramlaşdırma Arduino Uno ilə ATtiny85: 4 addım (şəkillərlə)
ATtiny85 Geyinilə bilən Titrəmə Aktivliyi İzləmə Saatı və Proqramlaşdırılması Arduino Uno ilə ATtiny85: Geyinilə bilən fəaliyyət izləmə saatı necə edilir? Bu, durğunluq algıladıqda titrəmək üçün hazırlanmış geyilə bilən bir gadgetdır. Vaxtınızın çoxunu mənim kimi kompüterdə keçirirsinizmi? Özünüz də bilmədən saatlarla oturursunuz? Sonra bu cihaz f
DIY Geyinilə bilən TDCS Cihazı: 4 addım
DIY Geyinilə bilən TDCS Cihazı: TDCS (Transkranial Doğrudan Cərəyan Stimulyasiyası) Bu Təlimatlandırmada: 1. Sadə bir TDCS cihazının yaradılması ilə sizi tanış edin. Dövrlərin arxasındakı nəzəriyyəni düzün.2. Bir az araşdırma aparın və bunun kimi bir cihazın nəyə görə dəyər verdiyini izah edin
Uşaqlar üçün Geyinilə bilən Texnologiya: Qəhrəman Kol Bandı: 4 addım
Uşaqlar üçün Geyilə bilən Texnologiya: Qəhrəman Kol Bandı: Bu təlimat geyindikdə yanan 'qəhrəman qolbağının' necə hazırlanacağını əhatə edəcək. İletken parça lentindən, keçirici iplikdən və tikişli LED -lərdən istifadə etmək, məktəb şagirdləri üçün sxemlərin və geyilə bilən texnologiyanın əsaslarını öyrənmək üçün böyük bir fəaliyyətdir. Te