Мазмұны:
- 1 -қадам: материалдар мен компоненттер
- 2 -қадам: білезік жасау
- 3 -қадам: Электрондық қосылыстар
- 4 -қадам: Кодекс
- 5 -қадам: Жалпы жиналыс
- 6 -қадам: бейне
- 7 -қадам: Қорытынды
Бейне: Киюге болатын - Қорытынды жоба: 7 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:24
КІРІСПЕ
Бұл жобада бізде киборг функцияларына негізделген функционалды тозатын прототип жасау міндеті тұрды. Сіз білесіз бе, сіздің жүрегіңіз BPM музыкасымен синхрондалады. Сіз өзіңіздің көңіл -күйіңізді музыка арқылы басқаруға тырыса аласыз, бірақ егер технология бізге тыныштандыруға мүмкіндік берсе ше? Бізге кейбір компоненттер, Arduino және құлаққап қажет. Жаңашыл болайық!
Жоба Марк Вила, Гильермо Штауффахер және Пау Карселле
1 -қадам: материалдар мен компоненттер
Құрылыс материалдары:
- 3D басылған білезік
- M3 бұрандалары (x8)
- М3 жаңғақтар (x12)
- Фанни пакеті
Электронды материалдар:
-BPM жүрек соғу жылдамдығы сенсоры
- түймелер (x2)
- потенциометр
- LCD C 1602 МОДУЛЬ
- MODULE DFPLAYER MINI MP3
- 3,5 мм джек стерео TRRS құлаққап
- MicroSD картасы
- Arduino Uno табақшасы
- Дәнекерлеуші
- Бакелит табақшасы
2 -қадам: білезік жасау
Алдымен біз білезіктің әр түрлі компоненттерін ұйымдастыру үшін бірнеше эскиздер жасаймыз.
Нақты идеямен біз топ мүшелерінің үш қолын өлшедік, содан кейін біз дизайнның оңтайлы өлшемін табу үшін орташа мәнді жасадық. Ақырында біз өнімді 3d бағдарламасымен жасаймыз және оны 3D принтермен басып шығарамыз.
Мұнда. STL файлдарын жүктеуге болады.
3 -қадам: Электрондық қосылыстар
Біз 3d дизайнымыздың қажетті тексерулерін жалғастырамыз, біз өлшемдердің түзетілгенін көру үшін прототиптегі барлық компоненттердің алғашқы құрастыруын жасадық.
Барлық компоненттерді Arduino тақтасына қосу үшін біз 0, 5 метрлік кабельдерді қолдана отырып, компоненттерден әр түрлі қосылыстар жасадық, осылайша біз тақтаның көрінуін төмендетеміз және біз прототипті жақсы ұйымдастырамыз.
4 -қадам: Кодекс
Бұл жоба киборг прототипі. Әлбетте, біз терінің астына компоненттерді енгізбедік, сондықтан біз оны білезікпен ортез ретінде модельдедік (функционалдық аспектілерді өзгерту үшін денеге қолданылатын сыртқы құрылғы).
Біздің код пайдаланушының пернелер тіркесімін қабылдайды және оларды СКД экранының көмегімен көрсетеді. BPM -ден басқа, экранда пайдаланушы оны жүрек соғу жиілігімен салыстыру үшін қажетті қарқындылықты көрсетеді. Меншікті BPM арттыру немесе азайту қызықты болатын көптеген жағдайлар бар. Мысалы, төзімді спортшылар шамадан тыс шаршамау үшін пульсацияны басқаруы керек. Күнделікті мысал жүйке жағдайында ұйықтауды немесе тынышталуды қалайды. Бұл аутизмі бар адамдарға стрессті азайту үшін терапевтік әдіс ретінде қолданылуы мүмкін. Экранның жанында қажетті жиілікті басқаруға және жүрек соғу жиілігін жоғарылатуға немесе төмендетуге арналған екі түйме бар. Қарқындылығына байланысты бұрын зерттелген музыка түрі ойналады. Музыка BPM -ді өзгерте алатынын көрсететін зерттеулер бар. Әннің Beats per Minute әніне сәйкес, адам денесі сол BPM -ге еліктейді және сәйкес келеді.
int SetResUp = 11; // қарқындылығын жоғарылату түймесі бар Arduino 10 -штыры.int SetResDown = 12; // қарқындылықты төмендету түймесі бар Arduino -ның 11 -пині
int ResButtonCounter = 0; // қарсылық параметрін жоғарылататын немесе төмендететін уақыт есептегіші, 0 мәнінің бастапқы мәні ResButtonUpState = 0; // қарқындылығын жоғарылату батырмасының ағымдағы күйі int ResButtonDownState = 0; // қарқындылығын төмендету батырмасының ағымдағы күйі int lastResButtonUpState = 0; // қарқындылықты жоғарылату түймесінің соңғы күйі int lastResButtonDownState = 0; // қарқындылықты төмендету түймесінің соңғы күйі
int pulsePin = 0; // A0 портына қосылған импульстік сенсор // Бұл айнымалы мәндер тұрақсыз, себебі олар екінші қойындыдағы үзіліс кезінде қолданылады. тұрақсыз BPM int; // Beats per minute volatile int Signal; // Импульстік сенсор деректерін енгізу тұрақсыз int IBI = 600; // Импульстік уақыт құбылмалы логикалық Импульс = жалған; // Импульстік толқын жоғары болғанда ақиқат, ол төмен ұшатын логикалық QS = жалған болғанда жалған;
# анықтау Start_Byte 0x7E # Version_Byte 0xFF анықтау # Command_Length 0x06 # End_Byte 0xEF анықтау # Acknowledge 0x00 анықтау // 0x41 [0x01: ақпарат, 0x00: ақпарат жоқ] пәрменімен ақпаратты қайтарады
// PANTALLA #include // СКД экранының функциялары үшін кітапхананы жүктеу #қосу #қосу
LiquidCrystal lcd (7, 6, 5, 4, 3, 2); // СКД қосылған порттарды жариялаңыз
// LECTOR #include #include // dfplayer mini MP3 модулінің функциялары үшін кітапхананы жүктеңіз.
char serialData; int nsong; int v;
SoftwareSerial comm (9, 10); // DFPlayer қосылған порттарды жариялаңыз DFRobotDFPlayerMini mp3;
void setup () {Serial.begin (9600); pinMode (SetResUp, INPUT); pinMode (SetResDown, INPUT);
// СКД өлшемдерін анықтаңыз (16x2) lcd.begin (16, 2); // Мәтін қай бағанда және қай жолда көрсетіле бастайтынын таңдаймыз // LECTOR comm.begin (9600);
mp3.begin (comm); // Компонент serialData = (char) (('')) бастайды; mp3.start (); Serial.println («Ойнату»); // Әнді ойнаңыз mp3.том (25); // Көлемді анықтау}
void loop () {if (digitalRead (11) == LOW) {mp3.next (); // Егер түйме басылса, ән өтеді} if (digitalRead (12) == LOW) {mp3.previous (); // Егер түйме басылса, алдыңғы ән} // if (SetResUp && SetResDown == LOW) {
int pulso = analogRead (A0); // А0 аналогтық портына қосылған жүрек соғу жиілігінің мониторының мәнін оқыңыз
Serial.println (pulso/6); if (QS == true) {// Quantified Self туы arduino іздеуіндей ақиқат, BPM QS = false; // Quantified Self туын қалпына келтіру}
lcd.setCursor (0, 0); // Қажетті мәтінді көрсету lcd.print («BPM:»); lcd.setCursor (0, 1); // Қажетті мәтінді көрсету lcd.print («INT:»); lcd.setCursor (5, 0); // Қажетті мәтінді көрсету lcd.print (pulso); lcd.setCursor (5, 1); // Қажетті мәтінді көрсету lcd.print (ResButtonCounter); кешіктіру (50); lcd.clear (); ResButtonUpState = digitalRead (SetResUp); ResButtonDownState = digitalRead (SetResDown);
// TempButtonState -ті алдыңғы күйімен салыстырыңыз
if (ResButtonUpState! = lastResButtonUpState && ResButtonUpState == LOW) {// егер соңғы күй өзгерсе, есептегішті көбейтіңіз
ResButtonCounter ++; }
// ағымдағы күйді соңғы күй ретінде сақтау, // келесі жолы цикл орындалады lastResButtonUpState = ResButtonUpState;
// түйменің күйін (жоғарылату немесе азайту) соңғы күймен салыстыру
егер (ResButtonDownState! = lastResButtonDownState && ResButtonDownState == LOW) {
// егер соңғы күй өзгерсе, есептегішті азайтыңыз
ResButtonCounter-; }
// ағымдағы күйді соңғы күй ретінде сақтау, // келесі жолы цикл орындалады lastResButtonDownState = ResButtonDownState; {Serial.println (ResButtonCounter);
if (ResButtonCounter> = 10) {ResButtonCounter = 10; }
if (ResButtonCounter <1) {ResButtonCounter = 1; }
}
}
5 -қадам: Жалпы жиналыс
Дұрыс бағдарламаланған кодпен және біздің прототиптің екі бөлігі жинақталған. Біз барлық компоненттерді орнына қойып, білезікке бекіту үшін таспамен байланыстырамыз. Білезіктегі компоненттер - бұл жүрек соғу жиілігінің сенсоры BPM, екі түйме, потенциометр және СКД экраны, олардың әрқайсысы бұрын 3D файлында жасалған. Бірінші бөлік аяқталғаннан кейін біз протоколға назар аударамыз, әр коннектор Arduino тақтасының дұрыс түйреуішінде. Ақырында, әрбір компоненттің тексерілген жұмысымен біз сымдарды жасыру үшін оны фанер пакетіне саламыз.
6 -қадам: бейне
7 -қадам: Қорытынды
Бұл жобаның ең қызықтысы - адам денесін музыкаға бейсаналық түрде еліктеуді үйрену. Бұл болашақ жобалардың көптеген нұсқаларына жол ашады. Менің ойымша, бұл толық жоба, бізде жұмыс істейтін коды бар көптеген компоненттер бар. Егер біз қайтадан бастасақ, біз басқа компоненттердің баламалары туралы ойланар едік немесе оларды сапалы сатып аламыз. Бізде сынған кабельдер мен дәнекерлеу кезінде көптеген проблемалар болды, олар кішкентай және өте нәзік (әсіресе BPM). Екінші жағынан, компоненттерді қосқанда абай болу керек, олардың шығысы көп, қателесу оңай.
Бұл өте бай жоба, онда біз Arduino аппараттық және бағдарламалық қамтамасыз етудің кең таңдауына тоқталдық.
Ұсынылған:
Киюге болатын жарықтандырғыш джек-фонарь: 5 қадам (суреттермен)
Киюге болатын жарықтандырғыш Jack-O-Lantern: Міне, Хэллоуин мерекесінің алдында түсірілетін 3D форматындағы тамаша жоба. Төмендегі қадамдарды орындап, өзіңізге Wearable Light Up 3D басып шығаратын Jack-O-фонарь етіп беріңіз, оны мойныңызға тағуға болады немесе сізді Хэллоуиге шақыру үшін жұмыс үстеліне қоюға болады
Қарапайым және модульдік киюге болатын шамдар: 5 қадам (суреттермен)
Қарапайым және модульдік киюге болатын шамдар!: Бірнеше арзан (және жеткізілетін) бөлшектермен керемет, футуристік және реттелетін киілетін шамдарды жасаңыз! Киімдерге/сезімдерге/мерекелерге/барлық нәрсеге сәйкес келу үшін барлық қондырғыларға қосылыңыз және түстерді ауыстырыңыз
Киюге болатын фонарь (CPX бар): 8 қадам
Кіруге болатын фонарь (CPX бар): Барлығына сәлем, мен сіздің қолыңызға киюге болатын киілетін фонарь жасадым. Мен код блоктарын біріктіретін кодтау веб -сайты Adafruit кодын қолдандым. Бұл нұсқаулықта мен сізге CPX кодтау үшін не істегенімді айтамын (Circuit Playground Ex
Постширт: нақты уақытта киюге болатын қалыпты анықтау: 9 қадам
Постширт: Нақты уақытта киінетін қалыпты анықтау: Postshirt - бұл Adafruit қауырсынынан акселерометрлік деректерді Bluetooth арқылы Android қосымшасына жіберетін және жіктейтін нақты уақыттағы сымсыз қалыпты анықтау жүйесі. Толық жүйе нақты уақытта анықтай алады, егер пайдаланушының жағдайы нашар болса және
Киюге болатын Photon Beatbox: 7 қадам
Wonable Photon Beatbox: Бұл жоба Adafruit-тен тапқан фотонды соққыларға арналған кодтан шабыттандырылды: https://makecode.adafruit.com/examples/photon-beat… Мен кодты қолдана отырып, осы тұжырымдаманы нақтылауды шештім. оны өзгерте алатын киілетін электронды кеудешеге айналдыру