Мазмуну:
- 1 -кадам: материалдар жана компоненттер
- 2 -кадам: билерикти жасаңыз
- 3 -кадам: Электрондук байланыштар
- 4 -кадам: Код
- 5 -кадам: Жалпы жыйын
- 6 -кадам: Видео
- 7 -кадам: Жыйынтык
Video: Кийилүүчү - Акыркы долбоор: 7 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:40
КИРИШҮҮ
Бул долбоордо биз киборг функцияларынын негизинде иштей турган кийилүүчү прототип жасоо милдетин алдык. Сиздин жүрөгүңүз BPM музыкасы менен шайкештешээрин билчү белеңиз? Музыка аркылуу маанайыңызды башкарууга аракет кылып көрсөңүз болот, бирок биз технологиянын тынчтанышына жардам берсек эмне болот? Бизге кээ бир компоненттер, Arduino жана гарнитуралар керек. Келгиле, инновация кылалы!
Долбоор Марк Вила, Гильермо Штауффахер жана Пау Карселле тарабынан
1 -кадам: материалдар жана компоненттер
Курулуш материалдары:
- 3d басылган билерик
- M3 бурамалар (x8)
- M3 жаңгактар (x12)
- Фанни пакети
Электрондук материалдар:
-Жүрөктүн Rate Sensor BPM
- Баскычтар (x2)
- Потенциометр
- LCD C 1602 МОДУЛИ
- MODULE DFPLAYER MINI MP3
- 3.5мм Джек стерео TRRS гарнитура
- MicroSD картасы
- Arduino Uno Plate
- Ширетүүчү
- Бакелит плитасы
2 -кадам: билерикти жасаңыз
Биринчиден, биз билериктин ар кандай компоненттерин уюштуруу үчүн бир нече эскиздерди жасайбыз.
Таза идея менен, биз топтун мүчөлөрүнүн үч колун өлчөдүк, андан кийин дизайн үчүн оптималдуу чараны табуу үчүн орточо көрсөткүчтү чыгардык. Акыры биз продуктту 3d программасы менен иштеп чыгып, аны 3D принтер менен басып чыгарабыз.
Сиз бул жерден. STL файлдарын жүктөй аласыз.
3 -кадам: Электрондук байланыштар
Биз 3d дизайныбыздын керектүү текшерүүлөрүн улантып жатабыз, биз өлчөөлөрдүн туура болгонун көрүү үчүн прототиптеги бардык компоненттердин биринчи жыйнагын жасадык.
Бардык компоненттерди Arduino тактасына туташтыруу үчүн, биз 0, 5 метр кабелдерди колдонуп, компоненттерден ар кандай байланыштарды жасадык, ушинтип биз тактанын көрүнүшүн азайтабыз жана прототипти жакшыраак уюштурабыз.
4 -кадам: Код
Бул долбоор киборгдун прототиби болуп саналат. Албетте, биз теринин астына компоненттерди киргизе элекпиз, ошондуктан биз аны ортопез катары браслет менен окшоштурдук (функционалдык аспектилерин өзгөртүү үчүн денеге колдонулган тышкы түзүлүш).
Биздин код колдонуучунун баскычтарын алат жана аларды ЖК экран аркылуу көрсөтөт. BPMден тышкары, экран керектүү интенсивдүүлүктү көрсөтөт, ошондуктан колдонуучу аны жүрөктүн кагышы менен салыштыра алат. Жеке BPMди көбөйтүү же азайтуу кызыктуу болгон көптөгөн жагдайлар бар. Мисалы, чыдамкай спортчулар ашыкча чарчабаш үчүн пульсацияларды көзөмөлдөшү керек. Күнүмдүк мисал - тынчсыздануу абалында уктап же тынчтанууну каалоо. Бул ошондой эле аутизм менен ооруган адамдар үчүн стрессти азайтуу үчүн терапиялык ыкма катары колдонулушу мүмкүн. Экрандын жанында керектүү интенсивдүүлүктү көзөмөлдөө жана жүрөктүн кагышын көбөйтүү же азайтуу үчүн эки баскыч бар. Интенсивдүүлүгүнө жараша мурда изилденген музыканын түрү ойнотулат. Музыка BPMди өзгөртө аларын көрсөткөн изилдөөлөр бар. Ырдын Beats per Minute ырына ылайык, адамдын денеси ошол BPMди туурап, дал келет.
int SetResUp = 11; // интенсивдүүлүгүн жогорулатуу button.int SetResDown = 12 менен Arduino 10 пин; // интенсивдүүлүктү азайтуу баскычы менен Arduino 11 пин
int ResButtonCounter = 0; // каршылыктын жөндөөсүн жогорулатуучу же төмөндөтүүчү эсептегич, 0 int ResButtonUpState = 0 баштапкы мааниси; // интенсивдүүлүктү жогорулатуу баскычынын учурдагы абалы int ResButtonDownState = 0; // интенсивдүүлүктү төмөндөтүү баскычынын учурдагы абалы int lastResButtonUpState = 0; // интенсивдүүлүктү жогорулатуу баскычынын акыркы абалы int lastResButtonDownState = 0; // интенсивдүүлүктү азайтуу баскычынын акыркы абалы
int pulsePin = 0; // A0 портуна туташкан Pulse Sensor // Бул өзгөрмөлөр туруксуз, анткени алар экинчи өтмөктө үзгүлтүккө учуроо учурунда колдонулат. туруксуз int BPM; // Beats per minute volatile int Signal; // Импульс сенсорунун маалыматын киргизүү туруксуз int IBI = 600; // Импульс убактысы туруксуз логикалык Pulse = false; // Импульс толкуну жогору болгондо чындык, Төмөн туруксуз логикалык QS = жалган болгондо жалган;
# аныктоо Start_Byte 0x7E # аныктоо Version_Byte 0xFF # Command_Length 0x06 # аныктоо End_Byte 0xEF # аныктоо Axnowledge 0x00 // 0x41 буйругу менен маалыматты кайтарат [0x01: маалымат, 0x00: маалымат жок]
// PANTALLA #include // ЖК экрандын функциялары үчүн китепкананы жүктөө #кошуу #кошуу
LiquidCrystal lcd (7, 6, 5, 4, 3, 2); // ЖК кошулган портторду жарыялагыла
// LECTOR #include #include // dfplayer mini MP3 модулунун функциялары үчүн китепкананы жүктөө.
char serialData; int nsong; Сыналгыда;
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 ("Play"); // Ырды ойнот 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 Heart Rate Sensor, эки баскыч, потенциометр жана ЖК экраны, алардын ар бири мурда 3D файлында иштелип чыккан. Биринчи бөлүк бүткөндөн кийин, биз Arduino тактасынын туура төөнөгүчүндөгү ар бир туташтыргычы протоборго көңүл бурабыз. Акыр -аягы, ар бир компоненттин текшерилген иштеши менен, биз зымдарды жашыруу үчүн аны фанни пакетине салабыз.
6 -кадам: Видео
7 -кадам: Жыйынтык
Бул долбоордун эң кызыктуусу - адамдын денесин музыка менен аң -сезимсиз түрдө тууроо жөнүндө үйрөнүү. Бул келечектеги долбоорлор үчүн көптөгөн варианттарга жол ачат. Менимче, бул толук долбоор, бизде иштеген коду бар көптөгөн компоненттер бар. Эгерде биз кайра баштасак, башка компоненттердин альтернативалары жөнүндө ойлонуп же сапаттуу сатып алмакпыз. Бизде сынган кабелдер жана ширетүү көйгөйлөрү көп болгон, алар кичинекей жана өтө назик (айрыкча BPM). Башка жагынан алганда, компоненттерди туташтырууда этият болуш керек, аларда көптөгөн жыйынтыктар бар жана ката кетирүү оңой.
Бул абдан байытуучу долбоор, анда биз Arduino аппараттык жана программалык камсыздоонун көптөгөн түрлөрүнө токтолдук.
Сунушталууда:
Паркинсон оорусуна кийилүүчү техника: 4 кадам
Parkinson Disease Wearable Tech: Дүйнө жүзүндө 10 миллиондон ашуун адам Паркинсон оорусу (PD) менен жашашат. Прогрессивдүү нерв системасынын бузулушу, бул катуулукту пайда кылат жана пациенттин кыймылына таасир этет. Жөнөкөй сөз менен айтканда, көптөгөн адамдар Паркинсон оорусуна чалдыккан, бирок
Кийилүүчү кыймыл трекерин түзүңүз (BLE'ден Arduinoдон Android Studio студиясынын колдонмосуна чейин): 4 кадам
Wearable Motion Tracker куруңуз (BLE Arduinoдон Android Студиясынын Колдонмосуна): Bluetooth Low Energy (BLE) - бул аз кубаттуу Bluetooth байланышынын бир түрү. Кийиле турган түзмөктөр, мен акылдуу кийимдер сыяктуу, мен Predictive Wear дизайнында, батареянын иштөө мөөнөтүн узартуу үчүн мүмкүн болушунча энергия керектөөнү чектеп, BLEди көп колдонушу керек
Жөнөкөй жана модулдук кийилүүчү чырактар!: 5 кадам (сүрөттөр менен)
Жөнөкөй жана модулдук кийилүүчү чырактар!: Бир нече арзан (жана жеткирилүүчү) бөлүктөрү менен жомоктогудай, футуристтик жана жөнгө салынуучу кийилүүчү чырактарды куруңуз! Кийимдерге/сезимдерге/майрамдарга/баардык нерсеге дал келүү үчүн ар кандай жабдууларды тиркеп, түстөрдү алмаштырыңыз! Кыйынчылык: Башталгыч+ (солдер
[Кийилүүчү чычкан] Windows 10 жана Linux үчүн Bluetooth негизделген кийилүүчү чычкан контролери: 5 кадам
[Кийиле турган чычкан] Windows 10 жана Linux үчүн Bluetooth негизделген кийилүүчү чычкан контролери: Мен чычкандын көрсөткүчүн көзөмөлдөө жана PC-чычканга байланышкан операцияларды эч кандай бетке тийбестен аткаруу үчүн колдонула турган Bluetooth негизиндеги чычкан контроллерин жасадым. Мээлейге камтылган электрондук схема, h көз салуу үчүн колдонулушу мүмкүн
Миниатюралык кийилүүчү кулпудагы күчөткүч (жана кийилүүчү буюмдар үчүн Sonar системасы, ж.б ..): 7 кадам
Миниатюралык кийилүүчү кулпулоочу күчөткүч (жана Sonar тутуму үчүн ж. жүрөгүңүздү үзгүлтүксүз көзөмөлдөгөн жана адам-машина үйрөнүүнү колдонгон машина