Turinys:

Kettlebell skaitiklis (nepavyksta): 4 žingsniai
Kettlebell skaitiklis (nepavyksta): 4 žingsniai

Video: Kettlebell skaitiklis (nepavyksta): 4 žingsniai

Video: Kettlebell skaitiklis (nepavyksta): 4 žingsniai
Video: Раки от Которых Можно Сойти с Ума. Липинские Раки. 54 Рецепта!! N1 в Мире 2024, Liepa
Anonim
Kettlebell skaitiklis (nepavyksta)
Kettlebell skaitiklis (nepavyksta)

Istorija: Aš sukūriau šį projektą tik kaip eksperimentą.

Norėjau sužinoti, ar galėčiau naudoti akselerometro laisvo kritimo aptikimą, kad būtų galima suskaičiuoti virdulio svyravimus.

Dalys:

1* „Arduino nano“

1* MAX7219 7 segmentų LED ekrano modulis

1* ADXL345 akselerometras

2* 4k7 rezistoriai

2* 15 krypčių 0,1 colio lizdai - nano

1* 8 krypčių 0,1 colio lizdas - akselerometrui

1* 5 krypčių 0,1 colio kaiščio juostelė - ekranui

1* 2 krypčių varžtas - skirtas maitinimui

1* 27 x 34 Stripboard

1* 9 voltų akumuliatoriaus spaustukas

1* 9 voltų baterija (PP3)

1 žingsnis: Statyba:

Konstrukcija
Konstrukcija
Konstrukcija
Konstrukcija
Konstrukcija
Konstrukcija

Aš suprojektavau ir pastatiau nedidelę plokštę, skirtą laikyti nano, akselerometrą, rezistorius ir ekrano bei akumuliatoriaus jungtis.

Yra 12 laidų ir 20 takelių pertraukų (iš kurių 15 yra tarp 2 „Arduino nano“lizdų).

Aš prijungiau „nano“prie 2 jungčių, kad jas teisingai nustatyčiau, ir padėjau jas ant lentos.

Pirmiausia lituodavau kampinius kaiščius ir prieš lituodamas likusias jungčių kaištis patikrindavau, ar viskas gerai uždėta.

Tada lituodavau ekrano smeigtukuose ir akselerometro lizde, lituodama laikydavau abu savo vietoje su mėlynu lipnumu.

Tada lituodavau visus laidus ir 2 rezistorius.

Galiausiai įdėjau visas trasos pertraukas.

Atminkite, kad įprastai turėtumėte dirbti nuo mažiausio aukščio komponentų iki aukščiausio, laidai ir rezistoriai įeina pirmiausia, o lizdai - paskutiniai.

Aš tiesiog priklijavau plokštę, akumuliatorių ir ekraną prie virdulio, kad galėčiau išbandyti, tai nėra puikus sprendimas, bet tai buvo tik eksperimentas.

2 veiksmas: programinė įranga:

Redagavau visą programinę įrangą ir programavau „Arduino nano“naudodamas „Arduino IDE“.

Kodas buvo pakartotinio naudojimo pratimas, dauguma kodo yra „Sparkfun“bibliotekos demonstracinis kodas „SparkFun_ADXL345_Example.ino“.

Aš tiesiog pridėjau skaitiklio kodą ir iškirpiau keletą bitų, kurie nieko nedarė.

Ekrano įrašus tvarko „DigitLedDisplay“biblioteka.

Eksperimentiškai bandžiau priversti kodą veikti, naudodamas akselerometro pertrauką, o ne apklausą, bet nesėkmingai.

Atminkite, kad kodo faile yra bandymo parinktis, jei nepaisysite eilutės //#define test, skaitiklis bus padidintas du kartus paspaudžiant akselerometrą, o ne laisvai krintant.

3 žingsnis: mišrūs rezultatai:

Sujungęs viską kartu, aš padariau 10 svyravimų, kurių rezultatas buvo 20 ant skaitiklio. Bandžiau dar kartą ir gavau tą patį rezultatą.

Laisvą kritimą susiejau su virdulio skambučio kritimo faze, todėl pirmame parašytame kode skaičiavau kiekvieną laisvo kritimo įvykį, vėliau galvojau, kad sūpynių viršuje taip pat turi būti laisvo kritimo įvykis, todėl kodą keičiau taip, kad jis didėtų po kiekvienos sekundės laikas.

Pirmasis mano testas pakeitus kodą pavyko sėkmingai.

Vėlesnių bandymų rezultatai buvo nevienodi su skaičiumi, kuriame buvo nurodytas svyravimų skaičius įvairiomis sumomis.

Spėju, kad mano svyravimo technikos variacijos sukelia praleistus skaičius.

Mano išvada yra ta, kad laisvo kritimo aptikimas nėra pakankamai patikimas, kad būtų galima patikimai suskaičiuoti virdulio svyravimus.

Visi mano bandymo svyravimai buvo horizontalūs, o ne virš galvos, kaip kai kurie daro su virduliais.

4 žingsnis: nuorodos:

Naudojamos bibliotekos:

„SparkFun_ADXL345_Arduino_Library“https://github.com/sparkfun/SparkFun_ADXL345_Ardui…

„DigitLedDisplay“1.1.0 versija

Abu gauti 2019 m. Birželio 29 d.

Rekomenduojamas: