Мазмұны:

Дифференциалды кері байланысы бар қарапайым Arduino негізіндегі эргометр дисплейі: 7 қадам (суреттермен)
Дифференциалды кері байланысы бар қарапайым Arduino негізіндегі эргометр дисплейі: 7 қадам (суреттермен)

Бейне: Дифференциалды кері байланысы бар қарапайым Arduino негізіндегі эргометр дисплейі: 7 қадам (суреттермен)

Бейне: Дифференциалды кері байланысы бар қарапайым Arduino негізіндегі эргометр дисплейі: 7 қадам (суреттермен)
Бейне: 47 ЧАСТЬ 2 Тригонометриялық теңдеулер. Кері тригонометриялық функциялары бар теңдеулер. АҚЖОЛ КНЯЗОВ 2024, Қараша
Anonim
Дифференциалды кері байланысы бар қарапайым Arduino негізіндегі эргометр дисплейі
Дифференциалды кері байланысы бар қарапайым Arduino негізіндегі эргометр дисплейі
Дифференциалды кері байланысы бар қарапайым Arduino негізіндегі эргометр дисплейі
Дифференциалды кері байланысы бар қарапайым Arduino негізіндегі эргометр дисплейі
Дифференциалды кері байланысы бар қарапайым Arduino негізіндегі эргометр дисплейі
Дифференциалды кері байланысы бар қарапайым Arduino негізіндегі эргометр дисплейі

Кардио-жаттығулар скучно, әсіресе үй ішінде жаттығулар жасағанда. Бірнеше қолданыстағы жобалар мұны жеңілдетуге тырысады, мысалы, эргометрді ойын консоліне қосу немесе VR -де нақты велосипедпен жүруді модельдеу. Техникалық тұрғыдан алғанда олар өте қызықты емес: жаттығулар әлі де скучно. Сонымен, мен жаттығу кезінде тек кітап оқып немесе теледидар көргім келеді. Бірақ содан кейін тұрақты қарқынмен жүру қиын.

Идея-бұл соңғы мәселеге назар аудару және сіздің қазіргі дайындық деңгейіңіз жеткілікті ме, әлде сізге көп күш салу керек пе деген сұраққа тікелей кері байланыс беру. Алайда, «жеткілікті жақсы» деңгей әр адамға ғана емес, уақыт өте келе де өзгереді (ұзақ уақыт бойы, жақсарған сайын, сонымен қатар жаттығу кезінде: мысалы, сіз жылдамдықпен жүру мүмкін емес) жылынған). Сондықтан, бұл жобаның идеясы - а) алдыңғы жүгіруді және б) ең жақсы жүгіруді (жоғары ұпай) жазу, содан кейін осы жүгірістермен салыстырғанда сіздің қазіргі жағдайыңыз туралы тікелей пікір беру.

Егер бұл біршама дерексіз болып көрінсе, аяқталған дисплей нені көрсететіні туралы 7 -қадамға өтіңіз

Бұл жобаның тағы бір мақсаты - қарапайым және арзан нәрселерді сақтау. Бөлшектерге тапсырыс беруіңізге байланысты, сіз бұл жобаны шамамен 5 долларға (немесе премиум отандық сатушылардан тапсырыс кезінде шамамен 30 долларға) аяқтай аласыз, ал егер сіз Arduino ортасымен бұрын ойнаған болсаңыз, сізде қазірдің өзінде жақсы мүмкіндік бар. сізге қажет бөлшектердің көпшілігі немесе барлығы бар.

1 -қадам: Бөліктер тізімі

Бөліктер тізімі
Бөліктер тізімі

Сізге қажет заттардың тізімін қарастырайық:

Arduino үйлесімді микропроцессор

Соңғы бірнеше жыл ішінде сатылған кез келген Arduino көп нәрсені жасайды. Нақты нұсқа (Uno / Nano / Pro Mini, 8 немесе 16 МГц, 3.3. Немесе 5В) маңызды емес. Алайда сізге ATMEGA328 процессоры немесе одан да жақсысы қажет болады, себебі біз 2км жедел жады мен 1кг EEPROM қолданамыз. Егер сіз Arduino әлемінің қыр -сырын жақсы білетін болсаңыз, мен Pro Mini 3.3V кернеуін қолдануды ұсынамын, себебі ол ең арзан және батареяны үнемдейді. Егер сіз (салыстырмалы түрде) Arduino -да жаңадан болсаңыз, мен «нано» ұсынамын, себебі ол кішігірім және арзан пакетте «Uno» сияқты бірдей функционалдылықты қамтамасыз етеді.

Назар аударыңыз, бұл нұсқаулық сізге қарапайым нәрселер туралы айтпайды. Сіз кем дегенде Arduino бағдарламалық жасақтамасын орнатып, Arduino -ды қалай қосуды және эскизді жүктеуді білуіңіз керек. Егер сіз түсінбейтін болсаңыз, мен айтып отырған нәрсені білмесеңіз, мына екі қарапайым оқулықты оқыңыз, бірінші: бірінші, екінші.

128*64 пиксельді SSD1306 OLED дисплейі (I2C нұсқасы, яғни төрт түйреуіш)

Бұл қазіргі кездегі ең арзан және қарапайым дисплейлердің бірі. Келісемін, бұл кішкентай, бірақ жеткілікті жақсы. Әрине, егер сізде ұқсас немесе жақсы ажыратымдылық дисплейі болса, оны орнына қолдануға болады, бірақ бұл нұсқаулық SSD1306 үшін жазылған.

  • Прототипіңізді жасауға арналған «дәнекерлемейтін тақта» және бірнеше секіргіш сым
  • 100nF керамикалық конденсатор (қажет немесе қажет емес; 4 -қадамды қараңыз)
  • Немесе қысқаштар, немесе магнит, қамыс қосқышы және кабель (4-қадамды қараңыз)
  • Қызыл және жасыл жарықдиодты, әрқайсысы (міндетті емес; 5 -қадамды қараңыз)
  • 220 Ом екі резистор (егер светодиодты қолдансаңыз)
  • Түйме (сонымен қатар міндетті емес)
  • Сәйкес батарея (6 -қадамды қараңыз)

2 -қадам: Дисплейді қосу

Дисплейді қосу
Дисплейді қосу

Біріншіден, біз дисплейді Arduino -ға қосамыз. Толық нұсқаулар бар. Дегенмен, SSD1306 қосылу өте оңай:

  1. VCC дисплейі -> Arduino 3.3V немесе 5V (не болады)
  2. Gnd -> Arduino Gnd көрсету
  3. SCL дисплейі -> Arduino A5
  4. SCA дисплейі -> Arduino A4

Содан кейін Arduino ортасында Sketch-> Кітапхананы қосу-> Кітапханаларды басқару тармағына өтіп, «Adafruit SSD1306» орнатыңыз. Өкінішке орай, кітапхананы 128*64 пиксельдік нұсқаға конфигурациялау үшін оны өңдеу қажет болады: arduino «кітапханалар» қалтасын тауып, «Adafruit_SSD1306/Adafruit_SSD1306.h» өңдеңіз. «#Define SSD1306_128_32» іздеңіз, сол жолды өшіріңіз және «#define SSD1306_128_64» орнына қосыңыз.

Бұл кезде дисплейдің дұрыс қосылғанын тексеру үшін File-> Examples-> Adafruit SSD1306-> ssd1306_128x64_i2c жүктеу керек. I2C-адресті реттеу қажет болуы мүмкін екенін ескеріңіз. 0x3C ең көп таралған мән болып көрінеді.

Қиындықтар туындаған жағдайда толығырақ нұсқауларды қараңыз.

3 -қадам: Эскизді жүктеңіз

Егер бәрі жұмыс істеген болса, әзірге нақты эскизді Arduino -ға жүктеудің уақыты келді. Сіз эскиздің көшірмесін төменде таба аласыз. Мүмкін жаңа нұсқасы үшін github жоба бетіне жүгініңіз. (Бұл бір файлдық эскиз болғандықтан, erogmetrino.ino файлын Arduino терезесіне көшіру жеткілікті).

Егер сіз алдыңғы қадамда I2C мекенжайын өзгертуге мәжбүр болсаңыз, дәл қазір «display.begin» деп басталатын жолда дәл сол түзетуді жасауға тура келеді.

Жүктеп салғаннан кейін дисплейде бірнеше нөлдер пайда болады. Қалғанның бәрі қосылғаннан кейін дисплейдің әр түрлі бөлімдерінің мағынасын қарастырамыз.

Назар аударыңыз, бірінші іске қосылу кезінде дисплей баяу баяулайды (шамамен он секундқа созылуы мүмкін), себебі эскиз EEPROM -де сақталған кез келген деректерді нөлге теңестіреді.

4 -қадам: Эргометрді қосу

Эргометрді қосу
Эргометрді қосу

Бұл қадамды әмбебап сипаттау мүмкін емес, өйткені эргометрлердің бәрі бірдей емес. Дегенмен, олардың бәрі де әр түрлі емес. Егер сіздің эргометрде электронды жылдамдық дисплейі болса, онда оның бір жерде педальдардың немесе кейбір (мүмкін ішкі) ұшатын дөңгелектің айналуын анықтайтын электронды сенсоры болуы керек. Көптеген жағдайларда, бұл қамыс қосқышының жанынан өтетін магниттен тұрады (төменде қараңыз). Магнит өткен сайын, қосқыш жабылады, бұл жылдамдық дисплейінде бір айналымды білдіреді.

Сіз істеуіңіз керек бірінші нәрсе - кіретін кабельдер үшін эргометрдегі жылдамдық дисплейін тексеру. Егер сіз эргометрдің ішінен екі сымды кабельді тапсаңыз, сіз сенсорға қосылуды таптыңыз. Біраз сәттілік болса, оны жай ғана ажыратуға болады, және оны Arduino-ға бірнеше клиптермен жалғауға болады (мен сізге бір минут ішінде қандай түйреуіштерді қосу керектігін айтамын).

Алайда, егер сіз мұндай кабельді таба алмасаңыз, дұрысын тапқаныңызға сенімді болмасаңыз немесе ештеңеге зақым келтірместен ажыратуға болмайтын болса, педальдардың біріне кішкене магнитті таспамен бекітіп, құрақ қосқышты эрогметрдің жақтауына бекітуге болады., магнит оның жанынан өте жақын өтеді. Коммутаторға екі сымды жалғап, оларды Arduino -ға апарыңыз.

Екі сымды қосыңыз (сіздікі немесе сенсорлық болсын) Arduino Gnd және Arduino pin D2 -ге өтеді. Егер сізде қолыңызда болса, 100nF конденсаторды D2 мен Gnd түйреуішінің арасына қосыңыз. Бұл қажет немесе қажет емес, бірақ көрсеткіштерді тұрақтандыруға көмектеседі.

Аяқтағаннан кейін, Arduino -ны қосатын кез келді және велосипедпен секіріп, алғашқы жылдам тест. Жоғарғы сол жақтағы нөмір жылдамдықты көрсете бастайды. Егер бұл жұмыс істемесе, барлық сымдарды тексеріңіз және магнит қамыс қосқышына жеткілікті жақын екеніне көз жеткізіңіз. Егер жылдамдық өлшемі тым жоғары немесе тым төмен болып көрінсе, эскиздің жоғарғы жағындағы «CM_PER_CLICK» анықтамасын реттеңіз (ескерту: эскизде метрикалық атаулар пайдаланылады, бірақ бірліктер еш жерде көрсетілмейді немесе сақталмайды, сондықтан оны елемеңіз және бір шертуге 100 мильден бір миль жеткізіңіз).

5 -қадам: Жылдам күйдегі қосымша жарық диодтары

Қосымша жылдам күй диодтары
Қосымша жылдам күй диодтары

Бұл қадамда сипатталған светодиодтар міндетті емес, бірақ ұқыпты: егер сіз жаттығу кезінде кітап оқуға / теледидар қарауға байсалды болсаңыз, дисплейге тым көп қараудың қажеті жоқ. Бірақ әр түрлі түсті екі жарық диоды перифериялық көріністе оңай байқалады және сіздің жағдайыңыз туралы қатаң түсінік беру үшін жеткілікті болады.

  • Бірінші (қызыл) жарықдиодты D6 түйреуішіне жалғаңыз (жарықдиодтың ұзын аяғы Arduino -ға өтеді). Жарық диодының қысқа аяғын 220 Ом резистор арқылы Gnd -ге қосыңыз. Бұл жарық диодты жаттығудың ағымдағы кезеңінде ең жоғары жылдамдықтан 10% немесе одан төмен болған кезде жанады. Тағы да күш салатын уақыт келді!
  • Екінші (жасыл) жарықдиодты D5 түйреуішіне, қайтадан Gnd резисторымен қосыңыз. Бұл жарық диоды сіз 1%немесе одан да жоғары деңгейге жеткенде жанады. Жақсылық жасайсың!

Светодиодтар сіздің алдыңғы жүгіріспен немесе сіздің орташа жылдамдығыңызбен салыстырғанда қалай жұмыс жасайтыныңызға байланысты жанғанын қалайсыз ба? D4 пен Gnd түйреуішінің арасындағы түймені қосыңыз. Бұл батырманың көмегімен сіз «ең жақсы жүгіру», «алдыңғы жүгіру» немесе «ағымдағы жылдамдық» арасындағы сілтемені ауыстыра аласыз. Төменгі сол жақ бұрыштағы «P» немесе «C» әрпі соңғы екі режимді білдіреді.

6 -қадам: эргометр дисплейін қосу

Эргометрлік дисплейге қуат беру
Эргометрлік дисплейге қуат беру

Дисплейді қуаттандырудың көптеген жолдары бар, бірақ мен басқаларына қарағанда практикалық болып көрінетін екі нұсқаны көрсетемін:

  1. Arduino Uno немесе Nano қолданған кезде, батареяның кірістірілген көрсеткіші төмен USB қуат банкінің көмегімен қуат бергіңіз келетін шығар.
  2. Arduino Pro Mini @ 3.3V қолданған кезде (озық пайдаланушыларға ұсынысым) сіз оны LiPo батареясынан немесе үш NiMH ұяшығынан тікелей қуаттай аласыз. ATMEGA 5,5 В дейінгі кернеуге төзетіндіктен, оны борттық кернеу реттегішін айналып өтіп, тікелей «VCC/ACC» қосуға болады. Бұл қондырғыда қосымша жабдықсыз (оң жақ төменгі бұрышта көрсетілген) шамамен 3,4 В шамасында «батареяның заряды төмен» деген ескерту болады. ATMEGA дұрыс жұмыс істейді деп күтуге болады, кем дегенде 3,0 В дейін немесе одан төмен, бұл сізге қайта зарядтамас бұрын жаттығу блогын аяқтауға жеткілікті уақыт қалдыруы керек.

7 -қадам: Эргометр дисплейін пайдалану

Эргометр дисплейін пайдалану
Эргометр дисплейін пайдалану
Эргометр дисплейін пайдалану
Эргометр дисплейін пайдалану

Дисплейдегі әр түрлі сандарды мұқият қарастырайық. Жоғарғы сол жақтағы үлкен сан - бұл сіздің ағымдағы жылдамдығыңыз, ал оң жақтағы үлкен сан - сіздің ағымдағы жаттығудағы жалпы қашықтық.

Келесі жол - сіздің жаттығу басталғаннан бергі орташа жылдамдығыңыз (сол жақта) және жаттығу басталғаннан бергі уақыт (оң жақта). Уақыт велосипед тоқтаған кезде тоқтатылатынын ескеріңіз.

Әзірге тривиальды. Оң жақтағы тағы екі жол қызықты болады: олар сіздің ағымдағы уақытыңызды сәйкесінше алдыңғы және ең жақсы жаттығуларыңызбен салыстырады. Яғни Бұл жолдардың жоғарғы жағындағы «- 0:01:23» сіздің жүгіруден 1 минут 23 секунд бұрын сіздің қазіргі қашықтыққа жеткеніңізді білдіреді. Жақсы. «+ 0:00:12» төменгі сызығы ағымдағы нүктеге дейін сіз ең жақсы жүгіруден 12 секундқа артта қалғаныңызды білдіреді. (Назар аударыңыз, бұл дифференциалдық уақыттар 100% дәл болмайды. Уақыт нүктелері әр.5 км / мильде сақталады және олардың арасында интерполяцияланады.) Әрине, сіздің бірінші жүгіруіңізде уақыт бойынша анықтамалар әлі тіркелмеген. сондықтан жоғарыдағы екі жолда да «-:-:-» көрсетіледі.

Соңында, дисплейдің төменгі сол жақ бөлігінде соңғы минуттағы жылдамдығыңыздың графигі бар. Бұл сізге біркелкі, сіз біртіндеп бара жатқаныңызды немесе баяулауды көруге мүмкіндік береді. (Назар аударыңыз, бұл сызық шынайы жаттығуларда әлдеқайда тегіс болады - бірақ суретке түсіру кезінде бір қалыпты қозғалысты ұстап тұру оңай емес …) Көлденең сызықтар сіздің алдыңғы нүктеңізге жақындаған алдыңғы / ең жақсы жылдамдықты көрсетеді. тренингтер.

Үстіңгі жағына орнатылған жарық диодтары жаттығудың осы кезеңінде сіздің қазіргі жылдамдығыңызды ең жақсы жылдамдықпен салыстырады. Жасыл шоулар сіздің ең жақсы деңгейіңіздің 1% шегінде, ал қызыл шоу сіздің ең жақсы жаттығуларыңызға қарағанда 10% -ға баяу. Қызыл шамды көргенде, тағы да күш салу керек. Назар аударыңыз, жоғарыда сипатталған дифференциалды уақытқа қарама -қайшы, бұл жаттығудың ағымдағы бөлігіне ғана қатысты, яғни сіз абсолютті уақытта артта қалуыңыз мүмкін, бірақ жасыл түс сізді қуып жететінін көрсетеді және керісінше.

Екі светодиод үшін қолданылатын жылдамдықты басу түймесінің көмегімен өзгертуге болады. Бір басу оны ең жақсы жаттығудан алдыңғы жазбаға ауыстырады (төменгі сол жақта «P» әрпі пайда болады). Басқа басу және түймені басу кезінде сіздің ағымдағы жылдамдығыңыз жаңа анықтамалық жылдамдыққа айналады («С» әрпі көрсетіледі). Соңғысы, әсіресе, сілтеме әлі жазылмаған кезде, эргометрдің жаңа дисплейімен алғашқы жаттығулар кезінде пайдалы.

Жаттығуды аяқтағаннан кейін, батареяны ажыратыңыз. Сіздің жаттығуларыңыз Arduino ішкі EEPROM -да сақталған.

Көріп отырғаныңыздай, мен прототипімді дәнекерлеуді аяқтадым. Нәтиже маған ұнағанының белгісі. Сізге де пайдалы болады деп үміттенемін. Бақытты жаттығулар!

Ұсынылған: