Cov txheej txheem:

Yooj Yim Arduino-based Ergometer Zaub Nrog Cov Lus Qhia Sib Txawv: 7 Cov Kauj Ruam (nrog Duab)
Yooj Yim Arduino-based Ergometer Zaub Nrog Cov Lus Qhia Sib Txawv: 7 Cov Kauj Ruam (nrog Duab)

Video: Yooj Yim Arduino-based Ergometer Zaub Nrog Cov Lus Qhia Sib Txawv: 7 Cov Kauj Ruam (nrog Duab)

Video: Yooj Yim Arduino-based Ergometer Zaub Nrog Cov Lus Qhia Sib Txawv: 7 Cov Kauj Ruam (nrog Duab)
Video: Thai Sounders - Yooj Yim (Official Music Video) 2024, Hlis ntuj nqeg
Anonim
Yooj Yim Arduino-based Ergometer Zaub Nrog Cov Lus Qhia Sib Txawv
Yooj Yim Arduino-based Ergometer Zaub Nrog Cov Lus Qhia Sib Txawv
Yooj Yim Arduino-based Ergometer Zaub Nrog Cov Lus Qhia Sib Txawv
Yooj Yim Arduino-based Ergometer Zaub Nrog Cov Lus Qhia Sib Txawv
Yooj Yim Arduino-based Ergometer Zaub Nrog Cov Lus Qhia Sib Txawv
Yooj Yim Arduino-based Ergometer Zaub Nrog Cov Lus Qhia Sib Txawv

Kev tawm dag zog lub cev yog qhov tsis txaus, tshwj xeeb yog, thaum qoj ib ce sab hauv tsev. Ntau qhov haujlwm uas twb muaj lawm tau sim daws qhov no los ntawm kev ua cov khoom txias xws li txuas lub ergometer rau lub game game, lossis tseem sim ua lub caij tsheb kauj vab tiag tiag hauv VR. Zoo siab heev li cov no yog, thev naus laus zis, lawv tsis pab ntau npaum li cas: Kev tawm dag zog yog qhov tseem tsis txaus ntseeg. Yog li, hloov pauv, Kuv xav kom tsuas yog nyeem phau ntawv lossis saib TV thaum kawm. Tab sis tom qab ntawd nws nyuaj rau ua kom nrawm nrawm.

Lub tswv yim, ntawm no, yog tsom mus rau qhov teeb meem tom kawg, thiab muab cov lus tawm ncaj qha rau tom ntej, seb koj qib kev kawm tam sim no puas txaus, lossis koj yuav tsum tau siv zog ntxiv. Txawm li cas los xij, qib "zoo txaus" yuav sib txawv tsis yog rau ib tus neeg nkaus xwb, tab sis kuj dhau sijhawm (lub sijhawm ntev, zoo li koj tau zoo dua, tab sis kuj tseem nyob hauv kev cob qhia: piv txwv, nws nyob ze tsis tuaj yeem ua kom nrawm ua ntej koj ua kom sov). Yog li ntawd, lub tswv yim tom qab txoj haujlwm no tsuas yog sau a) kev ua yav dhau los thiab b) qhov ua tau zoo tshaj plaws (aka highscore), thiab tom qab ntawd muab cov lus qhia ncaj qha txog qhov koj tam sim no nyob deb npaum li cas piv rau cov khiav.

Yog tias lub suab me ntsis paub daws teeb, hla mus rau Kauj Ruam 7 kom paub meej txog qhov ua tiav cov zaub yuav pom li cas

Lub hom phiaj ntxiv ntawm txoj haujlwm no yog khaws cov khoom yooj yim thiab pheej yig. Nyob ntawm qhov chaw koj xaj koj cov khoom, koj tuaj yeem ua tiav txoj haujlwm no ib puag ncig $ 5 (lossis kwv yees li 30 $ thaum xaj los ntawm cov neeg muag khoom hauv tsev), thiab yog tias koj tau ua si nrog Arduino ib puag ncig, ua ntej, muaj lub sijhawm zoo uas koj twb tau ua lawm muaj feem ntau lossis tag nrho ntawm qhov koj xav tau.

Kauj Ruam 1: Tshooj Npe

Daim Ntawv Teev Npe
Daim Ntawv Teev Npe

Cia peb hla cov npe khoom uas koj xav tau:

Arduino tau tshaj microprocessor

Zoo nkauj npaum li Arduino muag nyob rau ob peb xyoos dhau los yuav ua. Qhov txawv sib txawv (Uno / Nano / Pro Mini, 8 lossis 16 MHz, 3.3. Lossis 5V) tsis muaj teeb meem. Txawm li cas los xij, koj yuav xav tau lub tshuab ATMEGA328 lossis zoo dua, vim tias peb yuav siv yuav luag 2k ntawm RAM, thiab 1k ntawm EEPROM. Yog tias koj paub zoo txog kev nkag thiab tawm ntawm Arduino ntiaj teb, Kuv pom zoo siv Pro Mini ntawm 3.3V, vim nws yuav pheej yig tshaj, thiab siv roj teeb ntau dua. Yog tias koj yog (tus) tshiab rau Arduino, Kuv pom zoo kom "Nano" raws li nws muab cov haujlwm zoo ib yam li "Uno" hauv pob me thiab pheej yig dua.

Nco ntsoov tias cov lus qhia no yuav tsis tham nrog koj los ntawm cov hauv paus. Koj yuav tsum tsawg kawg muaj Arduino software teeb tsa, thiab paub yuav ua li cas txuas koj Arduino thiab xa daim duab kos. Yog tias koj tsis muaj lub tswv yim, qhov kuv tab tom tham txog, nyeem ob qhov kev qhia yooj yim no, ua ntej: Ua ntej, thib ob.

128*64 pixel SSD1306 OLED zaub (I2C sib txawv, piv txwv li plaub tus pin)

Nov yog ib qho ntawm cov khoom pheej yig tshaj thiab yooj yim tshaj plaws muaj, hnub no. Pom zoo, nws me me, tab sis zoo txaus. Tau kawg, yog tias koj twb muaj cov zaub zoo sib xws lossis daws teeb meem zoo dua, nws yuav tuaj yeem siv qhov ntawd, hloov pauv, tab sis cov lus qhia no tau sau rau SSD1306.

  • Ib qho "tsis muaj khob cij ci" thiab qee lub xaim xaim xaim, txhawm rau tsim koj tus qauv
  • 100nF ceramic capacitor (yuav lossis tsis xav tau; saib Kauj Ruam 4)
  • Xijpeem qee qhov croc-clips, lossis cov hlau nplaum, hloov reed thiab qee qhov cable (saib Kauj Ruam 4)
  • Ib qho liab thiab ntsuab LED, txhua tus (xaiv tau; saib Kauj Ruam 5)
  • Ob 220Ohm resistors (yog siv cov LEDs)
  • Lub laub khawm (tseem xaiv tau)
  • Lub roj teeb uas tsim nyog (saib Kauj Ruam 6)

Kauj ruam 2: Txuas Cov Zaub

Txuas Cov Zaub
Txuas Cov Zaub

Raws li thawj qhov, peb yuav nqes cov zaub rau Arduino. Cov lus qhia ntxaws yog muaj. Txawm li cas los xij, SSD1306 yog qhov yooj yim heev rau kev sib txuas:

  1. Zaub VCC -> Arduino 3.3V lossis 5V (ib qho yuav ua)
  2. Zaub Gnd -> Arduino Gnd
  3. Zaub SCL -> Arduino A5
  4. Zaub SCA -> Arduino A4

Tom ntej no, hauv koj qhov Arduino ib puag ncig mus rau Sketch-> Xws li lub tsev qiv ntawv-> Tswj cov tsev qiv ntawv, thiab teeb tsa "Adafruit SSD1306". Hmoov tsis zoo, koj yuav tsum hloov kho lub tsev qiv ntawv txhawm rau teeb tsa nws rau 128*64 pixel kev hloov pauv: nrhiav koj li arduino "tsev qiv ntawv" nplaub tshev, thiab kho "Adafruit_SSD1306/Adafruit_SSD1306.h". Tshawb nrhiav "#define SSD1306_128_32", lov tes taw kab ntawd, thiab pab kom "#define SSD1306_128_64", hloov.

Txij ntawm no mus koj yuav tsum thauj cov ntaub ntawv-> Piv txwv-> Adafruit SSD1306-> ssd1306_128x64_i2c txhawm rau kuaj koj cov zaub tau txuas nrog, raug. Nco ntsoov tias koj yuav tau hloov kho I2C-chaw nyob. 0x3C zoo li yog tus nqi ntau tshaj.

Thaum muaj teeb meem, xa mus rau cov lus qhia ntxaws ntxiv.

Kauj ruam 3: Upload Sketch

Yog tias txhua yam ua haujlwm, txog tam sim no, tam sim no yog lub sijhawm los rub cov duab kos tiag rau koj Arduino. Koj yuav pom ib daim qauv ntawm daim duab, hauv qab no. Txog qhov muaj peev xwm tshaj tawm tshiab, xa mus rau nplooj ntawv qhov project github. (Txij li qhov no yog ib daim duab kos, nws txaus los tsuas luam the erogmetrino.ino cov ntaub ntawv rau koj lub qhov rais Arduino).

Koj yuav tsum tau hloov kho qhov chaw nyob I2C hauv cov kauj ruam dhau los, koj yuav tsum tau hloov kho tib yam, ib zaug ntxiv, tam sim no, hauv kab pib nrog "display.begin".

Tom qab rub tawm, koj yuav tsum pom qee qhov zeros tshwm hauv koj cov zaub. Peb mam li saib lub ntsiab lus ntawm ntau ntu ntawm cov zaub, tom qab txhua yam ntxiv yog txuas.

Nco ntsoov tias ntawm qhov pib thawj zaug, cov zaub yuav qeeb qeeb rau lub teeb (yuav siv sijhawm txog li kaum vib nas this), raws li cov duab kos yuav xoom cov ntaub ntawv khaws tseg hauv EEPROM, ua ntej.

Kauj Ruam 4: Txuas Ergometer

Txuas tus Ergometer
Txuas tus Ergometer

Cov kauj ruam no tsis tuaj yeem piav qhia thoob ntiaj teb, vim tias tsis yog txhua lub ergometers zoo ib yam. Txawm li cas los xij, lawv tsis txawv txhua qhov, ib yam nkaus. Yog tias koj lub ergometer suav nrog lub tshuab hluav taws xob nrawm txhua qhov, nws yuav tsum muaj lub tshuab hluav taws xob txhawm rau txhawm rau txheeb xyuas qhov hloov pauv ntawm cov pedals, lossis qee qhov (muaj peev xwm sab hauv) ya lub log, qhov chaw. Hauv ntau qhov xwm txheej, uas yuav yooj yim suav nrog cov hlau nplaum hla ze rau qhov hloov pauv reed (saib kuj, hauv qab no). Txhua lub sijhawm cov hlau nplaum hla, qhov hloov pauv yuav kaw, taw qhia ib qho kev hloov pauv mus rau qhov ntsuas nrawm.

Thawj qhov koj yuav tsum tau ua yog txhawm rau tshuaj xyuas qhov nrawm ntawm koj lub ergometer rau cov khoom siv txuas. Yog tias koj pom ob lub xov hlau txuas los ntawm ib qho los ntawm sab hauv ergometer, koj yuav luag tau pom qhov kev sib txuas mus rau lub sensor. Thiab nrog qhov muaj hmoo koj tuaj yeem yooj yim tshem qhov no, thiab tsuas yog txuas nws rau koj Arduino nrog qee qhov croc-clips (Kuv yuav qhia koj li cas tus pin txuas rau hauv ib feeb).

Txawm li cas los xij, yog tias koj tsis tuaj yeem pom cov xov tooj zoo li no, tsis paub meej tias koj pom qhov zoo, lossis koj tsis tuaj yeem txuas nws yam tsis muaj kev puas tsuaj dab tsi, koj tuaj yeem yooj yim kaw cov hlau nplaum me me mus rau ib qho ntawm cov pedals, thiab kho lub reed hloov mus rau koj lub erogmeter tus ncej, xws li cov hlau nplaum yuav hla nws los ze heev. Txuas ob lub xov hlau mus rau qhov hloov pauv thiab coj lawv mus rau koj Arduino.

Txuas ob lub xov hlau (txawm tias koj tus kheej, lossis cov uas los ntawm lub ntsuas uas twb muaj lawm) yuav mus rau Arduino Gnd, thiab Arduino tus pin D2. Yog tias koj muaj ntawm tes, tseem txuas rau 100nF capacitor ntawm tus pin D2 thiab Gnd rau qee qhov "debouncing". Qhov no yuav yog lossis tsis xav tau, tab sis pab ua kom ruaj khov rau kev nyeem ntawv.

Thaum ua tiav, nws yog lub sijhawm los txhawb koj li Arduino, thiab dhia ntawm lub tsheb kauj vab rau thawj qhov kev sim nrawm. Tus lej sab laug sab saum toj yuav tsum pib qhia ntsuas nrawm. Yog tias qhov no tsis ua haujlwm, txheeb xyuas txhua txoj kab hluav taws xob, thiab xyuas kom tseeb tias cov hlau nplaum nyob ze txaus rau qhov hloov pauv. Yog tias qhov ntsuas ntsuas zoo li tsis tu ncua siab dhau lossis qis dhau, yooj yim kho qhov "CM_PER_CLICK" txhais ze rau sab saum toj ntawm daim duab (ceeb toom: kos duab siv cov npe ntsuas, tab sis tsis muaj cov kais dej tso tawm lossis khaws tseg, nyob qhov twg, yog li cia li tsis quav ntsej qhov ntawd, thiab muab 100.000ths ntawm ib mais rau ib nias).

Kauj Ruam 5: Xaiv qhov xwm txheej ceev LEDs

Yeem Yooj Yim Li Teeb Meem LEDs
Yeem Yooj Yim Li Teeb Meem LEDs

Cov LEDs piav qhia hauv cov kauj ruam no yog nyob ntawm yeem, tab sis zoo: Yog tias koj mob siab rau nyeem phau ntawv / saib TV thaum tawm dag zog, koj tsis xav kom saib ntawm cov zaub ntau dhau. Tab sis ob lub LEDs hauv cov xim sib txawv yuav yooj yim pom nyob rau hauv lub zeem muag ib puag ncig, thiab yuav txaus los muab koj lub tswv yim ntxhib, ntawm qhov koj tab tom ua.

  • Txuas thawj (liab) LED rau tus pin D6 (ntev dua ceg ntawm LED mus rau Arduino). Txuas luv luv ceg ntawm LED rau Gnd ntawm 220Ohms resistor. Qhov LED no yuav ci, thaum koj 10% lossis ntau dua hauv qab no koj qhov nrawm tshaj plaws nyob rau theem tam sim no ntawm kev qhia. Lub sijhawm los ua qee yam ntxiv dag zog!
  • Txuas tus thib ob (ntsuab) LED rau tus pin D5, dua nrog tus tiv thaiv rau Gnd. Qhov LED no yuav ci, thaum koj nyob hauv 1%, lossis siab dua ntawm koj qhov kev ua tau zoo tshaj plaws. Koj ua tau zoo!

Koj xav kom cov LEDs ua kom pom kev raws li koj tus nqi sib piv rau koj li yav dhau los, lossis qee qhov kev xav nruab nrab nruab nrab? Zoo, tsuas yog txuas lub laub khawm ntawm tus pin D4 thiab Gnd. Siv lub pob ntawd koj tuaj yeem hloov qhov siv ntawm "koj qhov kev ua tau zoo tshaj plaws", "koj li kev khiav dhau los", lossis "koj qhov nrawm tam sim no". Ib tsab ntawv me "P", lossis "C" nyob rau hauv kaum sab laug yuav qhia txog ob hom tom kawg.

Kauj Ruam 6: Ua Kom Koj Lub Ergometer Zaub

Hwj chim Koj Ergometer Zaub
Hwj chim Koj Ergometer Zaub

Muaj ntau txoj hauv kev los txhawb koj cov zaub, tab sis kuv yuav taw qhia ob qho uas zoo li muaj txiaj ntsig ntau dua li lwm qhov:

  1. Thaum siv Arduino Uno lossis Nano, tej zaum koj xav tau lub zog siv nws lub USB fais fab-txhab nyiaj nrog lub hauv paus roj teeb qis.
  2. Thaum siv Arduino Pro Mini @ 3.3V (kuv qhov kev pom zoo rau cov neeg siv qib siab), koj tuaj yeem siv lub zog ncaj qha los ntawm ib lub roj teeb LiPo nkaus xwb, lossis peb lub NiMH hlwb. Raws li ATMEGA yuav zam lub zog hluav taws xob mus txog 5.5V, koj tuaj yeem txuas qhov no mus rau "VCC/ACC", ncaj qha, hla dhau qhov ntsuas hluav taws xob hauv-board. Hauv qhov teeb tsa no, tseem yuav muaj "roj teeb qis" ceeb toom nyob ib puag ncig 3.4V, tsis muaj kev kho vajtse ntxiv (tso rau hauv kaum sab xis). Raws li ATMEGA tuaj yeem xav ua haujlwm kom raug, tsawg kawg yog 3.0V lossis li ntawd, uas yuav tsum tso koj lub sijhawm txaus los ua kom tiav koj chav kawm ua ntej rov ua haujlwm.

Kauj Ruam 7: Siv Koj Li Ergometer Zaub

Siv Koj Li Ergometer Zaub
Siv Koj Li Ergometer Zaub
Siv Koj Li Ergometer Zaub
Siv Koj Li Ergometer Zaub

Cia peb ua tibzoo saib ntawm ntau tus lej ntawm koj cov zaub. Tus lej loj dua ntawm sab laug sab saum toj tsuas yog koj qhov nrawm tam sim no, thiab tus lej loj nyob rau sab xis saum toj yog tag nrho qhov nrug ntawm koj txoj kev kawm tam sim no.

Kab tom ntej yog koj qhov nrawm nruab nrab txij thaum pib kawm (sab laug), thiab lub sijhawm txij li thaum pib kawm (txoj cai). Nco ntsoov tias lub sijhawm nres thaum lub tsheb kauj vab nres.

Txog tam sim no tsis tseem ceeb. Ob txoj kab txuas ntxiv ntawm sab xis yog qhov uas nws tau ntxim nyiam: Cov no piv koj lub sijhawm tam sim no rau koj yav dhau los thiab kev qhia zoo tshaj plaws, feem. I.e. a "- 0:01:23" nyob rau sab saud ntawm cov kab no yuav txhais tau tias koj tau mus txog qhov koj nyob tam sim no 1 feeb thiab 23 vib nas this ua ntej tshaj li koj tau ua yav dhau los. Zoo. Cov kab qis dua ntawm "+ 0:00:12" yuav txhais tau tias mus txog tam sim no, koj tau poob qis 12 vib nas this tom qab koj qhov kev ua tau zoo tshaj plaws. (Nco ntsoov tias cov sijhawm sib txawv no yuav tsis yog 100% tseeb. Lub sijhawm cov ntsiab lus tau khaws cia txhua txhua. 5 km / mais, thiab cuam tshuam nruab nrab ntawm qhov ntawd.) Tsis yooj yim sua, tau kawg, ntawm koj thawj zaug khiav, tsis muaj lub sijhawm siv cov ntaub ntawv teev tseg, tseem, thiab yog li ob txoj kab saum toj no tsuas yog qhia "-:-:-".

Thaum kawg, cheeb tsam sab laug sab laug ntawm cov zaub muaj cov duab ntawm koj qhov nrawm dhau feeb kawg. Qhov no tso cai rau koj pom ib nrais muag, txawm tias koj tab tom txav mus los, lossis qeeb qeeb. (Nco ntsoov tias kab no yuav du dua hauv kev qhia tiag tiag - tab sis nws yooj yim tsis yooj yim kom tswj tau nrawm thaum sim thaij duab …) Kab rov tav qhia qhov ua ntej / zoo tshaj plaws uas koj ua tiav ze rau tam sim no ntawm koj yav dhau los kev cob qhia

Cov LEDs tau teeb tsa ze rau saum toj sib piv koj qhov nrawm tam sim no rau koj qhov nrawm tshaj plaws nyob rau theem no ntawm kev qhia. Ntsuab qhia koj nyob hauv 1% ntawm koj qhov zoo tshaj plaws, liab qhia tau tias koj ntau dua 10% qeeb dua li koj txoj kev kawm zoo tshaj plaws. Thaum koj pom lub teeb liab, nws yog lub sijhawm los rau siab ua ntxiv. Nco ntsoov tias qhov tsis sib xws ntawm cov sijhawm piav qhia saum toj no, cov no hais txog qhov tam sim no ntawm kev qhia, tsuas yog, piv txwv li nws muaj peev xwm koj nyob qis qis tom qab lub sijhawm meej, tab sis ntsuab qhia tias koj tab tom caum, thiab rov ua dua.

Kev siv ceev siv rau ob lub LEDs tuaj yeem hloov pauv siv lub laub khawm. Ib qho xovxwm yuav hloov nws los ntawm qhov zoo tshaj plaws rau kev qhia yav dhau los (tsab ntawv me "P" yuav tshwm nyob rau sab laug sab laug). Lwm qhov nias thiab koj qhov nrawm tam sim no thaum lub sijhawm nias lub pob yuav dhau los ua qhov tshiab siv ceev (tsab ntawv me "C" yuav qhia). Qhov tom kawg yog qhov muaj txiaj ntsig tshwj xeeb thaum koj thawj qhov kev qhia nrog koj lub ntsej muag ergometer tshiab, thaum tseem tsis tau siv cov ntaub ntawv kaw tseg.

Thaum ua tiav nrog koj txoj kev kawm, tsuas yog txuas lub roj teeb. Koj txoj kev kawm twb tau raug cawm hauv koj li Arduino sab hauv EEPROM.

Raws li koj tuaj yeem pom, Kuv tau ua tiav kuv cov ntawv pov thawj. Kos npe tias kuv nyiam qhov tshwm sim, kuv tus kheej. Kuv vam tias koj yuav pom nws muaj txiaj ntsig, ib yam nkaus. Zoo siab qoj ib ce!

Pom zoo: